Passed
Push — master ( f16077...25d35d )
by Brian
06:40
created
vendor/ayecode/wp-ayecode-ui/includes/ayecode-ui-settings.php 3 patches
Spacing   +700 added lines, -700 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( 'AyeCode_UI_Settings' ) ) {
22
+if (!class_exists('AyeCode_UI_Settings')) {
23 23
 
24 24
 	/**
25 25
 	 * A Class to be able to change settings for Font Awesome.
@@ -99,27 +99,27 @@  discard block
 block discarded – undo
99 99
 		 * @return AyeCode_UI_Settings - Main instance.
100 100
 		 */
101 101
 		public static function instance() {
102
-			if ( ! isset( self::$instance ) && ! ( self::$instance instanceof AyeCode_UI_Settings ) ) {
102
+			if (!isset(self::$instance) && !(self::$instance instanceof AyeCode_UI_Settings)) {
103 103
 
104 104
 				self::$instance = new AyeCode_UI_Settings;
105 105
 
106
-				add_action( 'init', array( self::$instance, 'init' ) ); // set settings
106
+				add_action('init', array(self::$instance, 'init')); // set settings
107 107
 
108
-				if ( is_admin() ) {
109
-					add_action( 'admin_menu', array( self::$instance, 'menu_item' ) );
110
-					add_action( 'admin_init', array( self::$instance, 'register_settings' ) );
108
+				if (is_admin()) {
109
+					add_action('admin_menu', array(self::$instance, 'menu_item'));
110
+					add_action('admin_init', array(self::$instance, 'register_settings'));
111 111
 
112 112
 					// Maybe show example page
113
-					add_action( 'template_redirect', array( self::$instance,'maybe_show_examples' ) );
113
+					add_action('template_redirect', array(self::$instance, 'maybe_show_examples'));
114 114
 
115
-					if ( defined( 'BLOCKSTRAP_VERSION' ) ) {
116
-						add_filter( 'sd_aui_colors', array( self::$instance,'sd_aui_colors' ), 10, 3 );
115
+					if (defined('BLOCKSTRAP_VERSION')) {
116
+						add_filter('sd_aui_colors', array(self::$instance, 'sd_aui_colors'), 10, 3);
117 117
 					}
118 118
 				}
119 119
 
120
-				add_action( 'customize_register', array( self::$instance, 'customizer_settings' ));
120
+				add_action('customize_register', array(self::$instance, 'customizer_settings'));
121 121
 
122
-				do_action( 'ayecode_ui_settings_loaded' );
122
+				do_action('ayecode_ui_settings_loaded');
123 123
 			}
124 124
 
125 125
 			return self::$instance;
@@ -134,13 +134,13 @@  discard block
 block discarded – undo
134 134
 		 *
135 135
 		 * @return mixed
136 136
 		 */
137
-		public function sd_aui_colors( $theme_colors, $include_outlines, $include_branding ){
137
+		public function sd_aui_colors($theme_colors, $include_outlines, $include_branding) {
138 138
 
139 139
 
140 140
 			$setting = wp_get_global_settings();
141 141
 
142
-			if(!empty($setting['color']['palette']['custom'])){
143
-				foreach($setting['color']['palette']['custom'] as $color){
142
+			if (!empty($setting['color']['palette']['custom'])) {
143
+				foreach ($setting['color']['palette']['custom'] as $color) {
144 144
 					$theme_colors[$color['slug']] = esc_attr($color['name']);
145 145
 				}
146 146
 			}
@@ -151,81 +151,81 @@  discard block
 block discarded – undo
151 151
 		/**
152 152
 		 * Setup some constants.
153 153
 		 */
154
-		public function constants(){
155
-			define( 'AUI_PRIMARY_COLOR_ORIGINAL', "#1e73be" );
156
-			define( 'AUI_SECONDARY_COLOR_ORIGINAL', '#6c757d' );
157
-			define( 'AUI_INFO_COLOR_ORIGINAL', '#17a2b8' );
158
-			define( 'AUI_WARNING_COLOR_ORIGINAL', '#ffc107' );
159
-			define( 'AUI_DANGER_COLOR_ORIGINAL', '#dc3545' );
160
-			define( 'AUI_SUCCESS_COLOR_ORIGINAL', '#44c553' );
161
-			define( 'AUI_LIGHT_COLOR_ORIGINAL', '#f8f9fa' );
162
-			define( 'AUI_DARK_COLOR_ORIGINAL', '#343a40' );
163
-			define( 'AUI_WHITE_COLOR_ORIGINAL', '#fff' );
164
-			define( 'AUI_PURPLE_COLOR_ORIGINAL', '#ad6edd' );
165
-			define( 'AUI_SALMON_COLOR_ORIGINAL', '#ff977a' );
166
-			define( 'AUI_CYAN_COLOR_ORIGINAL', '#35bdff' );
167
-			define( 'AUI_GRAY_COLOR_ORIGINAL', '#ced4da' );
168
-			define( 'AUI_INDIGO_COLOR_ORIGINAL', '#502c6c' );
169
-			define( 'AUI_ORANGE_COLOR_ORIGINAL', '#orange' );
170
-			define( 'AUI_BLACK_COLOR_ORIGINAL', '#000' );
154
+		public function constants() {
155
+			define('AUI_PRIMARY_COLOR_ORIGINAL', "#1e73be");
156
+			define('AUI_SECONDARY_COLOR_ORIGINAL', '#6c757d');
157
+			define('AUI_INFO_COLOR_ORIGINAL', '#17a2b8');
158
+			define('AUI_WARNING_COLOR_ORIGINAL', '#ffc107');
159
+			define('AUI_DANGER_COLOR_ORIGINAL', '#dc3545');
160
+			define('AUI_SUCCESS_COLOR_ORIGINAL', '#44c553');
161
+			define('AUI_LIGHT_COLOR_ORIGINAL', '#f8f9fa');
162
+			define('AUI_DARK_COLOR_ORIGINAL', '#343a40');
163
+			define('AUI_WHITE_COLOR_ORIGINAL', '#fff');
164
+			define('AUI_PURPLE_COLOR_ORIGINAL', '#ad6edd');
165
+			define('AUI_SALMON_COLOR_ORIGINAL', '#ff977a');
166
+			define('AUI_CYAN_COLOR_ORIGINAL', '#35bdff');
167
+			define('AUI_GRAY_COLOR_ORIGINAL', '#ced4da');
168
+			define('AUI_INDIGO_COLOR_ORIGINAL', '#502c6c');
169
+			define('AUI_ORANGE_COLOR_ORIGINAL', '#orange');
170
+			define('AUI_BLACK_COLOR_ORIGINAL', '#000');
171 171
 
172
-			if ( ! defined( 'AUI_PRIMARY_COLOR' ) ) {
173
-				define( 'AUI_PRIMARY_COLOR', AUI_PRIMARY_COLOR_ORIGINAL );
172
+			if (!defined('AUI_PRIMARY_COLOR')) {
173
+				define('AUI_PRIMARY_COLOR', AUI_PRIMARY_COLOR_ORIGINAL);
174 174
 			}
175
-			if ( ! defined( 'AUI_SECONDARY_COLOR' ) ) {
176
-				define( 'AUI_SECONDARY_COLOR', AUI_SECONDARY_COLOR_ORIGINAL );
175
+			if (!defined('AUI_SECONDARY_COLOR')) {
176
+				define('AUI_SECONDARY_COLOR', AUI_SECONDARY_COLOR_ORIGINAL);
177 177
 			}
178
-			if ( ! defined( 'AUI_INFO_COLOR' ) ) {
179
-				define( 'AUI_INFO_COLOR', AUI_INFO_COLOR_ORIGINAL );
178
+			if (!defined('AUI_INFO_COLOR')) {
179
+				define('AUI_INFO_COLOR', AUI_INFO_COLOR_ORIGINAL);
180 180
 			}
181
-			if ( ! defined( 'AUI_WARNING_COLOR' ) ) {
182
-				define( 'AUI_WARNING_COLOR', AUI_WARNING_COLOR_ORIGINAL );
181
+			if (!defined('AUI_WARNING_COLOR')) {
182
+				define('AUI_WARNING_COLOR', AUI_WARNING_COLOR_ORIGINAL);
183 183
 			}
184
-			if ( ! defined( 'AUI_DANGER_COLOR' ) ) {
185
-				define( 'AUI_DANGER_COLOR', AUI_DANGER_COLOR_ORIGINAL );
184
+			if (!defined('AUI_DANGER_COLOR')) {
185
+				define('AUI_DANGER_COLOR', AUI_DANGER_COLOR_ORIGINAL);
186 186
 			}
187
-			if ( ! defined( 'AUI_SUCCESS_COLOR' ) ) {
188
-				define( 'AUI_SUCCESS_COLOR', AUI_SUCCESS_COLOR_ORIGINAL );
187
+			if (!defined('AUI_SUCCESS_COLOR')) {
188
+				define('AUI_SUCCESS_COLOR', AUI_SUCCESS_COLOR_ORIGINAL);
189 189
 			}
190
-			if ( ! defined( 'AUI_LIGHT_COLOR' ) ) {
191
-				define( 'AUI_LIGHT_COLOR', AUI_LIGHT_COLOR_ORIGINAL );
190
+			if (!defined('AUI_LIGHT_COLOR')) {
191
+				define('AUI_LIGHT_COLOR', AUI_LIGHT_COLOR_ORIGINAL);
192 192
 			}
193
-			if ( ! defined( 'AUI_DARK_COLOR' ) ) {
194
-				define( 'AUI_DARK_COLOR', AUI_DARK_COLOR_ORIGINAL );
193
+			if (!defined('AUI_DARK_COLOR')) {
194
+				define('AUI_DARK_COLOR', AUI_DARK_COLOR_ORIGINAL);
195 195
 			}
196
-			if ( ! defined( 'AUI_WHITE_COLOR' ) ) {
197
-				define( 'AUI_WHITE_COLOR', AUI_WHITE_COLOR_ORIGINAL );
196
+			if (!defined('AUI_WHITE_COLOR')) {
197
+				define('AUI_WHITE_COLOR', AUI_WHITE_COLOR_ORIGINAL);
198 198
 			}
199
-			if ( ! defined( 'AUI_PURPLE_COLOR' ) ) {
200
-				define( 'AUI_PURPLE_COLOR', AUI_PURPLE_COLOR_ORIGINAL );
199
+			if (!defined('AUI_PURPLE_COLOR')) {
200
+				define('AUI_PURPLE_COLOR', AUI_PURPLE_COLOR_ORIGINAL);
201 201
 			}
202
-			if ( ! defined( 'AUI_SALMON_COLOR' ) ) {
203
-				define( 'AUI_SALMON_COLOR', AUI_SALMON_COLOR_ORIGINAL );
202
+			if (!defined('AUI_SALMON_COLOR')) {
203
+				define('AUI_SALMON_COLOR', AUI_SALMON_COLOR_ORIGINAL);
204 204
 			}
205
-			if ( ! defined( 'AUI_CYAN_COLOR' ) ) {
206
-				define( 'AUI_CYAN_COLOR', AUI_CYAN_COLOR_ORIGINAL );
205
+			if (!defined('AUI_CYAN_COLOR')) {
206
+				define('AUI_CYAN_COLOR', AUI_CYAN_COLOR_ORIGINAL);
207 207
 			}
208
-			if ( ! defined( 'AUI_GRAY_COLOR' ) ) {
209
-				define( 'AUI_GRAY_COLOR', AUI_GRAY_COLOR_ORIGINAL );
208
+			if (!defined('AUI_GRAY_COLOR')) {
209
+				define('AUI_GRAY_COLOR', AUI_GRAY_COLOR_ORIGINAL);
210 210
 			}
211
-			if ( ! defined( 'AUI_INDIGO_COLOR' ) ) {
212
-				define( 'AUI_INDIGO_COLOR', AUI_INDIGO_COLOR_ORIGINAL );
211
+			if (!defined('AUI_INDIGO_COLOR')) {
212
+				define('AUI_INDIGO_COLOR', AUI_INDIGO_COLOR_ORIGINAL);
213 213
 			}
214
-			if ( ! defined( 'AUI_ORANGE_COLOR' ) ) {
215
-				define( 'AUI_ORANGE_COLOR', AUI_ORANGE_COLOR_ORIGINAL );
214
+			if (!defined('AUI_ORANGE_COLOR')) {
215
+				define('AUI_ORANGE_COLOR', AUI_ORANGE_COLOR_ORIGINAL);
216 216
 			}
217
-			if ( ! defined( 'AUI_BLACK_COLOR' ) ) {
218
-				define( 'AUI_BLACK_COLOR', AUI_BLACK_COLOR_ORIGINAL );
217
+			if (!defined('AUI_BLACK_COLOR')) {
218
+				define('AUI_BLACK_COLOR', AUI_BLACK_COLOR_ORIGINAL);
219 219
 			}
220 220
 
221 221
 		}
222 222
 
223
-		public static function get_colors( $original = false){
223
+		public static function get_colors($original = false) {
224 224
 
225
-			if ( ! defined( 'AUI_PRIMARY_COLOR' ) ) {
225
+			if (!defined('AUI_PRIMARY_COLOR')) {
226 226
 				return array();
227 227
 			}
228
-			if ( $original ) {
228
+			if ($original) {
229 229
 				return array(
230 230
 					'primary'   => AUI_PRIMARY_COLOR_ORIGINAL,
231 231
 					'secondary' => AUI_SECONDARY_COLOR_ORIGINAL,
@@ -273,7 +273,7 @@  discard block
 block discarded – undo
273 273
 		 *
274 274
 		 * @return mixed
275 275
 		 */
276
-		public function add_bs5_admin_body_class( $classes = '' ) {
276
+		public function add_bs5_admin_body_class($classes = '') {
277 277
 			$classes .= ' aui_bs5';
278 278
 
279 279
 			return $classes;
@@ -286,7 +286,7 @@  discard block
 block discarded – undo
286 286
 		 *
287 287
 		 * @return mixed
288 288
 		 */
289
-		public function add_bs5_body_class( $classes ) {
289
+		public function add_bs5_body_class($classes) {
290 290
 			$classes[] = 'aui_bs5';
291 291
 
292 292
 			return $classes;
@@ -299,12 +299,12 @@  discard block
 block discarded – undo
299 299
             global $aui_bs5;
300 300
 
301 301
 			// Maybe fix settings
302
-			if ( ! empty( $_REQUEST['aui-fix-admin'] ) && !empty($_REQUEST['nonce']) && wp_verify_nonce( $_REQUEST['nonce'], "aui-fix-admin" ) ) {
303
-				$db_settings = get_option( 'ayecode-ui-settings' );
304
-				if ( ! empty( $db_settings ) ) {
302
+			if (!empty($_REQUEST['aui-fix-admin']) && !empty($_REQUEST['nonce']) && wp_verify_nonce($_REQUEST['nonce'], "aui-fix-admin")) {
303
+				$db_settings = get_option('ayecode-ui-settings');
304
+				if (!empty($db_settings)) {
305 305
 					$db_settings['css_backend'] = 'compatibility';
306 306
 					$db_settings['js_backend'] = 'core-popper';
307
-					update_option( 'ayecode-ui-settings', $db_settings );
307
+					update_option('ayecode-ui-settings', $db_settings);
308 308
 					wp_safe_redirect(admin_url("options-general.php?page=ayecode-ui-settings&updated=true"));
309 309
 				}
310 310
 			}
@@ -316,10 +316,10 @@  discard block
 block discarded – undo
316 316
             // define the version
317 317
 			$aui_bs5 = $this->settings['bs_ver'] === '5';
318 318
 
319
-			if ( $aui_bs5 ) {
320
-				include_once( dirname( __FILE__ ) . '/inc/bs-conversion.php' );
321
-				add_filter( 'admin_body_class', array( $this, 'add_bs5_admin_body_class' ), 99, 1 );
322
-				add_filter( 'body_class', array( $this, 'add_bs5_body_class' ) );
319
+			if ($aui_bs5) {
320
+				include_once(dirname(__FILE__) . '/inc/bs-conversion.php');
321
+				add_filter('admin_body_class', array($this, 'add_bs5_admin_body_class'), 99, 1);
322
+				add_filter('body_class', array($this, 'add_bs5_body_class'));
323 323
 			}
324 324
 
325 325
 			/**
@@ -327,32 +327,32 @@  discard block
 block discarded – undo
327 327
 			 *
328 328
 			 * We load super early in case there is a theme version that might change the colors
329 329
 			 */
330
-			if ( $this->settings['css'] ) {
330
+			if ($this->settings['css']) {
331 331
 				$priority = $this->is_bs3_compat() ? 100 : 1;
332 332
                 $priority = $aui_bs5 ? 10 : $priority;
333
-				add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_style' ), $priority );
333
+				add_action('wp_enqueue_scripts', array($this, 'enqueue_style'), $priority);
334 334
 			}
335
-			if ( $this->settings['css_backend'] && $this->load_admin_scripts() ) {
336
-				add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_style' ), 1 );
335
+			if ($this->settings['css_backend'] && $this->load_admin_scripts()) {
336
+				add_action('admin_enqueue_scripts', array($this, 'enqueue_style'), 1);
337 337
 			}
338 338
 
339 339
 			// maybe load JS
340
-			if ( $this->settings['js'] ) {
340
+			if ($this->settings['js']) {
341 341
 				$priority = $this->is_bs3_compat() ? 100 : 1;
342
-				add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), $priority );
342
+				add_action('wp_enqueue_scripts', array($this, 'enqueue_scripts'), $priority);
343 343
 			}
344
-			if ( $this->settings['js_backend'] && $this->load_admin_scripts() ) {
345
-				add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 1 );
344
+			if ($this->settings['js_backend'] && $this->load_admin_scripts()) {
345
+				add_action('admin_enqueue_scripts', array($this, 'enqueue_scripts'), 1);
346 346
 			}
347 347
 
348 348
 			// Maybe set the HTML font size
349
-			if ( $this->settings['html_font_size'] ) {
350
-				add_action( 'wp_footer', array( $this, 'html_font_size' ), 10 );
349
+			if ($this->settings['html_font_size']) {
350
+				add_action('wp_footer', array($this, 'html_font_size'), 10);
351 351
 			}
352 352
 
353 353
 			// Maybe show backend style error
354
-			if( $this->settings['css_backend'] != 'compatibility' || $this->settings['js_backend'] != 'core-popper' ){
355
-				add_action( 'admin_notices', array( $this, 'show_admin_style_notice' ) );
354
+			if ($this->settings['css_backend'] != 'compatibility' || $this->settings['js_backend'] != 'core-popper') {
355
+				add_action('admin_notices', array($this, 'show_admin_style_notice'));
356 356
 			}
357 357
 
358 358
 		}
@@ -360,11 +360,11 @@  discard block
 block discarded – undo
360 360
 		/**
361 361
 		 * Show admin notice if backend scripts not loaded.
362 362
 		 */
363
-		public function show_admin_style_notice(){
364
-			$fix_url = admin_url("options-general.php?page=ayecode-ui-settings&aui-fix-admin=true&nonce=".wp_create_nonce('aui-fix-admin'));
365
-			$button = '<a href="'.esc_url($fix_url).'" class="button-primary">Fix Now</a>';
366
-			$message = __( '<b>Style Issue:</b> AyeCode UI is disable or set wrong.')." " .$button;
367
-			echo '<div class="notice notice-error aui-settings-error-notice"><p>'.$message.'</p></div>';
363
+		public function show_admin_style_notice() {
364
+			$fix_url = admin_url("options-general.php?page=ayecode-ui-settings&aui-fix-admin=true&nonce=" . wp_create_nonce('aui-fix-admin'));
365
+			$button = '<a href="' . esc_url($fix_url) . '" class="button-primary">Fix Now</a>';
366
+			$message = __('<b>Style Issue:</b> AyeCode UI is disable or set wrong.') . " " . $button;
367
+			echo '<div class="notice notice-error aui-settings-error-notice"><p>' . $message . '</p></div>';
368 368
 		}
369 369
 
370 370
 		/**
@@ -372,14 +372,14 @@  discard block
 block discarded – undo
372 372
 		 *
373 373
 		 * @return bool
374 374
 		 */
375
-		public function load_admin_scripts(){
375
+		public function load_admin_scripts() {
376 376
 			$result = true;
377 377
 
378 378
 			// check if specifically disabled
379
-			if(!empty($this->settings['disable_admin'])){
380
-				$url_parts = explode("\n",$this->settings['disable_admin']);
381
-				foreach($url_parts as $part){
382
-					if( strpos($_SERVER['REQUEST_URI'], trim($part)) !== false ){
379
+			if (!empty($this->settings['disable_admin'])) {
380
+				$url_parts = explode("\n", $this->settings['disable_admin']);
381
+				foreach ($url_parts as $part) {
382
+					if (strpos($_SERVER['REQUEST_URI'], trim($part)) !== false) {
383 383
 						return false; // return early, no point checking further
384 384
 					}
385 385
 				}
@@ -391,9 +391,9 @@  discard block
 block discarded – undo
391 391
 		/**
392 392
 		 * Add a html font size to the footer.
393 393
 		 */
394
-		public function html_font_size(){
394
+		public function html_font_size() {
395 395
 			$this->settings = $this->get_settings();
396
-			echo "<style>html{font-size:".absint($this->settings['html_font_size'])."px;}</style>";
396
+			echo "<style>html{font-size:" . absint($this->settings['html_font_size']) . "px;}</style>";
397 397
 		}
398 398
 
399 399
 		/**
@@ -401,11 +401,11 @@  discard block
 block discarded – undo
401 401
 		 *
402 402
 		 * @return bool
403 403
 		 */
404
-		public function is_aui_screen(){
404
+		public function is_aui_screen() {
405 405
 //			echo '###';exit;
406 406
 			$load = false;
407 407
 			// check if we should load or not
408
-			if ( is_admin() ) {
408
+			if (is_admin()) {
409 409
 				// Only enable on set pages
410 410
 				$aui_screens = array(
411 411
 					'page',
@@ -417,26 +417,26 @@  discard block
 block discarded – undo
417 417
 					'ayecode-ui-settings',
418 418
 					'site-editor'
419 419
 				);
420
-				$screen_ids = apply_filters( 'aui_screen_ids', $aui_screens );
420
+				$screen_ids = apply_filters('aui_screen_ids', $aui_screens);
421 421
 
422 422
 				$screen = get_current_screen();
423 423
 
424 424
 //				echo '###'.$screen->id;
425 425
 
426 426
 				// check if we are on a AUI screen
427
-				if ( $screen && in_array( $screen->id, $screen_ids ) ) {
427
+				if ($screen && in_array($screen->id, $screen_ids)) {
428 428
 					$load = true;
429 429
 				}
430 430
 
431 431
 				//load for widget previews in WP 5.8
432
-				if( !empty($_REQUEST['legacy-widget-preview'])){
432
+				if (!empty($_REQUEST['legacy-widget-preview'])) {
433 433
 					$load = true;
434 434
 				}
435 435
 			}
436 436
 
437 437
 
438 438
 
439
-			return apply_filters( 'aui_load_on_admin' , $load );
439
+			return apply_filters('aui_load_on_admin', $load);
440 440
 		}
441 441
 
442 442
 		/**
@@ -445,7 +445,7 @@  discard block
 block discarded – undo
445 445
 		 * @return bool
446 446
 		 */
447 447
 		public static function is_block_theme() {
448
-			if ( function_exists( 'wp_is_block_theme' && wp_is_block_theme() ) ) {
448
+			if (function_exists('wp_is_block_theme' && wp_is_block_theme())) {
449 449
 				return true;
450 450
 			}
451 451
 
@@ -460,40 +460,40 @@  discard block
 block discarded – undo
460 460
 
461 461
             $load_fse = false;
462 462
 
463
-			if( is_admin() && !$this->is_aui_screen()){
463
+			if (is_admin() && !$this->is_aui_screen()) {
464 464
 				// don't add wp-admin scripts if not requested to
465
-			}else{
465
+			} else {
466 466
 				$css_setting = current_action() == 'wp_enqueue_scripts' ? 'css' : 'css_backend';
467 467
 
468
-				$rtl = is_rtl() && ! $aui_bs5 ? '-rtl' : '';
468
+				$rtl = is_rtl() && !$aui_bs5 ? '-rtl' : '';
469 469
 
470 470
                 $bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : '';
471 471
 
472
-				if($this->settings[$css_setting]){
473
-					$compatibility = $this->settings[$css_setting]=='core' ? false : true;
474
-					$url = $this->settings[$css_setting]=='core' ? $this->url.'assets'.$bs_ver.'/css/ayecode-ui'.$rtl.'.css' : $this->url.'assets'.$bs_ver.'/css/ayecode-ui-compatibility'.$rtl.'.css';
472
+				if ($this->settings[$css_setting]) {
473
+					$compatibility = $this->settings[$css_setting] == 'core' ? false : true;
474
+					$url = $this->settings[$css_setting] == 'core' ? $this->url . 'assets' . $bs_ver . '/css/ayecode-ui' . $rtl . '.css' : $this->url . 'assets' . $bs_ver . '/css/ayecode-ui-compatibility' . $rtl . '.css';
475 475
 
476 476
 
477 477
 
478
-					wp_register_style( 'ayecode-ui', $url, array(), $this->version );
479
-					wp_enqueue_style( 'ayecode-ui' );
478
+					wp_register_style('ayecode-ui', $url, array(), $this->version);
479
+					wp_enqueue_style('ayecode-ui');
480 480
 
481
-					$current_screen = function_exists('get_current_screen' ) ? get_current_screen() : '';
481
+					$current_screen = function_exists('get_current_screen') ? get_current_screen() : '';
482 482
 
483 483
 //					if ( is_admin() && !empty($_REQUEST['postType']) ) {
484
-					if ( is_admin() && ( !empty($_REQUEST['postType']) || $current_screen->is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) )  ) {
485
-						$url = $this->url.'assets'.$bs_ver.'/css/ayecode-ui-fse.css';
486
-						wp_register_style( 'ayecode-ui-fse', $url, array(), $this->version );
487
-						wp_enqueue_style( 'ayecode-ui-fse' );
484
+					if (is_admin() && (!empty($_REQUEST['postType']) || $current_screen->is_block_editor()) && (defined('BLOCKSTRAP_VERSION') || defined('AUI_FSE'))) {
485
+						$url = $this->url . 'assets' . $bs_ver . '/css/ayecode-ui-fse.css';
486
+						wp_register_style('ayecode-ui-fse', $url, array(), $this->version);
487
+						wp_enqueue_style('ayecode-ui-fse');
488 488
 						$load_fse = true;
489 489
 					}
490 490
 
491 491
 
492 492
 					// flatpickr
493
-					wp_register_style( 'flatpickr', $this->url.'assets'.$bs_ver.'/css/flatpickr.min.css', array(), $this->version );
493
+					wp_register_style('flatpickr', $this->url . 'assets' . $bs_ver . '/css/flatpickr.min.css', array(), $this->version);
494 494
 
495 495
 					// fix some wp-admin issues
496
-					if(is_admin()){
496
+					if (is_admin()) {
497 497
 						$custom_css = "
498 498
                 body{
499 499
                     background-color: #f1f1f1;
@@ -546,14 +546,14 @@  discard block
 block discarded – undo
546 546
 						    padding: 0;
547 547
 						}
548 548
 					";
549
-						wp_add_inline_style( 'ayecode-ui', $custom_css );
549
+						wp_add_inline_style('ayecode-ui', $custom_css);
550 550
 					}
551 551
 
552 552
 					// custom changes
553
-					if ( $load_fse ) {
554
-						wp_add_inline_style( 'ayecode-ui-fse', self::custom_css($compatibility) );
555
-					}else{
556
-						wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) );
553
+					if ($load_fse) {
554
+						wp_add_inline_style('ayecode-ui-fse', self::custom_css($compatibility));
555
+					} else {
556
+						wp_add_inline_style('ayecode-ui', self::custom_css($compatibility));
557 557
 
558 558
 					}
559 559
 
@@ -574,10 +574,10 @@  discard block
 block discarded – undo
574 574
 			$flatpickr_locale = self::flatpickr_locale();
575 575
 
576 576
 			ob_start();
577
-			if ( $aui_bs5 ) {
578
-				include_once( dirname( __FILE__ ) . '/inc/bs5-js.php' );
579
-			}else{
580
-				include_once( dirname( __FILE__ ) . '/inc/bs4-js.php' );
577
+			if ($aui_bs5) {
578
+				include_once(dirname(__FILE__) . '/inc/bs5-js.php');
579
+			} else {
580
+				include_once(dirname(__FILE__) . '/inc/bs4-js.php');
581 581
             }
582 582
 
583 583
 			$output = ob_get_clean();
@@ -585,10 +585,10 @@  discard block
 block discarded – undo
585 585
 			/*
586 586
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
587 587
 			 */
588
-			return str_replace( array(
588
+			return str_replace(array(
589 589
 				'<script>',
590 590
 				'</script>'
591
-			), '', self::minify_js($output) );
591
+			), '', self::minify_js($output));
592 592
 		}
593 593
 
594 594
 
@@ -602,13 +602,13 @@  discard block
 block discarded – undo
602 602
 			ob_start();
603 603
 			?>
604 604
             <script>
605
-				<?php if( defined( 'FUSION_BUILDER_VERSION' ) ){ ?>
605
+				<?php if (defined('FUSION_BUILDER_VERSION')) { ?>
606 606
                 /* With Avada builder */
607 607
 
608 608
 				<?php } ?>
609 609
             </script>
610 610
 			<?php
611
-			return str_replace( array(
611
+			return str_replace(array(
612 612
 				'<script>',
613 613
 				'</script>'
614 614
 			), '', ob_get_clean());
@@ -619,7 +619,7 @@  discard block
 block discarded – undo
619 619
 		 *
620 620
 		 * If this remains small then its best to use this than to add another JS file.
621 621
 		 */
622
-		public function inline_script_file_browser(){
622
+		public function inline_script_file_browser() {
623 623
 			ob_start();
624 624
 			?>
625 625
             <script>
@@ -634,10 +634,10 @@  discard block
 block discarded – undo
634 634
 			/*
635 635
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
636 636
 			 */
637
-			return str_replace( array(
637
+			return str_replace(array(
638 638
 				'<script>',
639 639
 				'</script>'
640
-			), '', $output );
640
+			), '', $output);
641 641
 		}
642 642
 
643 643
 		/**
@@ -645,59 +645,59 @@  discard block
 block discarded – undo
645 645
 		 */
646 646
 		public function enqueue_scripts() {
647 647
 
648
-			if( is_admin() && !$this->is_aui_screen()){
648
+			if (is_admin() && !$this->is_aui_screen()) {
649 649
 				// don't add wp-admin scripts if not requested to
650
-			}else {
650
+			} else {
651 651
 
652 652
 				$js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend';
653 653
 
654 654
 				$bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : '';
655 655
 
656 656
 				// select2
657
-				wp_register_script( 'select2', $this->url . 'assets/js/select2.min.js', array( 'jquery' ), $this->select2_version );
657
+				wp_register_script('select2', $this->url . 'assets/js/select2.min.js', array('jquery'), $this->select2_version);
658 658
 
659 659
 				// flatpickr
660
-				wp_register_script( 'flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->version );
660
+				wp_register_script('flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->version);
661 661
 
662 662
 				// iconpicker
663
-				if ( defined( 'FAS_ICONPICKER_JS_URL' ) ) {
664
-					wp_register_script( 'iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version );
665
-				}else{
666
-					wp_register_script( 'iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version );
663
+				if (defined('FAS_ICONPICKER_JS_URL')) {
664
+					wp_register_script('iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version);
665
+				} else {
666
+					wp_register_script('iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version);
667 667
 				}
668 668
 
669 669
 				// Bootstrap file browser
670
-				wp_register_script( 'aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array( 'jquery' ), $this->select2_version );
671
-				wp_add_inline_script( 'aui-custom-file-input', $this->inline_script_file_browser() );
670
+				wp_register_script('aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array('jquery'), $this->select2_version);
671
+				wp_add_inline_script('aui-custom-file-input', $this->inline_script_file_browser());
672 672
 
673 673
 				$load_inline = false;
674 674
 
675
-				if ( $this->settings[ $js_setting ] == 'core-popper' ) {
675
+				if ($this->settings[$js_setting] == 'core-popper') {
676 676
 					// Bootstrap bundle
677 677
 					$url = $this->url . 'assets' . $bs_ver . '/js/bootstrap.bundle.min.js';
678
-					wp_register_script( 'bootstrap-js-bundle', $url, array(
678
+					wp_register_script('bootstrap-js-bundle', $url, array(
679 679
 						'select2',
680 680
 						'jquery'
681
-					), $this->version, $this->is_bs3_compat() );
681
+					), $this->version, $this->is_bs3_compat());
682 682
 					// if in admin then add to footer for compatibility.
683
-					is_admin() ? wp_enqueue_script( 'bootstrap-js-bundle', '', null, null, true ) : wp_enqueue_script( 'bootstrap-js-bundle' );
683
+					is_admin() ? wp_enqueue_script('bootstrap-js-bundle', '', null, null, true) : wp_enqueue_script('bootstrap-js-bundle');
684 684
 					$script = $this->inline_script();
685
-					wp_add_inline_script( 'bootstrap-js-bundle', $script );
686
-				} elseif ( $this->settings[ $js_setting ] == 'popper' ) {
685
+					wp_add_inline_script('bootstrap-js-bundle', $script);
686
+				} elseif ($this->settings[$js_setting] == 'popper') {
687 687
 					$url = $this->url . 'assets/js/popper.min.js'; //@todo we need to update this to bs5
688
-					wp_register_script( 'bootstrap-js-popper', $url, array( 'select2', 'jquery' ), $this->version );
689
-					wp_enqueue_script( 'bootstrap-js-popper' );
688
+					wp_register_script('bootstrap-js-popper', $url, array('select2', 'jquery'), $this->version);
689
+					wp_enqueue_script('bootstrap-js-popper');
690 690
 					$load_inline = true;
691 691
 				} else {
692 692
 					$load_inline = true;
693 693
 				}
694 694
 
695 695
 				// Load needed inline scripts by faking the loading of a script if the main script is not being loaded
696
-				if ( $load_inline ) {
697
-					wp_register_script( 'bootstrap-dummy', '', array( 'select2', 'jquery' ) );
698
-					wp_enqueue_script( 'bootstrap-dummy' );
696
+				if ($load_inline) {
697
+					wp_register_script('bootstrap-dummy', '', array('select2', 'jquery'));
698
+					wp_enqueue_script('bootstrap-dummy');
699 699
 					$script = $this->inline_script();
700
-					wp_add_inline_script( 'bootstrap-dummy', $script );
700
+					wp_add_inline_script('bootstrap-dummy', $script);
701 701
 				}
702 702
 			}
703 703
 
@@ -706,17 +706,17 @@  discard block
 block discarded – undo
706 706
 		/**
707 707
 		 * Enqueue flatpickr if called.
708 708
 		 */
709
-		public function enqueue_flatpickr(){
710
-			wp_enqueue_style( 'flatpickr' );
711
-			wp_enqueue_script( 'flatpickr' );
709
+		public function enqueue_flatpickr() {
710
+			wp_enqueue_style('flatpickr');
711
+			wp_enqueue_script('flatpickr');
712 712
 		}
713 713
 
714 714
 		/**
715 715
 		 * Enqueue iconpicker if called.
716 716
 		 */
717
-		public function enqueue_iconpicker(){
718
-			wp_enqueue_style( 'iconpicker' );
719
-			wp_enqueue_script( 'iconpicker' );
717
+		public function enqueue_iconpicker() {
718
+			wp_enqueue_style('iconpicker');
719
+			wp_enqueue_script('iconpicker');
720 720
 		}
721 721
 
722 722
 		/**
@@ -725,19 +725,19 @@  discard block
 block discarded – undo
725 725
 		 * @return string
726 726
 		 */
727 727
 		public function get_url() {
728
-			$content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) );
729
-			$content_url = untrailingslashit( WP_CONTENT_URL );
728
+			$content_dir = wp_normalize_path(untrailingslashit(WP_CONTENT_DIR));
729
+			$content_url = untrailingslashit(WP_CONTENT_URL);
730 730
 
731 731
 			// Replace http:// to https://.
732
-			if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) {
733
-				$content_url = str_replace( 'http://', 'https://', $content_url );
732
+			if (strpos($content_url, 'http://') === 0 && strpos(plugins_url(), 'https://') === 0) {
733
+				$content_url = str_replace('http://', 'https://', $content_url);
734 734
 			}
735 735
 
736 736
 			// Check if we are inside a plugin
737
-			$file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) );
738
-			$url = str_replace( $content_dir, $content_url, $file_dir );
737
+			$file_dir = str_replace("/includes", "", wp_normalize_path(dirname(__FILE__)));
738
+			$url = str_replace($content_dir, $content_url, $file_dir);
739 739
 
740
-			return trailingslashit( $url );
740
+			return trailingslashit($url);
741 741
 		}
742 742
 
743 743
 		/**
@@ -749,15 +749,15 @@  discard block
 block discarded – undo
749 749
 
750 750
 			$url = '';
751 751
 			// check if we are inside a plugin
752
-			$file_dir = str_replace( "/includes","", wp_normalize_path( dirname( __FILE__ ) ) );
752
+			$file_dir = str_replace("/includes", "", wp_normalize_path(dirname(__FILE__)));
753 753
 
754 754
 			// add check in-case user has changed wp-content dir name.
755 755
 			$wp_content_folder_name = basename(WP_CONTENT_DIR);
756
-			$dir_parts = explode("/$wp_content_folder_name/",$file_dir);
757
-			$url_parts = explode("/$wp_content_folder_name/",plugins_url());
756
+			$dir_parts = explode("/$wp_content_folder_name/", $file_dir);
757
+			$url_parts = explode("/$wp_content_folder_name/", plugins_url());
758 758
 
759
-			if(!empty($url_parts[0]) && !empty($dir_parts[1])){
760
-				$url = trailingslashit( $url_parts[0]."/$wp_content_folder_name/".$dir_parts[1] );
759
+			if (!empty($url_parts[0]) && !empty($dir_parts[1])) {
760
+				$url = trailingslashit($url_parts[0] . "/$wp_content_folder_name/" . $dir_parts[1]);
761 761
 			}
762 762
 
763 763
 			return $url;
@@ -767,7 +767,7 @@  discard block
 block discarded – undo
767 767
 		 * Register the database settings with WordPress.
768 768
 		 */
769 769
 		public function register_settings() {
770
-			register_setting( 'ayecode-ui-settings', 'ayecode-ui-settings' );
770
+			register_setting('ayecode-ui-settings', 'ayecode-ui-settings');
771 771
 		}
772 772
 
773 773
 		/**
@@ -776,10 +776,10 @@  discard block
 block discarded – undo
776 776
 		 */
777 777
 		public function menu_item() {
778 778
 			$menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
779
-			call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array(
779
+			call_user_func($menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array(
780 780
 				$this,
781 781
 				'settings_page'
782
-			) );
782
+			));
783 783
 		}
784 784
 
785 785
 		/**
@@ -787,7 +787,7 @@  discard block
 block discarded – undo
787 787
 		 *
788 788
 		 * @return array
789 789
 		 */
790
-		public function theme_js_settings(){
790
+		public function theme_js_settings() {
791 791
 			return array(
792 792
 				'ayetheme' => 'popper',
793 793
 				'listimia' => 'required',
@@ -803,24 +803,24 @@  discard block
 block discarded – undo
803 803
 		 */
804 804
 		public function get_settings() {
805 805
 
806
-			$db_settings = get_option( 'ayecode-ui-settings' );
806
+			$db_settings = get_option('ayecode-ui-settings');
807 807
 			$js_default = 'core-popper';
808 808
 			$js_default_backend = $js_default;
809 809
 
810 810
 			// maybe set defaults (if no settings set)
811
-			if(empty($db_settings)){
812
-				$active_theme = strtolower( get_template() ); // active parent theme.
811
+			if (empty($db_settings)) {
812
+				$active_theme = strtolower(get_template()); // active parent theme.
813 813
 				$theme_js_settings = self::theme_js_settings();
814
-				if(isset($theme_js_settings[$active_theme])){
814
+				if (isset($theme_js_settings[$active_theme])) {
815 815
 					$js_default = $theme_js_settings[$active_theme];
816
-					$js_default_backend = isset($theme_js_settings[$active_theme."_backend"]) ? $theme_js_settings[$active_theme."_backend"] : $js_default;
816
+					$js_default_backend = isset($theme_js_settings[$active_theme . "_backend"]) ? $theme_js_settings[$active_theme . "_backend"] : $js_default;
817 817
 				}
818 818
 			}
819 819
 
820 820
 			/**
821 821
 			 * Filter the default settings.
822 822
 			 */
823
-			$defaults = apply_filters( 'ayecode-ui-default-settings', array(
823
+			$defaults = apply_filters('ayecode-ui-default-settings', array(
824 824
 				'css'            => 'compatibility', // core, compatibility
825 825
 				'js'             => $js_default, // js to load, core-popper, popper
826 826
 				'html_font_size' => '16', // js to load, core-popper, popper
@@ -828,16 +828,16 @@  discard block
 block discarded – undo
828 828
 				'js_backend'     => $js_default_backend, // js to load, core-popper, popper
829 829
 				'disable_admin'  => '', // URL snippets to disable loading on admin
830 830
                 'bs_ver'         => '4', // The default bootstrap version to sue by default
831
-			), $db_settings );
831
+			), $db_settings);
832 832
 
833
-			$settings = wp_parse_args( $db_settings, $defaults );
833
+			$settings = wp_parse_args($db_settings, $defaults);
834 834
 
835 835
 			/**
836 836
 			 * Filter the Bootstrap settings.
837 837
 			 *
838 838
 			 * @todo if we add this filer people might use it and then it defeates the purpose of this class :/
839 839
 			 */
840
-			return $this->settings = apply_filters( 'ayecode-ui-settings', $settings, $db_settings, $defaults );
840
+			return $this->settings = apply_filters('ayecode-ui-settings', $settings, $db_settings, $defaults);
841 841
 		}
842 842
 
843 843
 
@@ -845,28 +845,28 @@  discard block
 block discarded – undo
845 845
 		 * The settings page html output.
846 846
 		 */
847 847
 		public function settings_page() {
848
-			if ( ! current_user_can( 'manage_options' ) ) {
849
-				wp_die( __( 'You do not have sufficient permissions to access this page.', 'aui' ) );
848
+			if (!current_user_can('manage_options')) {
849
+				wp_die(__('You do not have sufficient permissions to access this page.', 'aui'));
850 850
 			}
851
-            $overrides = apply_filters( 'ayecode-ui-settings', array(), array(), array() );
851
+            $overrides = apply_filters('ayecode-ui-settings', array(), array(), array());
852 852
 
853 853
 			?>
854 854
             <div class="wrap">
855 855
                 <h1><?php echo $this->name; ?></h1>
856
-                <p><?php echo apply_filters( 'ayecode-ui-settings-message', __("Here you can adjust settings if you are having compatibility issues.",'aui') );?></p>
856
+                <p><?php echo apply_filters('ayecode-ui-settings-message', __("Here you can adjust settings if you are having compatibility issues.", 'aui')); ?></p>
857 857
                 <form method="post" action="options.php">
858 858
 					<?php
859
-					settings_fields( 'ayecode-ui-settings' );
860
-					do_settings_sections( 'ayecode-ui-settings' );
859
+					settings_fields('ayecode-ui-settings');
860
+					do_settings_sections('ayecode-ui-settings');
861 861
 					?>
862 862
 
863
-                    <h2><?php _e( 'BootStrap Version', 'aui' ); ?></h2>
864
-                    <p><?php echo apply_filters( 'ayecode-ui-version-settings-message', __("V5 is recommended, however if you have another plugin installed using v4, you may need to use v4 also.",'aui') );?></p>
863
+                    <h2><?php _e('BootStrap Version', 'aui'); ?></h2>
864
+                    <p><?php echo apply_filters('ayecode-ui-version-settings-message', __("V5 is recommended, however if you have another plugin installed using v4, you may need to use v4 also.", 'aui')); ?></p>
865 865
 	                <div class="bsui"><?php
866
-	                if ( ! empty( $overrides ) ) {
866
+	                if (!empty($overrides)) {
867 867
 		                echo aui()->alert(array(
868 868
 			                'type'=> 'info',
869
-			                'content'=> __("Some options are disabled as your current theme is overriding them.",'aui')
869
+			                'content'=> __("Some options are disabled as your current theme is overriding them.", 'aui')
870 870
 		                ));
871 871
 	                }
872 872
 	                ?>
@@ -874,87 +874,87 @@  discard block
 block discarded – undo
874 874
                     <table class="form-table wpbs-table-version-settings">
875 875
                         <tr valign="top">
876 876
                             <th scope="row"><label
877
-                                        for="wpbs-css"><?php _e( 'Version', 'aui' ); ?></label></th>
877
+                                        for="wpbs-css"><?php _e('Version', 'aui'); ?></label></th>
878 878
                             <td>
879 879
                                 <select name="ayecode-ui-settings[bs_ver]" id="wpbs-css" <?php echo !empty($overrides['bs_ver']) ? 'disabled' : ''; ?>>
880
-                                    <option	value="5" <?php selected( $this->settings['bs_ver'], '5' ); ?>><?php _e( 'v5 (recommended)', 'aui' ); ?></option>
881
-                                    <option value="4" <?php selected( $this->settings['bs_ver'], '4' ); ?>><?php _e( 'v4 (legacy)', 'aui' ); ?></option>
880
+                                    <option	value="5" <?php selected($this->settings['bs_ver'], '5'); ?>><?php _e('v5 (recommended)', 'aui'); ?></option>
881
+                                    <option value="4" <?php selected($this->settings['bs_ver'], '4'); ?>><?php _e('v4 (legacy)', 'aui'); ?></option>
882 882
                                 </select>
883 883
                             </td>
884 884
                         </tr>
885 885
                     </table>
886 886
 
887
-                    <h2><?php _e( 'Frontend', 'aui' ); ?></h2>
887
+                    <h2><?php _e('Frontend', 'aui'); ?></h2>
888 888
                     <table class="form-table wpbs-table-settings">
889 889
                         <tr valign="top">
890 890
                             <th scope="row"><label
891
-                                        for="wpbs-css"><?php _e( 'Load CSS', 'aui' ); ?></label></th>
891
+                                        for="wpbs-css"><?php _e('Load CSS', 'aui'); ?></label></th>
892 892
                             <td>
893 893
                                 <select name="ayecode-ui-settings[css]" id="wpbs-css" <?php echo !empty($overrides['css']) ? 'disabled' : ''; ?>>
894
-                                    <option	value="compatibility" <?php selected( $this->settings['css'], 'compatibility' ); ?>><?php _e( 'Compatibility Mode (default)', 'aui' ); ?></option>
895
-                                    <option value="core" <?php selected( $this->settings['css'], 'core' ); ?>><?php _e( 'Full Mode', 'aui' ); ?></option>
896
-                                    <option	value="" <?php selected( $this->settings['css'], '' ); ?>><?php _e( 'Disabled', 'aui' ); ?></option>
894
+                                    <option	value="compatibility" <?php selected($this->settings['css'], 'compatibility'); ?>><?php _e('Compatibility Mode (default)', 'aui'); ?></option>
895
+                                    <option value="core" <?php selected($this->settings['css'], 'core'); ?>><?php _e('Full Mode', 'aui'); ?></option>
896
+                                    <option	value="" <?php selected($this->settings['css'], ''); ?>><?php _e('Disabled', 'aui'); ?></option>
897 897
                                 </select>
898 898
                             </td>
899 899
                         </tr>
900 900
 
901 901
                         <tr valign="top">
902 902
                             <th scope="row"><label
903
-                                        for="wpbs-js"><?php _e( 'Load JS', 'aui' ); ?></label></th>
903
+                                        for="wpbs-js"><?php _e('Load JS', 'aui'); ?></label></th>
904 904
                             <td>
905 905
                                 <select name="ayecode-ui-settings[js]" id="wpbs-js" <?php echo !empty($overrides['js']) ? 'disabled' : ''; ?>>
906
-                                    <option	value="core-popper" <?php selected( $this->settings['js'], 'core-popper' ); ?>><?php _e( 'Core + Popper (default)', 'aui' ); ?></option>
907
-                                    <option value="popper" <?php selected( $this->settings['js'], 'popper' ); ?>><?php _e( 'Popper', 'aui' ); ?></option>
908
-                                    <option value="required" <?php selected( $this->settings['js'], 'required' ); ?>><?php _e( 'Required functions only', 'aui' ); ?></option>
909
-                                    <option	value="" <?php selected( $this->settings['js'], '' ); ?>><?php _e( 'Disabled (not recommended)', 'aui' ); ?></option>
906
+                                    <option	value="core-popper" <?php selected($this->settings['js'], 'core-popper'); ?>><?php _e('Core + Popper (default)', 'aui'); ?></option>
907
+                                    <option value="popper" <?php selected($this->settings['js'], 'popper'); ?>><?php _e('Popper', 'aui'); ?></option>
908
+                                    <option value="required" <?php selected($this->settings['js'], 'required'); ?>><?php _e('Required functions only', 'aui'); ?></option>
909
+                                    <option	value="" <?php selected($this->settings['js'], ''); ?>><?php _e('Disabled (not recommended)', 'aui'); ?></option>
910 910
                                 </select>
911 911
                             </td>
912 912
                         </tr>
913 913
 
914 914
                         <tr valign="top">
915 915
                             <th scope="row"><label
916
-                                        for="wpbs-font_size"><?php _e( 'HTML Font Size (px)', 'aui' ); ?></label></th>
916
+                                        for="wpbs-font_size"><?php _e('HTML Font Size (px)', 'aui'); ?></label></th>
917 917
                             <td>
918
-                                <input type="number" name="ayecode-ui-settings[html_font_size]" id="wpbs-font_size" value="<?php echo absint( $this->settings['html_font_size']); ?>" placeholder="16" <?php echo !empty($overrides['html_font_size']) ? 'disabled' : ''; ?> />
919
-                                <p class="description" ><?php _e("Our font sizing is rem (responsive based) here you can set the html font size in-case your theme is setting it too low.",'aui');?></p>
918
+                                <input type="number" name="ayecode-ui-settings[html_font_size]" id="wpbs-font_size" value="<?php echo absint($this->settings['html_font_size']); ?>" placeholder="16" <?php echo !empty($overrides['html_font_size']) ? 'disabled' : ''; ?> />
919
+                                <p class="description" ><?php _e("Our font sizing is rem (responsive based) here you can set the html font size in-case your theme is setting it too low.", 'aui'); ?></p>
920 920
                             </td>
921 921
                         </tr>
922 922
 
923 923
                     </table>
924 924
 
925
-                    <h2><?php _e( 'Backend', 'aui' ); ?> (wp-admin)</h2>
925
+                    <h2><?php _e('Backend', 'aui'); ?> (wp-admin)</h2>
926 926
                     <table class="form-table wpbs-table-settings">
927 927
                         <tr valign="top">
928 928
                             <th scope="row"><label
929
-                                        for="wpbs-css-admin"><?php _e( 'Load CSS', 'aui' ); ?></label></th>
929
+                                        for="wpbs-css-admin"><?php _e('Load CSS', 'aui'); ?></label></th>
930 930
                             <td>
931 931
                                 <select name="ayecode-ui-settings[css_backend]" id="wpbs-css-admin" <?php echo !empty($overrides['css_backend']) ? 'disabled' : ''; ?>>
932
-                                    <option	value="compatibility" <?php selected( $this->settings['css_backend'], 'compatibility' ); ?>><?php _e( 'Compatibility Mode (default)', 'aui' ); ?></option>
933
-                                    <option value="core" <?php selected( $this->settings['css_backend'], 'core' ); ?>><?php _e( 'Full Mode (will cause style issues)', 'aui' ); ?></option>
934
-                                    <option	value="" <?php selected( $this->settings['css_backend'], '' ); ?>><?php _e( 'Disabled', 'aui' ); ?></option>
932
+                                    <option	value="compatibility" <?php selected($this->settings['css_backend'], 'compatibility'); ?>><?php _e('Compatibility Mode (default)', 'aui'); ?></option>
933
+                                    <option value="core" <?php selected($this->settings['css_backend'], 'core'); ?>><?php _e('Full Mode (will cause style issues)', 'aui'); ?></option>
934
+                                    <option	value="" <?php selected($this->settings['css_backend'], ''); ?>><?php _e('Disabled', 'aui'); ?></option>
935 935
                                 </select>
936 936
                             </td>
937 937
                         </tr>
938 938
 
939 939
                         <tr valign="top">
940 940
                             <th scope="row"><label
941
-                                        for="wpbs-js-admin"><?php _e( 'Load JS', 'aui' ); ?></label></th>
941
+                                        for="wpbs-js-admin"><?php _e('Load JS', 'aui'); ?></label></th>
942 942
                             <td>
943 943
                                 <select name="ayecode-ui-settings[js_backend]" id="wpbs-js-admin" <?php echo !empty($overrides['js_backend']) ? 'disabled' : ''; ?>>
944
-                                    <option	value="core-popper" <?php selected( $this->settings['js_backend'], 'core-popper' ); ?>><?php _e( 'Core + Popper (default)', 'aui' ); ?></option>
945
-                                    <option value="popper" <?php selected( $this->settings['js_backend'], 'popper' ); ?>><?php _e( 'Popper', 'aui' ); ?></option>
946
-                                    <option value="required" <?php selected( $this->settings['js_backend'], 'required' ); ?>><?php _e( 'Required functions only', 'aui' ); ?></option>
947
-                                    <option	value="" <?php selected( $this->settings['js_backend'], '' ); ?>><?php _e( 'Disabled (not recommended)', 'aui' ); ?></option>
944
+                                    <option	value="core-popper" <?php selected($this->settings['js_backend'], 'core-popper'); ?>><?php _e('Core + Popper (default)', 'aui'); ?></option>
945
+                                    <option value="popper" <?php selected($this->settings['js_backend'], 'popper'); ?>><?php _e('Popper', 'aui'); ?></option>
946
+                                    <option value="required" <?php selected($this->settings['js_backend'], 'required'); ?>><?php _e('Required functions only', 'aui'); ?></option>
947
+                                    <option	value="" <?php selected($this->settings['js_backend'], ''); ?>><?php _e('Disabled (not recommended)', 'aui'); ?></option>
948 948
                                 </select>
949 949
                             </td>
950 950
                         </tr>
951 951
 
952 952
                         <tr valign="top">
953 953
                             <th scope="row"><label
954
-                                        for="wpbs-disable-admin"><?php _e( 'Disable load on URL', 'aui' ); ?></label></th>
954
+                                        for="wpbs-disable-admin"><?php _e('Disable load on URL', 'aui'); ?></label></th>
955 955
                             <td>
956
-                                <p><?php _e( 'If you have backend conflict you can enter a partial URL argument that will disable the loading of AUI on those pages. Add each argument on a new line.', 'aui' ); ?></p>
957
-                                <textarea name="ayecode-ui-settings[disable_admin]" rows="10" cols="50" id="wpbs-disable-admin" class="large-text code" spellcheck="false" placeholder="myplugin.php &#10;action=go"><?php echo $this->settings['disable_admin'];?></textarea>
956
+                                <p><?php _e('If you have backend conflict you can enter a partial URL argument that will disable the loading of AUI on those pages. Add each argument on a new line.', 'aui'); ?></p>
957
+                                <textarea name="ayecode-ui-settings[disable_admin]" rows="10" cols="50" id="wpbs-disable-admin" class="large-text code" spellcheck="false" placeholder="myplugin.php &#10;action=go"><?php echo $this->settings['disable_admin']; ?></textarea>
958 958
 
959 959
                             </td>
960 960
                         </tr>
@@ -966,34 +966,34 @@  discard block
 block discarded – undo
966 966
 					?>
967 967
                 </form>
968 968
 
969
-                <div id="wpbs-version" data-aui-source="<?php echo esc_attr( $this->get_load_source() ); ?>"><?php echo $this->version; ?></div>
969
+                <div id="wpbs-version" data-aui-source="<?php echo esc_attr($this->get_load_source()); ?>"><?php echo $this->version; ?></div>
970 970
             </div>
971 971
 
972 972
 			<?php
973 973
 		}
974 974
 
975
-        public function get_load_source(){
976
-	        $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
977
-	        $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
975
+        public function get_load_source() {
976
+	        $file = str_replace(array("/", "\\"), "/", realpath(__FILE__));
977
+	        $plugins_dir = str_replace(array("/", "\\"), "/", realpath(WP_PLUGIN_DIR));
978 978
 
979 979
 	        // Find source plugin/theme of SD
980 980
 	        $source = array();
981
-	        if ( strpos( $file, $plugins_dir ) !== false ) {
982
-		        $source = explode( "/", plugin_basename( $file ) );
983
-	        } else if ( function_exists( 'get_theme_root' ) ) {
984
-		        $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
981
+	        if (strpos($file, $plugins_dir) !== false) {
982
+		        $source = explode("/", plugin_basename($file));
983
+	        } else if (function_exists('get_theme_root')) {
984
+		        $themes_dir = str_replace(array("/", "\\"), "/", realpath(get_theme_root()));
985 985
 
986
-		        if ( strpos( $file, $themes_dir ) !== false ) {
987
-			        $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
986
+		        if (strpos($file, $themes_dir) !== false) {
987
+			        $source = explode("/", ltrim(str_replace($themes_dir, "", $file), "/"));
988 988
 		        }
989 989
 	        }
990 990
 
991 991
             return isset($source[0]) ? esc_attr($source[0]) : '';
992 992
         }
993 993
 
994
-		public function customizer_settings($wp_customize){
994
+		public function customizer_settings($wp_customize) {
995 995
 			$wp_customize->add_section('aui_settings', array(
996
-				'title'    => __('AyeCode UI','aui'),
996
+				'title'    => __('AyeCode UI', 'aui'),
997 997
 				'priority' => 120,
998 998
 			));
999 999
 
@@ -1007,8 +1007,8 @@  discard block
 block discarded – undo
1007 1007
 				'type'              => 'option',
1008 1008
 				'transport'         => 'refresh',
1009 1009
 			));
1010
-			$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_primary', array(
1011
-				'label'    => __('Primary Color','aui'),
1010
+			$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'color_primary', array(
1011
+				'label'    => __('Primary Color', 'aui'),
1012 1012
 				'section'  => 'aui_settings',
1013 1013
 				'settings' => 'aui_options[color_primary]',
1014 1014
 			)));
@@ -1020,8 +1020,8 @@  discard block
 block discarded – undo
1020 1020
 				'type'              => 'option',
1021 1021
 				'transport'         => 'refresh',
1022 1022
 			));
1023
-			$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_secondary', array(
1024
-				'label'    => __('Secondary Color','aui'),
1023
+			$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'color_secondary', array(
1024
+				'label'    => __('Secondary Color', 'aui'),
1025 1025
 				'section'  => 'aui_settings',
1026 1026
 				'settings' => 'aui_options[color_secondary]',
1027 1027
 			)));
@@ -1047,12 +1047,12 @@  discard block
 block discarded – undo
1047 1047
                 .collapse.show:not(.in){display: inherit;}
1048 1048
                 .fade.show{opacity: 1;}
1049 1049
 
1050
-                <?php if( defined( 'SVQ_THEME_VERSION' ) ){ ?>
1050
+                <?php if (defined('SVQ_THEME_VERSION')) { ?>
1051 1051
                 /* KLEO theme specific */
1052 1052
                 .kleo-main-header .navbar-collapse.collapse.show:not(.in){display: block !important;}
1053 1053
                 <?php } ?>
1054 1054
 
1055
-                <?php if( defined( 'FUSION_BUILDER_VERSION' ) ){ ?>
1055
+                <?php if (defined('FUSION_BUILDER_VERSION')) { ?>
1056 1056
                 /* With Avada builder */
1057 1057
                 body.modal-open .modal.in  {opacity:1;z-index: 99999}
1058 1058
                 body.modal-open .modal.bsui.in .modal-content  {box-shadow: none;}
@@ -1063,10 +1063,10 @@  discard block
 block discarded – undo
1063 1063
                 <?php } ?>
1064 1064
             </style>
1065 1065
 			<?php
1066
-			return str_replace( array(
1066
+			return str_replace(array(
1067 1067
 				'<style>',
1068 1068
 				'</style>'
1069
-			), '', self::minify_css( ob_get_clean() ) );
1069
+			), '', self::minify_css(ob_get_clean()));
1070 1070
 		}
1071 1071
 
1072 1072
 
@@ -1074,7 +1074,7 @@  discard block
 block discarded – undo
1074 1074
             global $aui_bs5;
1075 1075
 
1076 1076
 			$colors = array();
1077
-			if ( defined( 'BLOCKSTRAP_VERSION' ) ) {
1077
+			if (defined('BLOCKSTRAP_VERSION')) {
1078 1078
 
1079 1079
 
1080 1080
 				$setting = wp_get_global_settings();
@@ -1083,22 +1083,22 @@  discard block
 block discarded – undo
1083 1083
 //                print_r(get_default_block_editor_settings());exit;
1084 1084
 
1085 1085
 //                print_r($setting);echo  '###';exit;
1086
-				if(!empty($setting['color']['palette']['theme'])){
1087
-					foreach($setting['color']['palette']['theme'] as $color){
1086
+				if (!empty($setting['color']['palette']['theme'])) {
1087
+					foreach ($setting['color']['palette']['theme'] as $color) {
1088 1088
 						$colors[$color['slug']] = esc_attr($color['color']);
1089 1089
 					}
1090 1090
 				}
1091 1091
 
1092
-				if(!empty($setting['color']['palette']['custom'])){
1093
-					foreach($setting['color']['palette']['custom'] as $color){
1092
+				if (!empty($setting['color']['palette']['custom'])) {
1093
+					foreach ($setting['color']['palette']['custom'] as $color) {
1094 1094
 						$colors[$color['slug']] = esc_attr($color['color']);
1095 1095
 					}
1096 1096
 				}
1097
-			}else{
1097
+			} else {
1098 1098
 				$settings = get_option('aui_options');
1099 1099
 				$colors = array(
1100
-					'primary'   => ! empty( $settings['color_primary'] ) ? $settings['color_primary'] : AUI_PRIMARY_COLOR,
1101
-					'secondary' => ! empty( $settings['color_secondary'] ) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR
1100
+					'primary'   => !empty($settings['color_primary']) ? $settings['color_primary'] : AUI_PRIMARY_COLOR,
1101
+					'secondary' => !empty($settings['color_secondary']) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR
1102 1102
 				);
1103 1103
 			}
1104 1104
 
@@ -1109,25 +1109,25 @@  discard block
 block discarded – undo
1109 1109
                 <?php
1110 1110
 
1111 1111
 					// BS v3 compat
1112
-					if( self::is_bs3_compat() ){
1112
+					if (self::is_bs3_compat()) {
1113 1113
 						echo self::bs3_compat_css();
1114 1114
 					}
1115 1115
 
1116
-					if(!empty($colors)){
1116
+					if (!empty($colors)) {
1117 1117
 						$d_colors = self::get_colors(true);
1118 1118
 
1119
-                        $current_screen = function_exists('get_current_screen' ) ? get_current_screen() : '';
1119
+                        $current_screen = function_exists('get_current_screen') ? get_current_screen() : '';
1120 1120
                         $is_fse = false;
1121
-                        if ( is_admin() && ( !empty($_REQUEST['postType']) || $current_screen->is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) )  ) {
1121
+                        if (is_admin() && (!empty($_REQUEST['postType']) || $current_screen->is_block_editor()) && (defined('BLOCKSTRAP_VERSION') || defined('AUI_FSE'))) {
1122 1122
                             $is_fse = true;
1123 1123
                         }
1124 1124
 
1125 1125
 //						$is_fse = !empty($_REQUEST['postType']) && $_REQUEST['postType']=='wp_template';
1126
-						foreach($colors as $key => $color ){
1127
-							if((empty( $d_colors[$key]) ||  $d_colors[$key] != $color) || $is_fse ) {
1126
+						foreach ($colors as $key => $color) {
1127
+							if ((empty($d_colors[$key]) || $d_colors[$key] != $color) || $is_fse) {
1128 1128
 								$var = $is_fse ? "var(--wp--preset--color--$key)" : $color;
1129 1129
 								$compat = $is_fse ? '.editor-styles-wrapper' : $compatibility;
1130
-								echo $aui_bs5 ? self::css_overwrite_bs5($key,$var,$compat,$color) : self::css_overwrite($key,$var,$compat,$color);
1130
+								echo $aui_bs5 ? self::css_overwrite_bs5($key, $var, $compat, $color) : self::css_overwrite($key, $var, $compat, $color);
1131 1131
 							}
1132 1132
 						}
1133 1133
 					   // exit;
@@ -1136,17 +1136,17 @@  discard block
 block discarded – undo
1136 1136
 					// Set admin bar z-index lower when modal is open.
1137 1137
 					echo ' body.modal-open #wpadminbar{z-index:999}.embed-responsive-16by9 .fluid-width-video-wrapper{padding:0 !important;position:initial}';
1138 1138
 
1139
-					if(is_admin()){
1139
+					if (is_admin()) {
1140 1140
 						echo ' body.modal-open #adminmenuwrap{z-index:999} body.modal-open #wpadminbar{z-index:1025}';
1141 1141
 					}
1142 1142
 
1143
-                    if( $aui_bs5 && defined( 'BLOCKSTRAP_VERSION' ) ){
1143
+                    if ($aui_bs5 && defined('BLOCKSTRAP_VERSION')) {
1144 1144
                         $css = '';
1145 1145
                         $theme_settings = wp_get_global_styles();
1146 1146
 
1147 1147
                         // font face
1148
-                        if( !empty( $theme_settings['typography']['fontFamily'] ) ){
1149
-                            $t_fontface = str_replace( array('var:preset|','font-family|'), array('--wp--preset--','font-family--'), $theme_settings['typography']['fontFamily']  ); //var(--wp--preset--font-family--poppins)
1148
+                        if (!empty($theme_settings['typography']['fontFamily'])) {
1149
+                            $t_fontface = str_replace(array('var:preset|', 'font-family|'), array('--wp--preset--', 'font-family--'), $theme_settings['typography']['fontFamily']); //var(--wp--preset--font-family--poppins)
1150 1150
                             $css .= '--bs-body-font-family: ' . esc_attr($t_fontface) . ';';
1151 1151
                         }
1152 1152
 
@@ -1154,7 +1154,7 @@  discard block
 block discarded – undo
1154 1154
                         $css .= '--bs-body-font-size: var(--wp--preset--font-size--small);';
1155 1155
 
1156 1156
 
1157
-                        if($css){
1157
+                        if ($css) {
1158 1158
                             echo 'body{' . $css . '}';
1159 1159
                         }
1160 1160
                     }
@@ -1166,10 +1166,10 @@  discard block
 block discarded – undo
1166 1166
 			/*
1167 1167
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1168 1168
 			 */
1169
-			return str_replace( array(
1169
+			return str_replace(array(
1170 1170
 				'<style>',
1171 1171
 				'</style>'
1172
-			), '', self::minify_css( ob_get_clean() ) );
1172
+			), '', self::minify_css(ob_get_clean()));
1173 1173
 		}
1174 1174
 
1175 1175
 
@@ -1179,7 +1179,7 @@  discard block
 block discarded – undo
1179 1179
 		 *
1180 1180
 		 * @return bool
1181 1181
 		 */
1182
-		public static function is_bs3_compat(){
1182
+		public static function is_bs3_compat() {
1183 1183
 			return defined('AYECODE_UI_BS3_COMPAT') || defined('SVQ_THEME_VERSION') || defined('FUSION_BUILDER_VERSION');
1184 1184
 		}
1185 1185
 
@@ -1188,7 +1188,7 @@  discard block
 block discarded – undo
1188 1188
 			$hex = str_replace('#', '', $hex);
1189 1189
 
1190 1190
 			// Convert 3-digit hex to 6-digit hex
1191
-			if(strlen($hex) == 3) {
1191
+			if (strlen($hex) == 3) {
1192 1192
 				$hex = str_repeat(substr($hex, 0, 1), 2) . str_repeat(substr($hex, 1, 1), 2) . str_repeat(substr($hex, 2, 1), 2);
1193 1193
 			}
1194 1194
 
@@ -1210,13 +1210,13 @@  discard block
 block discarded – undo
1210 1210
 		 *
1211 1211
 		 * @return string
1212 1212
 		 */
1213
-		public static function css_overwrite_bs5($type,$color_code,$compatibility, $hex = '' ){
1213
+		public static function css_overwrite_bs5($type, $color_code, $compatibility, $hex = '') {
1214 1214
 			global $aui_bs5;
1215 1215
 
1216 1216
 			$is_var = false;
1217 1217
 			$is_custom = strpos($type, 'custom-') !== false ? true : false;
1218
-			if(!$color_code){return '';}
1219
-			if(strpos($color_code, 'var') !== false){
1218
+			if (!$color_code) {return ''; }
1219
+			if (strpos($color_code, 'var') !== false) {
1220 1220
 				//if(!sanitize_hex_color($color_code)){
1221 1221
 				$color_code = esc_attr($color_code);
1222 1222
 				$is_var = true;
@@ -1226,15 +1226,15 @@  discard block
 block discarded – undo
1226 1226
 
1227 1227
 //            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1228 1228
 
1229
-			if(!$color_code){return '';}
1229
+			if (!$color_code) {return ''; }
1230 1230
 
1231 1231
 			$rgb = self::hex_to_rgb($hex);
1232 1232
 
1233
-			if($compatibility===true || $compatibility===1){
1233
+			if ($compatibility === true || $compatibility === 1) {
1234 1234
 				$compatibility = '.bsui';
1235
-			}elseif(!$compatibility){
1235
+			}elseif (!$compatibility) {
1236 1236
 				$compatibility = '';
1237
-			}else{
1237
+			} else {
1238 1238
 				$compatibility = esc_attr($compatibility);
1239 1239
 			}
1240 1240
 
@@ -1251,30 +1251,30 @@  discard block
 block discarded – undo
1251 1251
 			 * c = color, b = background color, o = border-color, f = fill
1252 1252
 			 */
1253 1253
 			$selectors = array(
1254
-				".btn-{$type}"                                              => array( 'b', 'o' ),
1255
-				".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1256
-				".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1257
-				".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1258
-				".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1259
-				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1260
-				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1261
-				".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1262
-				".badge-{$type}"                                            => array( 'b' ),
1263
-				".alert-{$type}"                                            => array( 'b', 'o' ),
1264
-				".bg-{$type}"                                               => array( 'b', 'f' ),
1265
-				".btn-link.btn-{$type}"                                     => array( 'c' ),
1266
-				".text-{$type}"                                     => array( 'c' ),
1254
+				".btn-{$type}"                                              => array('b', 'o'),
1255
+				".btn-{$type}.disabled"                                     => array('b', 'o'),
1256
+				".btn-{$type}:disabled"                                     => array('b', 'o'),
1257
+				".btn-outline-{$type}"                                      => array('c', 'o'),
1258
+				".btn-outline-{$type}:hover"                                => array('b', 'o'),
1259
+				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array('b', 'o'),
1260
+				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array('b', 'o'),
1261
+				".show>.btn-outline-{$type}.dropdown-toggle"                => array('b', 'o'),
1262
+				".badge-{$type}"                                            => array('b'),
1263
+				".alert-{$type}"                                            => array('b', 'o'),
1264
+				".bg-{$type}"                                               => array('b', 'f'),
1265
+				".btn-link.btn-{$type}"                                     => array('c'),
1266
+				".text-{$type}"                                     => array('c'),
1267 1267
 			);
1268 1268
 
1269
-			if ( $aui_bs5 ) {
1270
-				unset($selectors[".alert-{$type}" ]);
1269
+			if ($aui_bs5) {
1270
+				unset($selectors[".alert-{$type}"]);
1271 1271
 			}
1272 1272
 
1273
-			if ( $type == 'primary' ) {
1273
+			if ($type == 'primary') {
1274 1274
 				$selectors = $selectors + array(
1275
-						'a'                                                                                                    => array( 'c' ),
1276
-						'.btn-link'                                                                                            => array( 'c' ),
1277
-						'.dropdown-item.active'                                                                                => array( 'b' ),
1275
+						'a'                                                                                                    => array('c'),
1276
+						'.btn-link'                                                                                            => array('c'),
1277
+						'.dropdown-item.active'                                                                                => array('b'),
1278 1278
 						'.custom-control-input:checked~.custom-control-label::before'                                          => array(
1279 1279
 							'b',
1280 1280
 							'o'
@@ -1283,56 +1283,56 @@  discard block
 block discarded – undo
1283 1283
 							'b',
1284 1284
 							'o'
1285 1285
 						),
1286
-						'.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1287
-						'.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1288
-						'.page-link'                                                                                           => array( 'c' ),
1286
+						'.nav-pills .nav-link.active'                                                                          => array('b'),
1287
+						'.nav-pills .show>.nav-link'                                                                           => array('b'),
1288
+						'.page-link'                                                                                           => array('c'),
1289 1289
 						'.page-item.active .page-link'                                                                         => array(
1290 1290
 							'b',
1291 1291
 							'o'
1292 1292
 						),
1293
-						'.progress-bar'                                                                                        => array( 'b' ),
1293
+						'.progress-bar'                                                                                        => array('b'),
1294 1294
 						'.list-group-item.active'                                                                              => array(
1295 1295
 							'b',
1296 1296
 							'o'
1297 1297
 						),
1298
-						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1298
+						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1299 1299
 					);
1300 1300
 			}
1301 1301
 
1302 1302
 
1303 1303
 
1304 1304
             // link
1305
-			if ( $type === 'primary' ) {
1306
-				$output .= 'html body {--bs-link-hover-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .75); --bs-link-color: var(--bs-'.esc_attr($type).'); }';
1307
-				$output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: '.esc_attr($color_code).';  }';
1308
-				$output .= $prefix . ' .navbar { --bs-nav-link-hover-color: '.esc_attr($color_code).'; --bs-navbar-hover-color: '.esc_attr($color_code).'; --bs-navbar-active-color: '.esc_attr($color_code).'; }';
1305
+			if ($type === 'primary') {
1306
+				$output .= 'html body {--bs-link-hover-color: rgba(var(--bs-' . esc_attr($type) . '-rgb), .75); --bs-link-color: var(--bs-' . esc_attr($type) . '); }';
1307
+				$output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: ' . esc_attr($color_code) . ';  }';
1308
+				$output .= $prefix . ' .navbar { --bs-nav-link-hover-color: ' . esc_attr($color_code) . '; --bs-navbar-hover-color: ' . esc_attr($color_code) . '; --bs-navbar-active-color: ' . esc_attr($color_code) . '; }';
1309 1309
 
1310
-				$output .= $prefix . ' a{color: var(--bs-'.esc_attr($type).');}';
1311
-				$output .= $prefix . ' .text-primary{color: var(--bs-'.esc_attr($type).') !important;}';
1310
+				$output .= $prefix . ' a{color: var(--bs-' . esc_attr($type) . ');}';
1311
+				$output .= $prefix . ' .text-primary{color: var(--bs-' . esc_attr($type) . ') !important;}';
1312 1312
 
1313 1313
                 // dropdown
1314
-				$output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-'.esc_attr($type).'); --bs-dropdown-link-active-color: var(--bs-'.esc_attr($type).');}';
1314
+				$output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-' . esc_attr($type) . '); --bs-dropdown-link-active-color: var(--bs-' . esc_attr($type) . ');}';
1315 1315
 
1316 1316
                 // pagination
1317
-				$output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-'.esc_attr($type).'); --bs-pagination-active-bg: var(--bs-'.esc_attr($type).');}';
1317
+				$output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-' . esc_attr($type) . '); --bs-pagination-active-bg: var(--bs-' . esc_attr($type) . ');}';
1318 1318
 
1319 1319
 			}
1320 1320
 
1321
-			$output .= $prefix . ' .link-'.esc_attr($type).':hover {color: rgba(var(--bs-'.esc_attr($type).'-rgb), .8) !important;}';
1321
+			$output .= $prefix . ' .link-' . esc_attr($type) . ':hover {color: rgba(var(--bs-' . esc_attr($type) . '-rgb), .8) !important;}';
1322 1322
 
1323 1323
 			//  buttons
1324
-			$output .= $prefix . ' .btn-'.esc_attr($type).'{';
1324
+			$output .= $prefix . ' .btn-' . esc_attr($type) . '{';
1325 1325
 			$output .= ' 
1326
-            --bs-btn-bg: '.esc_attr($color_code).';
1327
-            --bs-btn-border-color: '.esc_attr($color_code).';
1328
-            --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1329
-            --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1330
-            --bs-btn-focus-shadow-rgb: --bs-'.esc_attr($type).'-rgb;
1331
-            --bs-btn-active-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1332
-            --bs-btn-active-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1326
+            --bs-btn-bg: '.esc_attr($color_code) . ';
1327
+            --bs-btn-border-color: '.esc_attr($color_code) . ';
1328
+            --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1329
+            --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1330
+            --bs-btn-focus-shadow-rgb: --bs-'.esc_attr($type) . '-rgb;
1331
+            --bs-btn-active-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1332
+            --bs-btn-active-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1333 1333
             --bs-btn-active-shadow: unset;
1334
-            --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .5);
1335
-            --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .1);
1334
+            --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .5);
1335
+            --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .1);
1336 1336
             ';
1337 1337
 //			$output .= '
1338 1338
 //		    --bs-btn-color: #fff;
@@ -1343,17 +1343,17 @@  discard block
 block discarded – undo
1343 1343
 			$output .= '}';
1344 1344
 
1345 1345
 			//  buttons outline
1346
-			$output .= $prefix . ' .btn-outline-'.esc_attr($type).'{';
1346
+			$output .= $prefix . ' .btn-outline-' . esc_attr($type) . '{';
1347 1347
 			$output .= ' 
1348
-            --bs-btn-border-color: '.esc_attr($color_code).';
1349
-            --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1350
-            --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1351
-            --bs-btn-focus-shadow-rgb: --bs-'.esc_attr($type).'-rgb;
1352
-            --bs-btn-active-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1353
-            --bs-btn-active-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1348
+            --bs-btn-border-color: '.esc_attr($color_code) . ';
1349
+            --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1350
+            --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1351
+            --bs-btn-focus-shadow-rgb: --bs-'.esc_attr($type) . '-rgb;
1352
+            --bs-btn-active-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1353
+            --bs-btn-active-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1354 1354
             --bs-btn-active-shadow: unset;
1355
-            --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .5);
1356
-            --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .1);
1355
+            --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .5);
1356
+            --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .1);
1357 1357
             ';
1358 1358
 //			$output .= '
1359 1359
 //		    --bs-btn-color: #fff;
@@ -1365,32 +1365,32 @@  discard block
 block discarded – undo
1365 1365
 
1366 1366
 
1367 1367
             // button hover
1368
-			$output .= $prefix . ' .btn-'.esc_attr($type).':hover{';
1368
+			$output .= $prefix . ' .btn-' . esc_attr($type) . ':hover{';
1369 1369
 			$output .= ' 
1370
-            box-shadow: 0 0.25rem 0.25rem 0.125rem rgb(var(--bs-'.esc_attr($type).'-rgb), .1), 0 0.375rem 0.75rem -0.125rem rgb(var(--bs-'.esc_attr($type).'-rgb) , .4);
1370
+            box-shadow: 0 0.25rem 0.25rem 0.125rem rgb(var(--bs-'.esc_attr($type) . '-rgb), .1), 0 0.375rem 0.75rem -0.125rem rgb(var(--bs-' . esc_attr($type) . '-rgb) , .4);
1371 1371
             }
1372 1372
             ';
1373 1373
 
1374 1374
 
1375
-			if ( $aui_bs5 ) {
1375
+			if ($aui_bs5) {
1376 1376
 //				$output .= $is_var ? 'html body {--bs-'.esc_attr($type).'-rgb: '.$color_code.'; }' : 'html body {--bs-'.esc_attr($type).'-rgb: '.self::hex_to_rgb($color_code).'; }';
1377
-				$output .= 'html body {--bs-'.esc_attr($type).': '.esc_attr($color_code).'; }';
1378
-				$output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1377
+				$output .= 'html body {--bs-' . esc_attr($type) . ': ' . esc_attr($color_code) . '; }';
1378
+				$output .= 'html body {--bs-' . esc_attr($type) . '-rgb: ' . $rgb . '; }';
1379 1379
 			}
1380 1380
 
1381 1381
 
1382
-			if ( $is_custom ) {
1382
+			if ($is_custom) {
1383 1383
 
1384 1384
 //				echo '###'.$type;exit;
1385 1385
 
1386 1386
 				// build rules into each type
1387
-				foreach($selectors as $selector => $types){
1388
-					$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1389
-					$types = array_combine($types,$types);
1390
-					if(isset($types['c'])){$color[] = $selector;}
1391
-					if(isset($types['b'])){$background[] = $selector;}
1392
-					if(isset($types['o'])){$border[] = $selector;}
1393
-					if(isset($types['f'])){$fill[] = $selector;}
1387
+				foreach ($selectors as $selector => $types) {
1388
+					$selector = $compatibility ? $compatibility . " " . $selector : $selector;
1389
+					$types = array_combine($types, $types);
1390
+					if (isset($types['c'])) {$color[] = $selector; }
1391
+					if (isset($types['b'])) {$background[] = $selector; }
1392
+					if (isset($types['o'])) {$border[] = $selector; }
1393
+					if (isset($types['f'])) {$fill[] = $selector; }
1394 1394
 				}
1395 1395
 
1396 1396
 //				// build rules into each type
@@ -1404,36 +1404,36 @@  discard block
 block discarded – undo
1404 1404
 //				}
1405 1405
 
1406 1406
 				// add any color rules
1407
-				if(!empty($color)){
1408
-					$output .= implode(",",$color) . "{color: $color_code;} ";
1407
+				if (!empty($color)) {
1408
+					$output .= implode(",", $color) . "{color: $color_code;} ";
1409 1409
 				}
1410
-				if(!empty($color_i)){
1411
-					$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1410
+				if (!empty($color_i)) {
1411
+					$output .= implode(",", $color_i) . "{color: $color_code !important;} ";
1412 1412
 				}
1413 1413
 
1414 1414
 				// add any background color rules
1415
-				if(!empty($background)){
1416
-					$output .= implode(",",$background) . "{background-color: $color_code;} ";
1415
+				if (!empty($background)) {
1416
+					$output .= implode(",", $background) . "{background-color: $color_code;} ";
1417 1417
 				}
1418
-				if(!empty($background_i)){
1419
-					$output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1418
+				if (!empty($background_i)) {
1419
+					$output .= $aui_bs5 ? '' : implode(",", $background_i) . "{background-color: $color_code !important;} ";
1420 1420
 //				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1421 1421
 				}
1422 1422
 
1423 1423
 				// add any border color rules
1424
-				if(!empty($border)){
1425
-					$output .= implode(",",$border) . "{border-color: $color_code;} ";
1424
+				if (!empty($border)) {
1425
+					$output .= implode(",", $border) . "{border-color: $color_code;} ";
1426 1426
 				}
1427
-				if(!empty($border_i)){
1428
-					$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1427
+				if (!empty($border_i)) {
1428
+					$output .= implode(",", $border_i) . "{border-color: $color_code !important;} ";
1429 1429
 				}
1430 1430
 
1431 1431
 				// add any fill color rules
1432
-				if(!empty($fill)){
1433
-					$output .= implode(",",$fill) . "{fill: $color_code;} ";
1432
+				if (!empty($fill)) {
1433
+					$output .= implode(",", $fill) . "{fill: $color_code;} ";
1434 1434
 				}
1435
-				if(!empty($fill_i)){
1436
-					$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1435
+				if (!empty($fill_i)) {
1436
+					$output .= implode(",", $fill_i) . "{fill: $color_code !important;} ";
1437 1437
 				}
1438 1438
 
1439 1439
 			}
@@ -1443,25 +1443,25 @@  discard block
 block discarded – undo
1443 1443
 
1444 1444
 			$transition = $is_var ? 'transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,filter 0.15s ease-in-out;' : '';
1445 1445
 			// darken
1446
-			$darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1447
-			$darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1448
-			$darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1449
-			$darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1446
+			$darker_075 = $is_var ? $color_code . ';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code, "-0.075");
1447
+			$darker_10 = $is_var ? $color_code . ';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code, "-0.10");
1448
+			$darker_125 = $is_var ? $color_code . ';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code, "-0.125");
1449
+			$darker_40 = $is_var ? $color_code . ';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code, "-0.4");
1450 1450
 
1451 1451
 			// lighten
1452
-			$lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1452
+			$lighten_25 = $is_var ? $color_code . ';filter:brightness(1.25)' : self::css_hex_lighten_darken($color_code, "0.25");
1453 1453
 
1454 1454
 			// opacity see https://css-tricks.com/8-digit-hex-codes/
1455
-			$op_25 = $color_code."40"; // 25% opacity
1455
+			$op_25 = $color_code . "40"; // 25% opacity
1456 1456
 
1457 1457
 
1458 1458
 			// button states
1459
-			$output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1460
-			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1459
+			$output .= $is_var ? $prefix . " .btn-{$type}{{$transition }} " : '';
1460
+			$output .= $prefix . " .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: " . $darker_075 . ";    border-color: " . $darker_10 . ";} ";
1461 1461
 //			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1462
-			$output .= $prefix ." .btn-outline-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-{$type}.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1463
-			$output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active, $prefix .btn-{$type}:not(:disabled):not(.disabled).active, .show>$prefix .btn-{$type}.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
1464
-			$output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-{$type}.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1462
+			$output .= $prefix . " .btn-outline-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-{$type}.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1463
+			$output .= $prefix . " .btn-{$type}:not(:disabled):not(.disabled):active, $prefix .btn-{$type}:not(:disabled):not(.disabled).active, .show>$prefix .btn-{$type}.dropdown-toggle{background-color: " . $darker_10 . ";    border-color: " . $darker_125 . ";} ";
1464
+			$output .= $prefix . " .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-{$type}.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1465 1465
 
1466 1466
 			// text
1467 1467
 //			$output .= $prefix .".xxx, .text-{$type} {color: var(--bs-".esc_attr($type).");} ";
@@ -1479,9 +1479,9 @@  discard block
 block discarded – undo
1479 1479
 //			}
1480 1480
 
1481 1481
 			// alerts
1482
-			if ( $aui_bs5 ) {
1482
+			if ($aui_bs5) {
1483 1483
 //				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1484
-				$output .= $prefix ." .alert-{$type} {--bs-alert-bg: rgba(var(--bs-{$type}-rgb), .1 ) !important;--bs-alert-border-color: rgba(var(--bs-{$type}-rgb), .25 ) !important;--bs-alert-color: rgba(var(--bs-{$type}-rgb), 1 ) !important;} ";
1484
+				$output .= $prefix . " .alert-{$type} {--bs-alert-bg: rgba(var(--bs-{$type}-rgb), .1 ) !important;--bs-alert-border-color: rgba(var(--bs-{$type}-rgb), .25 ) !important;--bs-alert-color: rgba(var(--bs-{$type}-rgb), 1 ) !important;} ";
1485 1485
 			}
1486 1486
 
1487 1487
 			return $output;
@@ -1496,12 +1496,12 @@  discard block
 block discarded – undo
1496 1496
 		 *
1497 1497
 		 * @return string
1498 1498
 		 */
1499
-		public static function css_overwrite($type,$color_code,$compatibility, $hex = '' ){
1499
+		public static function css_overwrite($type, $color_code, $compatibility, $hex = '') {
1500 1500
             global $aui_bs5;
1501 1501
 
1502 1502
 			$is_var = false;
1503
-			if(!$color_code){return '';}
1504
-			if(strpos($color_code, 'var') !== false){
1503
+			if (!$color_code) {return ''; }
1504
+			if (strpos($color_code, 'var') !== false) {
1505 1505
 				//if(!sanitize_hex_color($color_code)){
1506 1506
 				$color_code = esc_attr($color_code);
1507 1507
 				$is_var = true;
@@ -1511,15 +1511,15 @@  discard block
 block discarded – undo
1511 1511
 
1512 1512
 //            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1513 1513
 
1514
-			if(!$color_code){return '';}
1514
+			if (!$color_code) {return ''; }
1515 1515
 
1516 1516
             $rgb = self::hex_to_rgb($hex);
1517 1517
 
1518
-			if($compatibility===true || $compatibility===1){
1518
+			if ($compatibility === true || $compatibility === 1) {
1519 1519
 				$compatibility = '.bsui';
1520
-			}elseif(!$compatibility){
1520
+			}elseif (!$compatibility) {
1521 1521
 				$compatibility = '';
1522
-			}else{
1522
+			} else {
1523 1523
 				$compatibility = esc_attr($compatibility);
1524 1524
 			}
1525 1525
 
@@ -1533,29 +1533,29 @@  discard block
 block discarded – undo
1533 1533
 			 * c = color, b = background color, o = border-color, f = fill
1534 1534
 			 */
1535 1535
 			$selectors = array(
1536
-				".btn-{$type}"                                              => array( 'b', 'o' ),
1537
-				".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1538
-				".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1539
-				".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1540
-				".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1541
-				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1542
-				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1543
-				".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1544
-				".badge-{$type}"                                            => array( 'b' ),
1545
-				".alert-{$type}"                                            => array( 'b', 'o' ),
1546
-				".bg-{$type}"                                               => array( 'b', 'f' ),
1547
-				".btn-link.btn-{$type}"                                     => array( 'c' ),
1536
+				".btn-{$type}"                                              => array('b', 'o'),
1537
+				".btn-{$type}.disabled"                                     => array('b', 'o'),
1538
+				".btn-{$type}:disabled"                                     => array('b', 'o'),
1539
+				".btn-outline-{$type}"                                      => array('c', 'o'),
1540
+				".btn-outline-{$type}:hover"                                => array('b', 'o'),
1541
+				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array('b', 'o'),
1542
+				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array('b', 'o'),
1543
+				".show>.btn-outline-{$type}.dropdown-toggle"                => array('b', 'o'),
1544
+				".badge-{$type}"                                            => array('b'),
1545
+				".alert-{$type}"                                            => array('b', 'o'),
1546
+				".bg-{$type}"                                               => array('b', 'f'),
1547
+				".btn-link.btn-{$type}"                                     => array('c'),
1548 1548
 			);
1549 1549
 
1550
-			if ( $aui_bs5 ) {
1551
-                unset($selectors[".alert-{$type}" ]);
1550
+			if ($aui_bs5) {
1551
+                unset($selectors[".alert-{$type}"]);
1552 1552
 			}
1553 1553
 
1554
-			if ( $type == 'primary' ) {
1554
+			if ($type == 'primary') {
1555 1555
 				$selectors = $selectors + array(
1556
-						'a'                                                                                                    => array( 'c' ),
1557
-						'.btn-link'                                                                                            => array( 'c' ),
1558
-						'.dropdown-item.active'                                                                                => array( 'b' ),
1556
+						'a'                                                                                                    => array('c'),
1557
+						'.btn-link'                                                                                            => array('c'),
1558
+						'.dropdown-item.active'                                                                                => array('b'),
1559 1559
 						'.custom-control-input:checked~.custom-control-label::before'                                          => array(
1560 1560
 							'b',
1561 1561
 							'o'
@@ -1564,19 +1564,19 @@  discard block
 block discarded – undo
1564 1564
 							'b',
1565 1565
 							'o'
1566 1566
 						),
1567
-						'.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1568
-						'.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1569
-						'.page-link'                                                                                           => array( 'c' ),
1567
+						'.nav-pills .nav-link.active'                                                                          => array('b'),
1568
+						'.nav-pills .show>.nav-link'                                                                           => array('b'),
1569
+						'.page-link'                                                                                           => array('c'),
1570 1570
 						'.page-item.active .page-link'                                                                         => array(
1571 1571
 							'b',
1572 1572
 							'o'
1573 1573
 						),
1574
-						'.progress-bar'                                                                                        => array( 'b' ),
1574
+						'.progress-bar'                                                                                        => array('b'),
1575 1575
 						'.list-group-item.active'                                                                              => array(
1576 1576
 							'b',
1577 1577
 							'o'
1578 1578
 						),
1579
-						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1579
+						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1580 1580
 //				    '.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1581 1581
 //				    '.custom-range::-moz-range-thumb' => array('b'),
1582 1582
 //				    '.custom-range::-ms-thumb' => array('b'),
@@ -1584,7 +1584,7 @@  discard block
 block discarded – undo
1584 1584
 			}
1585 1585
 
1586 1586
 			$important_selectors = array(
1587
-				".bg-{$type}" => array('b','f'),
1587
+				".bg-{$type}" => array('b', 'f'),
1588 1588
 				".border-{$type}" => array('o'),
1589 1589
 				".text-{$type}" => array('c'),
1590 1590
 			);
@@ -1600,62 +1600,62 @@  discard block
 block discarded – undo
1600 1600
 
1601 1601
 			$output = '';
1602 1602
 
1603
-			if ( $aui_bs5 ) {
1603
+			if ($aui_bs5) {
1604 1604
 //				$output .= $is_var ? 'html body {--bs-'.esc_attr($type).'-rgb: '.$color_code.'; }' : 'html body {--bs-'.esc_attr($type).'-rgb: '.self::hex_to_rgb($color_code).'; }';
1605
-				$output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1605
+				$output .= 'html body {--bs-' . esc_attr($type) . '-rgb: ' . $rgb . '; }';
1606 1606
 			}
1607 1607
 
1608 1608
 			// build rules into each type
1609
-			foreach($selectors as $selector => $types){
1610
-				$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1611
-				$types = array_combine($types,$types);
1612
-				if(isset($types['c'])){$color[] = $selector;}
1613
-				if(isset($types['b'])){$background[] = $selector;}
1614
-				if(isset($types['o'])){$border[] = $selector;}
1615
-				if(isset($types['f'])){$fill[] = $selector;}
1609
+			foreach ($selectors as $selector => $types) {
1610
+				$selector = $compatibility ? $compatibility . " " . $selector : $selector;
1611
+				$types = array_combine($types, $types);
1612
+				if (isset($types['c'])) {$color[] = $selector; }
1613
+				if (isset($types['b'])) {$background[] = $selector; }
1614
+				if (isset($types['o'])) {$border[] = $selector; }
1615
+				if (isset($types['f'])) {$fill[] = $selector; }
1616 1616
 			}
1617 1617
 
1618 1618
 			// build rules into each type
1619
-			foreach($important_selectors as $selector => $types){
1620
-				$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1621
-				$types = array_combine($types,$types);
1622
-				if(isset($types['c'])){$color_i[] = $selector;}
1623
-				if(isset($types['b'])){$background_i[] = $selector;}
1624
-				if(isset($types['o'])){$border_i[] = $selector;}
1625
-				if(isset($types['f'])){$fill_i[] = $selector;}
1619
+			foreach ($important_selectors as $selector => $types) {
1620
+				$selector = $compatibility ? $compatibility . " " . $selector : $selector;
1621
+				$types = array_combine($types, $types);
1622
+				if (isset($types['c'])) {$color_i[] = $selector; }
1623
+				if (isset($types['b'])) {$background_i[] = $selector; }
1624
+				if (isset($types['o'])) {$border_i[] = $selector; }
1625
+				if (isset($types['f'])) {$fill_i[] = $selector; }
1626 1626
 			}
1627 1627
 
1628 1628
 			// add any color rules
1629
-			if(!empty($color)){
1630
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1629
+			if (!empty($color)) {
1630
+				$output .= implode(",", $color) . "{color: $color_code;} ";
1631 1631
 			}
1632
-			if(!empty($color_i)){
1633
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1632
+			if (!empty($color_i)) {
1633
+				$output .= implode(",", $color_i) . "{color: $color_code !important;} ";
1634 1634
 			}
1635 1635
 
1636 1636
 			// add any background color rules
1637
-			if(!empty($background)){
1638
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1637
+			if (!empty($background)) {
1638
+				$output .= implode(",", $background) . "{background-color: $color_code;} ";
1639 1639
 			}
1640
-			if(!empty($background_i)){
1641
-				$output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1640
+			if (!empty($background_i)) {
1641
+				$output .= $aui_bs5 ? '' : implode(",", $background_i) . "{background-color: $color_code !important;} ";
1642 1642
 //				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1643 1643
 			}
1644 1644
 
1645 1645
 			// add any border color rules
1646
-			if(!empty($border)){
1647
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1646
+			if (!empty($border)) {
1647
+				$output .= implode(",", $border) . "{border-color: $color_code;} ";
1648 1648
 			}
1649
-			if(!empty($border_i)){
1650
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1649
+			if (!empty($border_i)) {
1650
+				$output .= implode(",", $border_i) . "{border-color: $color_code !important;} ";
1651 1651
 			}
1652 1652
 
1653 1653
 			// add any fill color rules
1654
-			if(!empty($fill)){
1655
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1654
+			if (!empty($fill)) {
1655
+				$output .= implode(",", $fill) . "{fill: $color_code;} ";
1656 1656
 			}
1657
-			if(!empty($fill_i)){
1658
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1657
+			if (!empty($fill_i)) {
1658
+				$output .= implode(",", $fill_i) . "{fill: $color_code !important;} ";
1659 1659
 			}
1660 1660
 
1661 1661
 
@@ -1663,27 +1663,27 @@  discard block
 block discarded – undo
1663 1663
 
1664 1664
 			$transition = $is_var ? 'transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,filter 0.15s ease-in-out;' : '';
1665 1665
 			// darken
1666
-			$darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1667
-			$darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1668
-			$darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1669
-			$darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1666
+			$darker_075 = $is_var ? $color_code . ';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code, "-0.075");
1667
+			$darker_10 = $is_var ? $color_code . ';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code, "-0.10");
1668
+			$darker_125 = $is_var ? $color_code . ';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code, "-0.125");
1669
+			$darker_40 = $is_var ? $color_code . ';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code, "-0.4");
1670 1670
 
1671 1671
 			// lighten
1672
-			$lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1672
+			$lighten_25 = $is_var ? $color_code . ';filter:brightness(1.25)' : self::css_hex_lighten_darken($color_code, "0.25");
1673 1673
 
1674 1674
 			// opacity see https://css-tricks.com/8-digit-hex-codes/
1675
-			$op_25 = $color_code."40"; // 25% opacity
1675
+			$op_25 = $color_code . "40"; // 25% opacity
1676 1676
 
1677 1677
 
1678 1678
 			// button states
1679
-			$output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1680
-			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1679
+			$output .= $is_var ? $prefix . " .btn-{$type}{{$transition }} " : '';
1680
+			$output .= $prefix . " .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: " . $darker_075 . ";    border-color: " . $darker_10 . ";} ";
1681 1681
 //			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1682
-			$output .= $prefix ." .btn-outline-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-{$type}.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1683
-			$output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active, $prefix .btn-{$type}:not(:disabled):not(.disabled).active, .show>$prefix .btn-{$type}.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
1684
-			$output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-{$type}.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1682
+			$output .= $prefix . " .btn-outline-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-{$type}.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1683
+			$output .= $prefix . " .btn-{$type}:not(:disabled):not(.disabled):active, $prefix .btn-{$type}:not(:disabled):not(.disabled).active, .show>$prefix .btn-{$type}.dropdown-toggle{background-color: " . $darker_10 . ";    border-color: " . $darker_125 . ";} ";
1684
+			$output .= $prefix . " .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-{$type}.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1685 1685
 
1686
-			if ( $type == 'primary' ) {
1686
+			if ($type == 'primary') {
1687 1687
 				// dropdown's
1688 1688
 				$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1689 1689
 
@@ -1695,9 +1695,9 @@  discard block
 block discarded – undo
1695 1695
 			}
1696 1696
 
1697 1697
             // alerts
1698
-			if ( $aui_bs5 ) {
1698
+			if ($aui_bs5) {
1699 1699
 //				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1700
-				$output .= $prefix ." .alert-{$type} {--bs-alert-bg: rgba(var(--bs-{$type}-rgb), .1 ) !important;--bs-alert-border-color: rgba(var(--bs-{$type}-rgb), .25 ) !important;--bs-alert-color: rgba(var(--bs-{$type}-rgb), 1 ) !important;} ";
1700
+				$output .= $prefix . " .alert-{$type} {--bs-alert-bg: rgba(var(--bs-{$type}-rgb), .1 ) !important;--bs-alert-border-color: rgba(var(--bs-{$type}-rgb), .25 ) !important;--bs-alert-color: rgba(var(--bs-{$type}-rgb), 1 ) !important;} ";
1701 1701
 			}
1702 1702
 
1703 1703
 			return $output;
@@ -1713,11 +1713,11 @@  discard block
 block discarded – undo
1713 1713
 		 *
1714 1714
 		 * @return string
1715 1715
 		 */
1716
-		public static function css_primary($color_code,$compatibility, $use_variable = false){
1716
+		public static function css_primary($color_code, $compatibility, $use_variable = false) {
1717 1717
 
1718
-			if(!$use_variable){
1718
+			if (!$use_variable) {
1719 1719
 				$color_code = sanitize_hex_color($color_code);
1720
-				if(!$color_code){return '';}
1720
+				if (!$color_code) {return ''; }
1721 1721
 			}
1722 1722
 
1723 1723
 			/**
@@ -1725,36 +1725,36 @@  discard block
 block discarded – undo
1725 1725
 			 */
1726 1726
 			$selectors = array(
1727 1727
 				'a' => array('c'),
1728
-				'.btn-primary' => array('b','o'),
1729
-				'.btn-primary.disabled' => array('b','o'),
1730
-				'.btn-primary:disabled' => array('b','o'),
1731
-				'.btn-outline-primary' => array('c','o'),
1732
-				'.btn-outline-primary:hover' => array('b','o'),
1733
-				'.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'),
1734
-				'.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'),
1735
-				'.show>.btn-outline-primary.dropdown-toggle' => array('b','o'),
1728
+				'.btn-primary' => array('b', 'o'),
1729
+				'.btn-primary.disabled' => array('b', 'o'),
1730
+				'.btn-primary:disabled' => array('b', 'o'),
1731
+				'.btn-outline-primary' => array('c', 'o'),
1732
+				'.btn-outline-primary:hover' => array('b', 'o'),
1733
+				'.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b', 'o'),
1734
+				'.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b', 'o'),
1735
+				'.show>.btn-outline-primary.dropdown-toggle' => array('b', 'o'),
1736 1736
 				'.btn-link' => array('c'),
1737 1737
 				'.dropdown-item.active' => array('b'),
1738
-				'.custom-control-input:checked~.custom-control-label::before' => array('b','o'),
1739
-				'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'),
1738
+				'.custom-control-input:checked~.custom-control-label::before' => array('b', 'o'),
1739
+				'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b', 'o'),
1740 1740
 //				'.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1741 1741
 //				'.custom-range::-moz-range-thumb' => array('b'),
1742 1742
 //				'.custom-range::-ms-thumb' => array('b'),
1743 1743
 				'.nav-pills .nav-link.active' => array('b'),
1744 1744
 				'.nav-pills .show>.nav-link' => array('b'),
1745 1745
 				'.page-link' => array('c'),
1746
-				'.page-item.active .page-link' => array('b','o'),
1746
+				'.page-item.active .page-link' => array('b', 'o'),
1747 1747
 				'.badge-primary' => array('b'),
1748
-				'.alert-primary' => array('b','o'),
1748
+				'.alert-primary' => array('b', 'o'),
1749 1749
 				'.progress-bar' => array('b'),
1750
-				'.list-group-item.active' => array('b','o'),
1751
-				'.bg-primary' => array('b','f'),
1750
+				'.list-group-item.active' => array('b', 'o'),
1751
+				'.bg-primary' => array('b', 'f'),
1752 1752
 				'.btn-link.btn-primary' => array('c'),
1753 1753
 				'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1754 1754
 			);
1755 1755
 
1756 1756
 			$important_selectors = array(
1757
-				'.bg-primary' => array('b','f'),
1757
+				'.bg-primary' => array('b', 'f'),
1758 1758
 				'.border-primary' => array('o'),
1759 1759
 				'.text-primary' => array('c'),
1760 1760
 			);
@@ -1771,88 +1771,88 @@  discard block
 block discarded – undo
1771 1771
 			$output = '';
1772 1772
 
1773 1773
 			// build rules into each type
1774
-			foreach($selectors as $selector => $types){
1775
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1776
-				$types = array_combine($types,$types);
1777
-				if(isset($types['c'])){$color[] = $selector;}
1778
-				if(isset($types['b'])){$background[] = $selector;}
1779
-				if(isset($types['o'])){$border[] = $selector;}
1780
-				if(isset($types['f'])){$fill[] = $selector;}
1774
+			foreach ($selectors as $selector => $types) {
1775
+				$selector = $compatibility ? ".bsui " . $selector : $selector;
1776
+				$types = array_combine($types, $types);
1777
+				if (isset($types['c'])) {$color[] = $selector; }
1778
+				if (isset($types['b'])) {$background[] = $selector; }
1779
+				if (isset($types['o'])) {$border[] = $selector; }
1780
+				if (isset($types['f'])) {$fill[] = $selector; }
1781 1781
 			}
1782 1782
 
1783 1783
 			// build rules into each type
1784
-			foreach($important_selectors as $selector => $types){
1785
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1786
-				$types = array_combine($types,$types);
1787
-				if(isset($types['c'])){$color_i[] = $selector;}
1788
-				if(isset($types['b'])){$background_i[] = $selector;}
1789
-				if(isset($types['o'])){$border_i[] = $selector;}
1790
-				if(isset($types['f'])){$fill_i[] = $selector;}
1784
+			foreach ($important_selectors as $selector => $types) {
1785
+				$selector = $compatibility ? ".bsui " . $selector : $selector;
1786
+				$types = array_combine($types, $types);
1787
+				if (isset($types['c'])) {$color_i[] = $selector; }
1788
+				if (isset($types['b'])) {$background_i[] = $selector; }
1789
+				if (isset($types['o'])) {$border_i[] = $selector; }
1790
+				if (isset($types['f'])) {$fill_i[] = $selector; }
1791 1791
 			}
1792 1792
 
1793 1793
 			// add any color rules
1794
-			if(!empty($color)){
1795
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1794
+			if (!empty($color)) {
1795
+				$output .= implode(",", $color) . "{color: $color_code;} ";
1796 1796
 			}
1797
-			if(!empty($color_i)){
1798
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1797
+			if (!empty($color_i)) {
1798
+				$output .= implode(",", $color_i) . "{color: $color_code !important;} ";
1799 1799
 			}
1800 1800
 
1801 1801
 			// add any background color rules
1802
-			if(!empty($background)){
1803
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1802
+			if (!empty($background)) {
1803
+				$output .= implode(",", $background) . "{background-color: $color_code;} ";
1804 1804
 			}
1805
-			if(!empty($background_i)){
1806
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1805
+			if (!empty($background_i)) {
1806
+				$output .= implode(",", $background_i) . "{background-color: $color_code !important;} ";
1807 1807
 			}
1808 1808
 
1809 1809
 			// add any border color rules
1810
-			if(!empty($border)){
1811
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1810
+			if (!empty($border)) {
1811
+				$output .= implode(",", $border) . "{border-color: $color_code;} ";
1812 1812
 			}
1813
-			if(!empty($border_i)){
1814
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1813
+			if (!empty($border_i)) {
1814
+				$output .= implode(",", $border_i) . "{border-color: $color_code !important;} ";
1815 1815
 			}
1816 1816
 
1817 1817
 			// add any fill color rules
1818
-			if(!empty($fill)){
1819
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1818
+			if (!empty($fill)) {
1819
+				$output .= implode(",", $fill) . "{fill: $color_code;} ";
1820 1820
 			}
1821
-			if(!empty($fill_i)){
1822
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1821
+			if (!empty($fill_i)) {
1822
+				$output .= implode(",", $fill_i) . "{fill: $color_code !important;} ";
1823 1823
 			}
1824 1824
 
1825 1825
 
1826 1826
 			$prefix = $compatibility ? ".bsui " : "";
1827 1827
 
1828 1828
 			// darken
1829
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1830
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1831
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1829
+			$darker_075 = self::css_hex_lighten_darken($color_code, "-0.075");
1830
+			$darker_10 = self::css_hex_lighten_darken($color_code, "-0.10");
1831
+			$darker_125 = self::css_hex_lighten_darken($color_code, "-0.125");
1832 1832
 
1833 1833
 			// lighten
1834
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1834
+			$lighten_25 = self::css_hex_lighten_darken($color_code, "0.25");
1835 1835
 
1836 1836
 			// opacity see https://css-tricks.com/8-digit-hex-codes/
1837
-			$op_25 = $color_code."40"; // 25% opacity
1837
+			$op_25 = $color_code . "40"; // 25% opacity
1838 1838
 
1839 1839
 
1840 1840
 			// button states
1841
-			$output .= $prefix ." .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1842
-			$output .= $prefix ." .btn-outline-primary:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-primary.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1843
-			$output .= $prefix ." .btn-primary:not(:disabled):not(.disabled):active, $prefix .btn-primary:not(:disabled):not(.disabled).active, .show>$prefix .btn-primary.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
1844
-			$output .= $prefix ." .btn-primary:not(:disabled):not(.disabled):active:focus, $prefix .btn-primary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-primary.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1841
+			$output .= $prefix . " .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: " . $darker_075 . ";    border-color: " . $darker_10 . ";} ";
1842
+			$output .= $prefix . " .btn-outline-primary:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-primary.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1843
+			$output .= $prefix . " .btn-primary:not(:disabled):not(.disabled):active, $prefix .btn-primary:not(:disabled):not(.disabled).active, .show>$prefix .btn-primary.dropdown-toggle{background-color: " . $darker_10 . ";    border-color: " . $darker_125 . ";} ";
1844
+			$output .= $prefix . " .btn-primary:not(:disabled):not(.disabled):active:focus, $prefix .btn-primary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-primary.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1845 1845
 
1846 1846
 
1847 1847
 			// dropdown's
1848
-			$output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1848
+			$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1849 1849
 
1850 1850
 
1851 1851
 			// input states
1852
-			$output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} ";
1852
+			$output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
1853 1853
 
1854 1854
 			// page link
1855
-			$output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1855
+			$output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1856 1856
 
1857 1857
 			return $output;
1858 1858
 		}
@@ -1866,30 +1866,30 @@  discard block
 block discarded – undo
1866 1866
 		 *
1867 1867
 		 * @return string
1868 1868
 		 */
1869
-		public static function css_secondary($color_code,$compatibility){;
1869
+		public static function css_secondary($color_code, $compatibility) {;
1870 1870
 			$color_code = sanitize_hex_color($color_code);
1871
-			if(!$color_code){return '';}
1871
+			if (!$color_code) {return ''; }
1872 1872
 			/**
1873 1873
 			 * c = color, b = background color, o = border-color, f = fill
1874 1874
 			 */
1875 1875
 			$selectors = array(
1876
-				'.btn-secondary' => array('b','o'),
1877
-				'.btn-secondary.disabled' => array('b','o'),
1878
-				'.btn-secondary:disabled' => array('b','o'),
1879
-				'.btn-outline-secondary' => array('c','o'),
1880
-				'.btn-outline-secondary:hover' => array('b','o'),
1876
+				'.btn-secondary' => array('b', 'o'),
1877
+				'.btn-secondary.disabled' => array('b', 'o'),
1878
+				'.btn-secondary:disabled' => array('b', 'o'),
1879
+				'.btn-outline-secondary' => array('c', 'o'),
1880
+				'.btn-outline-secondary:hover' => array('b', 'o'),
1881 1881
 				'.btn-outline-secondary.disabled' => array('c'),
1882 1882
 				'.btn-outline-secondary:disabled' => array('c'),
1883
-				'.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'),
1884
-				'.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'),
1885
-				'.btn-outline-secondary.dropdown-toggle' => array('b','o'),
1883
+				'.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b', 'o'),
1884
+				'.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b', 'o'),
1885
+				'.btn-outline-secondary.dropdown-toggle' => array('b', 'o'),
1886 1886
 				'.badge-secondary' => array('b'),
1887
-				'.alert-secondary' => array('b','o'),
1887
+				'.alert-secondary' => array('b', 'o'),
1888 1888
 				'.btn-link.btn-secondary' => array('c'),
1889 1889
 			);
1890 1890
 
1891 1891
 			$important_selectors = array(
1892
-				'.bg-secondary' => array('b','f'),
1892
+				'.bg-secondary' => array('b', 'f'),
1893 1893
 				'.border-secondary' => array('o'),
1894 1894
 				'.text-secondary' => array('c'),
1895 1895
 			);
@@ -1906,77 +1906,77 @@  discard block
 block discarded – undo
1906 1906
 			$output = '';
1907 1907
 
1908 1908
 			// build rules into each type
1909
-			foreach($selectors as $selector => $types){
1910
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1911
-				$types = array_combine($types,$types);
1912
-				if(isset($types['c'])){$color[] = $selector;}
1913
-				if(isset($types['b'])){$background[] = $selector;}
1914
-				if(isset($types['o'])){$border[] = $selector;}
1915
-				if(isset($types['f'])){$fill[] = $selector;}
1909
+			foreach ($selectors as $selector => $types) {
1910
+				$selector = $compatibility ? ".bsui " . $selector : $selector;
1911
+				$types = array_combine($types, $types);
1912
+				if (isset($types['c'])) {$color[] = $selector; }
1913
+				if (isset($types['b'])) {$background[] = $selector; }
1914
+				if (isset($types['o'])) {$border[] = $selector; }
1915
+				if (isset($types['f'])) {$fill[] = $selector; }
1916 1916
 			}
1917 1917
 
1918 1918
 			// build rules into each type
1919
-			foreach($important_selectors as $selector => $types){
1920
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1921
-				$types = array_combine($types,$types);
1922
-				if(isset($types['c'])){$color_i[] = $selector;}
1923
-				if(isset($types['b'])){$background_i[] = $selector;}
1924
-				if(isset($types['o'])){$border_i[] = $selector;}
1925
-				if(isset($types['f'])){$fill_i[] = $selector;}
1919
+			foreach ($important_selectors as $selector => $types) {
1920
+				$selector = $compatibility ? ".bsui " . $selector : $selector;
1921
+				$types = array_combine($types, $types);
1922
+				if (isset($types['c'])) {$color_i[] = $selector; }
1923
+				if (isset($types['b'])) {$background_i[] = $selector; }
1924
+				if (isset($types['o'])) {$border_i[] = $selector; }
1925
+				if (isset($types['f'])) {$fill_i[] = $selector; }
1926 1926
 			}
1927 1927
 
1928 1928
 			// add any color rules
1929
-			if(!empty($color)){
1930
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1929
+			if (!empty($color)) {
1930
+				$output .= implode(",", $color) . "{color: $color_code;} ";
1931 1931
 			}
1932
-			if(!empty($color_i)){
1933
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1932
+			if (!empty($color_i)) {
1933
+				$output .= implode(",", $color_i) . "{color: $color_code !important;} ";
1934 1934
 			}
1935 1935
 
1936 1936
 			// add any background color rules
1937
-			if(!empty($background)){
1938
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1937
+			if (!empty($background)) {
1938
+				$output .= implode(",", $background) . "{background-color: $color_code;} ";
1939 1939
 			}
1940
-			if(!empty($background_i)){
1941
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1940
+			if (!empty($background_i)) {
1941
+				$output .= implode(",", $background_i) . "{background-color: $color_code !important;} ";
1942 1942
 			}
1943 1943
 
1944 1944
 			// add any border color rules
1945
-			if(!empty($border)){
1946
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1945
+			if (!empty($border)) {
1946
+				$output .= implode(",", $border) . "{border-color: $color_code;} ";
1947 1947
 			}
1948
-			if(!empty($border_i)){
1949
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1948
+			if (!empty($border_i)) {
1949
+				$output .= implode(",", $border_i) . "{border-color: $color_code !important;} ";
1950 1950
 			}
1951 1951
 
1952 1952
 			// add any fill color rules
1953
-			if(!empty($fill)){
1954
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1953
+			if (!empty($fill)) {
1954
+				$output .= implode(",", $fill) . "{fill: $color_code;} ";
1955 1955
 			}
1956
-			if(!empty($fill_i)){
1957
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1956
+			if (!empty($fill_i)) {
1957
+				$output .= implode(",", $fill_i) . "{fill: $color_code !important;} ";
1958 1958
 			}
1959 1959
 
1960 1960
 
1961 1961
 			$prefix = $compatibility ? ".bsui " : "";
1962 1962
 
1963 1963
 			// darken
1964
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1965
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1966
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1964
+			$darker_075 = self::css_hex_lighten_darken($color_code, "-0.075");
1965
+			$darker_10 = self::css_hex_lighten_darken($color_code, "-0.10");
1966
+			$darker_125 = self::css_hex_lighten_darken($color_code, "-0.125");
1967 1967
 
1968 1968
 			// lighten
1969
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1969
+			$lighten_25 = self::css_hex_lighten_darken($color_code, "0.25");
1970 1970
 
1971 1971
 			// opacity see https://css-tricks.com/8-digit-hex-codes/
1972
-			$op_25 = $color_code."40"; // 25% opacity
1972
+			$op_25 = $color_code . "40"; // 25% opacity
1973 1973
 
1974 1974
 
1975 1975
 			// button states
1976
-			$output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1977
-			$output .= $prefix ." .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-secondary.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1978
-			$output .= $prefix ." .btn-secondary:not(:disabled):not(.disabled):active, $prefix .btn-secondary:not(:disabled):not(.disabled).active, .show>$prefix .btn-secondary.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
1979
-			$output .= $prefix ." .btn-secondary:not(:disabled):not(.disabled):active:focus, $prefix .btn-secondary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-secondary.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1976
+			$output .= $prefix . " .btn-secondary:hover{background-color: " . $darker_075 . ";    border-color: " . $darker_10 . ";} ";
1977
+			$output .= $prefix . " .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-secondary.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1978
+			$output .= $prefix . " .btn-secondary:not(:disabled):not(.disabled):active, $prefix .btn-secondary:not(:disabled):not(.disabled).active, .show>$prefix .btn-secondary.dropdown-toggle{background-color: " . $darker_10 . ";    border-color: " . $darker_125 . ";} ";
1979
+			$output .= $prefix . " .btn-secondary:not(:disabled):not(.disabled):active:focus, $prefix .btn-secondary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-secondary.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1980 1980
 
1981 1981
 
1982 1982
 			return $output;
@@ -2012,8 +2012,8 @@  discard block
 block discarded – undo
2012 2012
 		/**
2013 2013
 		 * Check if we should display examples.
2014 2014
 		 */
2015
-		public function maybe_show_examples(){
2016
-			if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){
2015
+		public function maybe_show_examples() {
2016
+			if (current_user_can('manage_options') && isset($_REQUEST['preview-aui'])) {
2017 2017
 				echo "<head>";
2018 2018
 				wp_head();
2019 2019
 				echo "</head>";
@@ -2029,7 +2029,7 @@  discard block
 block discarded – undo
2029 2029
 		 *
2030 2030
 		 * @return string
2031 2031
 		 */
2032
-		public function get_examples(){
2032
+		public function get_examples() {
2033 2033
 			$output = '';
2034 2034
 
2035 2035
 
@@ -2135,74 +2135,74 @@  discard block
 block discarded – undo
2135 2135
 		 */
2136 2136
 		public static function calendar_params() {
2137 2137
 			$params = array(
2138
-				'month_long_1' => __( 'January', 'aui' ),
2139
-				'month_long_2' => __( 'February', 'aui' ),
2140
-				'month_long_3' => __( 'March', 'aui' ),
2141
-				'month_long_4' => __( 'April', 'aui' ),
2142
-				'month_long_5' => __( 'May', 'aui' ),
2143
-				'month_long_6' => __( 'June', 'aui' ),
2144
-				'month_long_7' => __( 'July', 'aui' ),
2145
-				'month_long_8' => __( 'August', 'aui' ),
2146
-				'month_long_9' => __( 'September', 'aui' ),
2147
-				'month_long_10' => __( 'October', 'aui' ),
2148
-				'month_long_11' => __( 'November', 'aui' ),
2149
-				'month_long_12' => __( 'December', 'aui' ),
2150
-				'month_s_1' => _x( 'Jan', 'January abbreviation', 'aui' ),
2151
-				'month_s_2' => _x( 'Feb', 'February abbreviation', 'aui' ),
2152
-				'month_s_3' => _x( 'Mar', 'March abbreviation', 'aui' ),
2153
-				'month_s_4' => _x( 'Apr', 'April abbreviation', 'aui' ),
2154
-				'month_s_5' => _x( 'May', 'May abbreviation', 'aui' ),
2155
-				'month_s_6' => _x( 'Jun', 'June abbreviation', 'aui' ),
2156
-				'month_s_7' => _x( 'Jul', 'July abbreviation', 'aui' ),
2157
-				'month_s_8' => _x( 'Aug', 'August abbreviation', 'aui' ),
2158
-				'month_s_9' => _x( 'Sep', 'September abbreviation', 'aui' ),
2159
-				'month_s_10' => _x( 'Oct', 'October abbreviation', 'aui' ),
2160
-				'month_s_11' => _x( 'Nov', 'November abbreviation', 'aui' ),
2161
-				'month_s_12' => _x( 'Dec', 'December abbreviation', 'aui' ),
2162
-				'day_s1_1' => _x( 'S', 'Sunday initial', 'aui' ),
2163
-				'day_s1_2' => _x( 'M', 'Monday initial', 'aui' ),
2164
-				'day_s1_3' => _x( 'T', 'Tuesday initial', 'aui' ),
2165
-				'day_s1_4' => _x( 'W', 'Wednesday initial', 'aui' ),
2166
-				'day_s1_5' => _x( 'T', 'Friday initial', 'aui' ),
2167
-				'day_s1_6' => _x( 'F', 'Thursday initial', 'aui' ),
2168
-				'day_s1_7' => _x( 'S', 'Saturday initial', 'aui' ),
2169
-				'day_s2_1' => __( 'Su', 'aui' ),
2170
-				'day_s2_2' => __( 'Mo', 'aui' ),
2171
-				'day_s2_3' => __( 'Tu', 'aui' ),
2172
-				'day_s2_4' => __( 'We', 'aui' ),
2173
-				'day_s2_5' => __( 'Th', 'aui' ),
2174
-				'day_s2_6' => __( 'Fr', 'aui' ),
2175
-				'day_s2_7' => __( 'Sa', 'aui' ),
2176
-				'day_s3_1' => __( 'Sun', 'aui' ),
2177
-				'day_s3_2' => __( 'Mon', 'aui' ),
2178
-				'day_s3_3' => __( 'Tue', 'aui' ),
2179
-				'day_s3_4' => __( 'Wed', 'aui' ),
2180
-				'day_s3_5' => __( 'Thu', 'aui' ),
2181
-				'day_s3_6' => __( 'Fri', 'aui' ),
2182
-				'day_s3_7' => __( 'Sat', 'aui' ),
2183
-				'day_s5_1' => __( 'Sunday', 'aui' ),
2184
-				'day_s5_2' => __( 'Monday', 'aui' ),
2185
-				'day_s5_3' => __( 'Tuesday', 'aui' ),
2186
-				'day_s5_4' => __( 'Wednesday', 'aui' ),
2187
-				'day_s5_5' => __( 'Thursday', 'aui' ),
2188
-				'day_s5_6' => __( 'Friday', 'aui' ),
2189
-				'day_s5_7' => __( 'Saturday', 'aui' ),
2190
-				'am_lower' => __( 'am', 'aui' ),
2191
-				'pm_lower' => __( 'pm', 'aui' ),
2192
-				'am_upper' => __( 'AM', 'aui' ),
2193
-				'pm_upper' => __( 'PM', 'aui' ),
2194
-				'firstDayOfWeek' => (int) get_option( 'start_of_week' ),
2138
+				'month_long_1' => __('January', 'aui'),
2139
+				'month_long_2' => __('February', 'aui'),
2140
+				'month_long_3' => __('March', 'aui'),
2141
+				'month_long_4' => __('April', 'aui'),
2142
+				'month_long_5' => __('May', 'aui'),
2143
+				'month_long_6' => __('June', 'aui'),
2144
+				'month_long_7' => __('July', 'aui'),
2145
+				'month_long_8' => __('August', 'aui'),
2146
+				'month_long_9' => __('September', 'aui'),
2147
+				'month_long_10' => __('October', 'aui'),
2148
+				'month_long_11' => __('November', 'aui'),
2149
+				'month_long_12' => __('December', 'aui'),
2150
+				'month_s_1' => _x('Jan', 'January abbreviation', 'aui'),
2151
+				'month_s_2' => _x('Feb', 'February abbreviation', 'aui'),
2152
+				'month_s_3' => _x('Mar', 'March abbreviation', 'aui'),
2153
+				'month_s_4' => _x('Apr', 'April abbreviation', 'aui'),
2154
+				'month_s_5' => _x('May', 'May abbreviation', 'aui'),
2155
+				'month_s_6' => _x('Jun', 'June abbreviation', 'aui'),
2156
+				'month_s_7' => _x('Jul', 'July abbreviation', 'aui'),
2157
+				'month_s_8' => _x('Aug', 'August abbreviation', 'aui'),
2158
+				'month_s_9' => _x('Sep', 'September abbreviation', 'aui'),
2159
+				'month_s_10' => _x('Oct', 'October abbreviation', 'aui'),
2160
+				'month_s_11' => _x('Nov', 'November abbreviation', 'aui'),
2161
+				'month_s_12' => _x('Dec', 'December abbreviation', 'aui'),
2162
+				'day_s1_1' => _x('S', 'Sunday initial', 'aui'),
2163
+				'day_s1_2' => _x('M', 'Monday initial', 'aui'),
2164
+				'day_s1_3' => _x('T', 'Tuesday initial', 'aui'),
2165
+				'day_s1_4' => _x('W', 'Wednesday initial', 'aui'),
2166
+				'day_s1_5' => _x('T', 'Friday initial', 'aui'),
2167
+				'day_s1_6' => _x('F', 'Thursday initial', 'aui'),
2168
+				'day_s1_7' => _x('S', 'Saturday initial', 'aui'),
2169
+				'day_s2_1' => __('Su', 'aui'),
2170
+				'day_s2_2' => __('Mo', 'aui'),
2171
+				'day_s2_3' => __('Tu', 'aui'),
2172
+				'day_s2_4' => __('We', 'aui'),
2173
+				'day_s2_5' => __('Th', 'aui'),
2174
+				'day_s2_6' => __('Fr', 'aui'),
2175
+				'day_s2_7' => __('Sa', 'aui'),
2176
+				'day_s3_1' => __('Sun', 'aui'),
2177
+				'day_s3_2' => __('Mon', 'aui'),
2178
+				'day_s3_3' => __('Tue', 'aui'),
2179
+				'day_s3_4' => __('Wed', 'aui'),
2180
+				'day_s3_5' => __('Thu', 'aui'),
2181
+				'day_s3_6' => __('Fri', 'aui'),
2182
+				'day_s3_7' => __('Sat', 'aui'),
2183
+				'day_s5_1' => __('Sunday', 'aui'),
2184
+				'day_s5_2' => __('Monday', 'aui'),
2185
+				'day_s5_3' => __('Tuesday', 'aui'),
2186
+				'day_s5_4' => __('Wednesday', 'aui'),
2187
+				'day_s5_5' => __('Thursday', 'aui'),
2188
+				'day_s5_6' => __('Friday', 'aui'),
2189
+				'day_s5_7' => __('Saturday', 'aui'),
2190
+				'am_lower' => __('am', 'aui'),
2191
+				'pm_lower' => __('pm', 'aui'),
2192
+				'am_upper' => __('AM', 'aui'),
2193
+				'pm_upper' => __('PM', 'aui'),
2194
+				'firstDayOfWeek' => (int) get_option('start_of_week'),
2195 2195
 				'time_24hr' => false,
2196
-				'year' => __( 'Year', 'aui' ),
2197
-				'hour' => __( 'Hour', 'aui' ),
2198
-				'minute' => __( 'Minute', 'aui' ),
2199
-				'weekAbbreviation' => __( 'Wk', 'aui' ),
2200
-				'rangeSeparator' => __( ' to ', 'aui' ),
2201
-				'scrollTitle' => __( 'Scroll to increment', 'aui' ),
2202
-				'toggleTitle' => __( 'Click to toggle', 'aui' )
2196
+				'year' => __('Year', 'aui'),
2197
+				'hour' => __('Hour', 'aui'),
2198
+				'minute' => __('Minute', 'aui'),
2199
+				'weekAbbreviation' => __('Wk', 'aui'),
2200
+				'rangeSeparator' => __(' to ', 'aui'),
2201
+				'scrollTitle' => __('Scroll to increment', 'aui'),
2202
+				'toggleTitle' => __('Click to toggle', 'aui')
2203 2203
 			);
2204 2204
 
2205
-			return apply_filters( 'ayecode_ui_calendar_params', $params );
2205
+			return apply_filters('ayecode_ui_calendar_params', $params);
2206 2206
 		}
2207 2207
 
2208 2208
 		/**
@@ -2215,47 +2215,47 @@  discard block
 block discarded – undo
2215 2215
 		public static function flatpickr_locale() {
2216 2216
 			$params = self::calendar_params();
2217 2217
 
2218
-			if ( is_string( $params ) ) {
2219
-				$params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' );
2218
+			if (is_string($params)) {
2219
+				$params = html_entity_decode($params, ENT_QUOTES, 'UTF-8');
2220 2220
 			} else {
2221
-				foreach ( (array) $params as $key => $value ) {
2222
-					if ( ! is_scalar( $value ) ) {
2221
+				foreach ((array) $params as $key => $value) {
2222
+					if (!is_scalar($value)) {
2223 2223
 						continue;
2224 2224
 					}
2225 2225
 
2226
-					$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2226
+					$params[$key] = html_entity_decode((string) $value, ENT_QUOTES, 'UTF-8');
2227 2227
 				}
2228 2228
 			}
2229 2229
 
2230 2230
 			$day_s3 = array();
2231 2231
 			$day_s5 = array();
2232 2232
 
2233
-			for ( $i = 1; $i <= 7; $i ++ ) {
2234
-				$day_s3[] = addslashes( $params[ 'day_s3_' . $i ] );
2235
-				$day_s5[] = addslashes( $params[ 'day_s3_' . $i ] );
2233
+			for ($i = 1; $i <= 7; $i++) {
2234
+				$day_s3[] = addslashes($params['day_s3_' . $i]);
2235
+				$day_s5[] = addslashes($params['day_s3_' . $i]);
2236 2236
 			}
2237 2237
 
2238 2238
 			$month_s = array();
2239 2239
 			$month_long = array();
2240 2240
 
2241
-			for ( $i = 1; $i <= 12; $i ++ ) {
2242
-				$month_s[] = addslashes( $params[ 'month_s_' . $i ] );
2243
-				$month_long[] = addslashes( $params[ 'month_long_' . $i ] );
2241
+			for ($i = 1; $i <= 12; $i++) {
2242
+				$month_s[] = addslashes($params['month_s_' . $i]);
2243
+				$month_long[] = addslashes($params['month_long_' . $i]);
2244 2244
 			}
2245 2245
 
2246 2246
 			ob_start();
2247
-		if ( 0 ) { ?><script><?php } ?>
2247
+		if (0) { ?><script><?php } ?>
2248 2248
                 {
2249 2249
                     weekdays: {
2250
-                        shorthand: ['<?php echo implode( "','", $day_s3 ); ?>'],
2251
-                            longhand: ['<?php echo implode( "','", $day_s5 ); ?>'],
2250
+                        shorthand: ['<?php echo implode("','", $day_s3); ?>'],
2251
+                            longhand: ['<?php echo implode("','", $day_s5); ?>'],
2252 2252
                     },
2253 2253
                     months: {
2254
-                        shorthand: ['<?php echo implode( "','", $month_s ); ?>'],
2255
-                            longhand: ['<?php echo implode( "','", $month_long ); ?>'],
2254
+                        shorthand: ['<?php echo implode("','", $month_s); ?>'],
2255
+                            longhand: ['<?php echo implode("','", $month_long); ?>'],
2256 2256
                     },
2257 2257
                     daysInMonth: [31,28,31,30,31,30,31,31,30,31,30,31],
2258
-                        firstDayOfWeek: <?php echo (int) $params[ 'firstDayOfWeek' ]; ?>,
2258
+                        firstDayOfWeek: <?php echo (int) $params['firstDayOfWeek']; ?>,
2259 2259
                     ordinal: function (nth) {
2260 2260
                         var s = nth % 100;
2261 2261
                         if (s > 3 && s < 21)
@@ -2271,21 +2271,21 @@  discard block
 block discarded – undo
2271 2271
                                 return "th";
2272 2272
                         }
2273 2273
                     },
2274
-                    rangeSeparator: '<?php echo addslashes( $params[ 'rangeSeparator' ] ); ?>',
2275
-                        weekAbbreviation: '<?php echo addslashes( $params[ 'weekAbbreviation' ] ); ?>',
2276
-                    scrollTitle: '<?php echo addslashes( $params[ 'scrollTitle' ] ); ?>',
2277
-                    toggleTitle: '<?php echo addslashes( $params[ 'toggleTitle' ] ); ?>',
2278
-                    amPM: ['<?php echo addslashes( $params[ 'am_upper' ] ); ?>','<?php echo addslashes( $params[ 'pm_upper' ] ); ?>'],
2279
-                    yearAriaLabel: '<?php echo addslashes( $params[ 'year' ] ); ?>',
2280
-                    hourAriaLabel: '<?php echo addslashes( $params[ 'hour' ] ); ?>',
2281
-                    minuteAriaLabel: '<?php echo addslashes( $params[ 'minute' ] ); ?>',
2282
-                    time_24hr: <?php echo ( $params[ 'time_24hr' ] ? 'true' : 'false' ) ; ?>
2274
+                    rangeSeparator: '<?php echo addslashes($params['rangeSeparator']); ?>',
2275
+                        weekAbbreviation: '<?php echo addslashes($params['weekAbbreviation']); ?>',
2276
+                    scrollTitle: '<?php echo addslashes($params['scrollTitle']); ?>',
2277
+                    toggleTitle: '<?php echo addslashes($params['toggleTitle']); ?>',
2278
+                    amPM: ['<?php echo addslashes($params['am_upper']); ?>','<?php echo addslashes($params['pm_upper']); ?>'],
2279
+                    yearAriaLabel: '<?php echo addslashes($params['year']); ?>',
2280
+                    hourAriaLabel: '<?php echo addslashes($params['hour']); ?>',
2281
+                    minuteAriaLabel: '<?php echo addslashes($params['minute']); ?>',
2282
+                    time_24hr: <?php echo ($params['time_24hr'] ? 'true' : 'false'); ?>
2283 2283
                 }
2284
-				<?php if ( 0 ) { ?></script><?php } ?>
2284
+				<?php if (0) { ?></script><?php } ?>
2285 2285
 			<?php
2286 2286
 			$locale = ob_get_clean();
2287 2287
 
2288
-			return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) );
2288
+			return apply_filters('ayecode_ui_flatpickr_locale', trim($locale));
2289 2289
 		}
2290 2290
 
2291 2291
 		/**
@@ -2297,20 +2297,20 @@  discard block
 block discarded – undo
2297 2297
 		 */
2298 2298
 		public static function select2_params() {
2299 2299
 			$params = array(
2300
-				'i18n_select_state_text'    => esc_attr__( 'Select an option&hellip;', 'aui' ),
2301
-				'i18n_no_matches'           => _x( 'No matches found', 'enhanced select', 'aui' ),
2302
-				'i18n_ajax_error'           => _x( 'Loading failed', 'enhanced select', 'aui' ),
2303
-				'i18n_input_too_short_1'    => _x( 'Please enter 1 or more characters', 'enhanced select', 'aui' ),
2304
-				'i18n_input_too_short_n'    => _x( 'Please enter %item% or more characters', 'enhanced select', 'aui' ),
2305
-				'i18n_input_too_long_1'     => _x( 'Please delete 1 character', 'enhanced select', 'aui' ),
2306
-				'i18n_input_too_long_n'     => _x( 'Please delete %item% characters', 'enhanced select', 'aui' ),
2307
-				'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'aui' ),
2308
-				'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'aui' ),
2309
-				'i18n_load_more'            => _x( 'Loading more results&hellip;', 'enhanced select', 'aui' ),
2310
-				'i18n_searching'            => _x( 'Searching&hellip;', 'enhanced select', 'aui' )
2300
+				'i18n_select_state_text'    => esc_attr__('Select an option&hellip;', 'aui'),
2301
+				'i18n_no_matches'           => _x('No matches found', 'enhanced select', 'aui'),
2302
+				'i18n_ajax_error'           => _x('Loading failed', 'enhanced select', 'aui'),
2303
+				'i18n_input_too_short_1'    => _x('Please enter 1 or more characters', 'enhanced select', 'aui'),
2304
+				'i18n_input_too_short_n'    => _x('Please enter %item% or more characters', 'enhanced select', 'aui'),
2305
+				'i18n_input_too_long_1'     => _x('Please delete 1 character', 'enhanced select', 'aui'),
2306
+				'i18n_input_too_long_n'     => _x('Please delete %item% characters', 'enhanced select', 'aui'),
2307
+				'i18n_selection_too_long_1' => _x('You can only select 1 item', 'enhanced select', 'aui'),
2308
+				'i18n_selection_too_long_n' => _x('You can only select %item% items', 'enhanced select', 'aui'),
2309
+				'i18n_load_more'            => _x('Loading more results&hellip;', 'enhanced select', 'aui'),
2310
+				'i18n_searching'            => _x('Searching&hellip;', 'enhanced select', 'aui')
2311 2311
 			);
2312 2312
 
2313
-			return apply_filters( 'ayecode_ui_select2_params', $params );
2313
+			return apply_filters('ayecode_ui_select2_params', $params);
2314 2314
 		}
2315 2315
 
2316 2316
 		/**
@@ -2323,17 +2323,17 @@  discard block
 block discarded – undo
2323 2323
 		public static function select2_locale() {
2324 2324
 			$params = self::select2_params();
2325 2325
 
2326
-			foreach ( (array) $params as $key => $value ) {
2327
-				if ( ! is_scalar( $value ) ) {
2326
+			foreach ((array) $params as $key => $value) {
2327
+				if (!is_scalar($value)) {
2328 2328
 					continue;
2329 2329
 				}
2330 2330
 
2331
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2331
+				$params[$key] = html_entity_decode((string) $value, ENT_QUOTES, 'UTF-8');
2332 2332
 			}
2333 2333
 
2334
-			$locale = json_encode( $params );
2334
+			$locale = json_encode($params);
2335 2335
 
2336
-			return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) );
2336
+			return apply_filters('ayecode_ui_select2_locale', trim($locale));
2337 2337
 		}
2338 2338
 
2339 2339
 		/**
@@ -2346,35 +2346,35 @@  discard block
 block discarded – undo
2346 2346
 		public static function timeago_locale() {
2347 2347
 			$params = array(
2348 2348
 				'prefix_ago' => '',
2349
-				'suffix_ago' => ' ' . _x( 'ago', 'time ago', 'aui' ),
2350
-				'prefix_after' => _x( 'after', 'time ago', 'aui' ) . ' ',
2349
+				'suffix_ago' => ' ' . _x('ago', 'time ago', 'aui'),
2350
+				'prefix_after' => _x('after', 'time ago', 'aui') . ' ',
2351 2351
 				'suffix_after' => '',
2352
-				'seconds' => _x( 'less than a minute', 'time ago', 'aui' ),
2353
-				'minute' => _x( 'about a minute', 'time ago', 'aui' ),
2354
-				'minutes' => _x( '%d minutes', 'time ago', 'aui' ),
2355
-				'hour' => _x( 'about an hour', 'time ago', 'aui' ),
2356
-				'hours' => _x( 'about %d hours', 'time ago', 'aui' ),
2357
-				'day' => _x( 'a day', 'time ago', 'aui' ),
2358
-				'days' => _x( '%d days', 'time ago', 'aui' ),
2359
-				'month' => _x( 'about a month', 'time ago', 'aui' ),
2360
-				'months' => _x( '%d months', 'time ago', 'aui' ),
2361
-				'year' => _x( 'about a year', 'time ago', 'aui' ),
2362
-				'years' => _x( '%d years', 'time ago', 'aui' ),
2352
+				'seconds' => _x('less than a minute', 'time ago', 'aui'),
2353
+				'minute' => _x('about a minute', 'time ago', 'aui'),
2354
+				'minutes' => _x('%d minutes', 'time ago', 'aui'),
2355
+				'hour' => _x('about an hour', 'time ago', 'aui'),
2356
+				'hours' => _x('about %d hours', 'time ago', 'aui'),
2357
+				'day' => _x('a day', 'time ago', 'aui'),
2358
+				'days' => _x('%d days', 'time ago', 'aui'),
2359
+				'month' => _x('about a month', 'time ago', 'aui'),
2360
+				'months' => _x('%d months', 'time ago', 'aui'),
2361
+				'year' => _x('about a year', 'time ago', 'aui'),
2362
+				'years' => _x('%d years', 'time ago', 'aui'),
2363 2363
 			);
2364 2364
 
2365
-			$params = apply_filters( 'ayecode_ui_timeago_params', $params );
2365
+			$params = apply_filters('ayecode_ui_timeago_params', $params);
2366 2366
 
2367
-			foreach ( (array) $params as $key => $value ) {
2368
-				if ( ! is_scalar( $value ) ) {
2367
+			foreach ((array) $params as $key => $value) {
2368
+				if (!is_scalar($value)) {
2369 2369
 					continue;
2370 2370
 				}
2371 2371
 
2372
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2372
+				$params[$key] = html_entity_decode((string) $value, ENT_QUOTES, 'UTF-8');
2373 2373
 			}
2374 2374
 
2375
-			$locale = json_encode( $params );
2375
+			$locale = json_encode($params);
2376 2376
 
2377
-			return apply_filters( 'ayecode_ui_timeago_locale', trim( $locale ) );
2377
+			return apply_filters('ayecode_ui_timeago_locale', trim($locale));
2378 2378
 		}
2379 2379
 
2380 2380
 		/**
@@ -2385,7 +2385,7 @@  discard block
 block discarded – undo
2385 2385
 		 * @return mixed
2386 2386
 		 */
2387 2387
 		public static function minify_js($input) {
2388
-			if(trim($input) === "") return $input;
2388
+			if (trim($input) === "") return $input;
2389 2389
 			return preg_replace(
2390 2390
 				array(
2391 2391
 					// Remove comment(s)
@@ -2417,7 +2417,7 @@  discard block
 block discarded – undo
2417 2417
 		 * @return mixed
2418 2418
 		 */
2419 2419
 		public static function minify_css($input) {
2420
-			if(trim($input) === "") return $input;
2420
+			if (trim($input) === "") return $input;
2421 2421
 			return preg_replace(
2422 2422
 				array(
2423 2423
 					// Remove comment(s)
@@ -2967,12 +2967,12 @@  discard block
 block discarded – undo
2967 2967
                         });
2968 2968
                     }
2969 2969
                 }
2970
-				<?php do_action( 'aui_conditional_fields_js', $this ); ?>
2970
+				<?php do_action('aui_conditional_fields_js', $this); ?>
2971 2971
             </script>
2972 2972
 			<?php
2973 2973
 			$output = ob_get_clean();
2974 2974
 
2975
-			return str_replace( array( '<script>', '</script>' ), '', self::minify_js( $output ) );
2975
+			return str_replace(array('<script>', '</script>'), '', self::minify_js($output));
2976 2976
 		}
2977 2977
 	}
2978 2978
 
Please login to merge, or discard this patch.
Braces   +16 added lines, -12 removed lines patch added patch discarded remove patch
@@ -462,7 +462,7 @@  discard block
 block discarded – undo
462 462
 
463 463
 			if( is_admin() && !$this->is_aui_screen()){
464 464
 				// don't add wp-admin scripts if not requested to
465
-			}else{
465
+			} else{
466 466
 				$css_setting = current_action() == 'wp_enqueue_scripts' ? 'css' : 'css_backend';
467 467
 
468 468
 				$rtl = is_rtl() && ! $aui_bs5 ? '-rtl' : '';
@@ -552,7 +552,7 @@  discard block
 block discarded – undo
552 552
 					// custom changes
553 553
 					if ( $load_fse ) {
554 554
 						wp_add_inline_style( 'ayecode-ui-fse', self::custom_css($compatibility) );
555
-					}else{
555
+					} else{
556 556
 						wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) );
557 557
 
558 558
 					}
@@ -576,7 +576,7 @@  discard block
 block discarded – undo
576 576
 			ob_start();
577 577
 			if ( $aui_bs5 ) {
578 578
 				include_once( dirname( __FILE__ ) . '/inc/bs5-js.php' );
579
-			}else{
579
+			} else{
580 580
 				include_once( dirname( __FILE__ ) . '/inc/bs4-js.php' );
581 581
             }
582 582
 
@@ -647,7 +647,7 @@  discard block
 block discarded – undo
647 647
 
648 648
 			if( is_admin() && !$this->is_aui_screen()){
649 649
 				// don't add wp-admin scripts if not requested to
650
-			}else {
650
+			} else {
651 651
 
652 652
 				$js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend';
653 653
 
@@ -662,7 +662,7 @@  discard block
 block discarded – undo
662 662
 				// iconpicker
663 663
 				if ( defined( 'FAS_ICONPICKER_JS_URL' ) ) {
664 664
 					wp_register_script( 'iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version );
665
-				}else{
665
+				} else{
666 666
 					wp_register_script( 'iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version );
667 667
 				}
668 668
 
@@ -1094,7 +1094,7 @@  discard block
 block discarded – undo
1094 1094
 						$colors[$color['slug']] = esc_attr($color['color']);
1095 1095
 					}
1096 1096
 				}
1097
-			}else{
1097
+			} else{
1098 1098
 				$settings = get_option('aui_options');
1099 1099
 				$colors = array(
1100 1100
 					'primary'   => ! empty( $settings['color_primary'] ) ? $settings['color_primary'] : AUI_PRIMARY_COLOR,
@@ -1232,9 +1232,9 @@  discard block
 block discarded – undo
1232 1232
 
1233 1233
 			if($compatibility===true || $compatibility===1){
1234 1234
 				$compatibility = '.bsui';
1235
-			}elseif(!$compatibility){
1235
+			} elseif(!$compatibility){
1236 1236
 				$compatibility = '';
1237
-			}else{
1237
+			} else{
1238 1238
 				$compatibility = esc_attr($compatibility);
1239 1239
 			}
1240 1240
 
@@ -1517,9 +1517,9 @@  discard block
 block discarded – undo
1517 1517
 
1518 1518
 			if($compatibility===true || $compatibility===1){
1519 1519
 				$compatibility = '.bsui';
1520
-			}elseif(!$compatibility){
1520
+			} elseif(!$compatibility){
1521 1521
 				$compatibility = '';
1522
-			}else{
1522
+			} else{
1523 1523
 				$compatibility = esc_attr($compatibility);
1524 1524
 			}
1525 1525
 
@@ -2385,7 +2385,9 @@  discard block
 block discarded – undo
2385 2385
 		 * @return mixed
2386 2386
 		 */
2387 2387
 		public static function minify_js($input) {
2388
-			if(trim($input) === "") return $input;
2388
+			if(trim($input) === "") {
2389
+			    return $input;
2390
+			}
2389 2391
 			return preg_replace(
2390 2392
 				array(
2391 2393
 					// Remove comment(s)
@@ -2417,7 +2419,9 @@  discard block
 block discarded – undo
2417 2419
 		 * @return mixed
2418 2420
 		 */
2419 2421
 		public static function minify_css($input) {
2420
-			if(trim($input) === "") return $input;
2422
+			if(trim($input) === "") {
2423
+			    return $input;
2424
+			}
2421 2425
 			return preg_replace(
2422 2426
 				array(
2423 2427
 					// Remove comment(s)
Please login to merge, or discard this patch.
Indentation   +1921 added lines, -1921 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,480 +21,480 @@  discard block
 block discarded – undo
21 21
  */
22 22
 if ( ! class_exists( 'AyeCode_UI_Settings' ) ) {
23 23
 
24
-	/**
25
-	 * A Class to be able to change settings for Font Awesome.
26
-	 *
27
-	 * Class AyeCode_UI_Settings
28
-	 * @ver 1.0.0
29
-	 * @todo decide how to implement textdomain
30
-	 */
31
-	class AyeCode_UI_Settings {
32
-
33
-		/**
34
-		 * Class version version.
35
-		 *
36
-		 * @var string
37
-		 */
38
-		public $version = '0.2.1';
39
-
40
-		/**
41
-		 * Class textdomain.
42
-		 *
43
-		 * @var string
44
-		 */
45
-		public $textdomain = 'aui';
46
-
47
-		/**
48
-		 * Latest version of Bootstrap at time of publish published.
49
-		 *
50
-		 * @var string
51
-		 */
52
-		public $latest = "5.2.2";
53
-
54
-		/**
55
-		 * Current version of select2 being used.
56
-		 *
57
-		 * @var string
58
-		 */
59
-		public $select2_version = "4.0.11";
60
-
61
-		/**
62
-		 * The title.
63
-		 *
64
-		 * @var string
65
-		 */
66
-		public $name = 'AyeCode UI';
67
-
68
-		/**
69
-		 * The relative url to the assets.
70
-		 *
71
-		 * @var string
72
-		 */
73
-		public $url = '';
74
-
75
-		/**
76
-		 * Holds the settings values.
77
-		 *
78
-		 * @var array
79
-		 */
80
-		private $settings;
81
-
82
-		/**
83
-		 * AyeCode_UI_Settings instance.
84
-		 *
85
-		 * @access private
86
-		 * @since  1.0.0
87
-		 * @var    AyeCode_UI_Settings There can be only one!
88
-		 */
89
-		private static $instance = null;
90
-
91
-
92
-		/**
93
-		 * Main AyeCode_UI_Settings Instance.
94
-		 *
95
-		 * Ensures only one instance of AyeCode_UI_Settings is loaded or can be loaded.
96
-		 *
97
-		 * @since 1.0.0
98
-		 * @static
99
-		 * @return AyeCode_UI_Settings - Main instance.
100
-		 */
101
-		public static function instance() {
102
-			if ( ! isset( self::$instance ) && ! ( self::$instance instanceof AyeCode_UI_Settings ) ) {
103
-
104
-				self::$instance = new AyeCode_UI_Settings;
105
-
106
-				add_action( 'init', array( self::$instance, 'init' ) ); // set settings
107
-
108
-				if ( is_admin() ) {
109
-					add_action( 'admin_menu', array( self::$instance, 'menu_item' ) );
110
-					add_action( 'admin_init', array( self::$instance, 'register_settings' ) );
111
-
112
-					// Maybe show example page
113
-					add_action( 'template_redirect', array( self::$instance,'maybe_show_examples' ) );
114
-
115
-					if ( defined( 'BLOCKSTRAP_VERSION' ) ) {
116
-						add_filter( 'sd_aui_colors', array( self::$instance,'sd_aui_colors' ), 10, 3 );
117
-					}
118
-				}
24
+    /**
25
+     * A Class to be able to change settings for Font Awesome.
26
+     *
27
+     * Class AyeCode_UI_Settings
28
+     * @ver 1.0.0
29
+     * @todo decide how to implement textdomain
30
+     */
31
+    class AyeCode_UI_Settings {
32
+
33
+        /**
34
+         * Class version version.
35
+         *
36
+         * @var string
37
+         */
38
+        public $version = '0.2.1';
39
+
40
+        /**
41
+         * Class textdomain.
42
+         *
43
+         * @var string
44
+         */
45
+        public $textdomain = 'aui';
46
+
47
+        /**
48
+         * Latest version of Bootstrap at time of publish published.
49
+         *
50
+         * @var string
51
+         */
52
+        public $latest = "5.2.2";
53
+
54
+        /**
55
+         * Current version of select2 being used.
56
+         *
57
+         * @var string
58
+         */
59
+        public $select2_version = "4.0.11";
60
+
61
+        /**
62
+         * The title.
63
+         *
64
+         * @var string
65
+         */
66
+        public $name = 'AyeCode UI';
67
+
68
+        /**
69
+         * The relative url to the assets.
70
+         *
71
+         * @var string
72
+         */
73
+        public $url = '';
74
+
75
+        /**
76
+         * Holds the settings values.
77
+         *
78
+         * @var array
79
+         */
80
+        private $settings;
81
+
82
+        /**
83
+         * AyeCode_UI_Settings instance.
84
+         *
85
+         * @access private
86
+         * @since  1.0.0
87
+         * @var    AyeCode_UI_Settings There can be only one!
88
+         */
89
+        private static $instance = null;
90
+
91
+
92
+        /**
93
+         * Main AyeCode_UI_Settings Instance.
94
+         *
95
+         * Ensures only one instance of AyeCode_UI_Settings is loaded or can be loaded.
96
+         *
97
+         * @since 1.0.0
98
+         * @static
99
+         * @return AyeCode_UI_Settings - Main instance.
100
+         */
101
+        public static function instance() {
102
+            if ( ! isset( self::$instance ) && ! ( self::$instance instanceof AyeCode_UI_Settings ) ) {
103
+
104
+                self::$instance = new AyeCode_UI_Settings;
105
+
106
+                add_action( 'init', array( self::$instance, 'init' ) ); // set settings
107
+
108
+                if ( is_admin() ) {
109
+                    add_action( 'admin_menu', array( self::$instance, 'menu_item' ) );
110
+                    add_action( 'admin_init', array( self::$instance, 'register_settings' ) );
111
+
112
+                    // Maybe show example page
113
+                    add_action( 'template_redirect', array( self::$instance,'maybe_show_examples' ) );
114
+
115
+                    if ( defined( 'BLOCKSTRAP_VERSION' ) ) {
116
+                        add_filter( 'sd_aui_colors', array( self::$instance,'sd_aui_colors' ), 10, 3 );
117
+                    }
118
+                }
119 119
 
120
-				add_action( 'customize_register', array( self::$instance, 'customizer_settings' ));
120
+                add_action( 'customize_register', array( self::$instance, 'customizer_settings' ));
121 121
 
122
-				do_action( 'ayecode_ui_settings_loaded' );
123
-			}
122
+                do_action( 'ayecode_ui_settings_loaded' );
123
+            }
124 124
 
125
-			return self::$instance;
126
-		}
125
+            return self::$instance;
126
+        }
127 127
 
128
-		/**
129
-		 * Add custom colors to the color selector.
130
-		 *
131
-		 * @param $theme_colors
132
-		 * @param $include_outlines
133
-		 * @param $include_branding
134
-		 *
135
-		 * @return mixed
136
-		 */
137
-		public function sd_aui_colors( $theme_colors, $include_outlines, $include_branding ){
128
+        /**
129
+         * Add custom colors to the color selector.
130
+         *
131
+         * @param $theme_colors
132
+         * @param $include_outlines
133
+         * @param $include_branding
134
+         *
135
+         * @return mixed
136
+         */
137
+        public function sd_aui_colors( $theme_colors, $include_outlines, $include_branding ){
138 138
 
139 139
 
140
-			$setting = wp_get_global_settings();
140
+            $setting = wp_get_global_settings();
141 141
 
142
-			if(!empty($setting['color']['palette']['custom'])){
143
-				foreach($setting['color']['palette']['custom'] as $color){
144
-					$theme_colors[$color['slug']] = esc_attr($color['name']);
145
-				}
146
-			}
147
-
148
-			return $theme_colors;
149
-		}
150
-
151
-		/**
152
-		 * Setup some constants.
153
-		 */
154
-		public function constants(){
155
-			define( 'AUI_PRIMARY_COLOR_ORIGINAL', "#1e73be" );
156
-			define( 'AUI_SECONDARY_COLOR_ORIGINAL', '#6c757d' );
157
-			define( 'AUI_INFO_COLOR_ORIGINAL', '#17a2b8' );
158
-			define( 'AUI_WARNING_COLOR_ORIGINAL', '#ffc107' );
159
-			define( 'AUI_DANGER_COLOR_ORIGINAL', '#dc3545' );
160
-			define( 'AUI_SUCCESS_COLOR_ORIGINAL', '#44c553' );
161
-			define( 'AUI_LIGHT_COLOR_ORIGINAL', '#f8f9fa' );
162
-			define( 'AUI_DARK_COLOR_ORIGINAL', '#343a40' );
163
-			define( 'AUI_WHITE_COLOR_ORIGINAL', '#fff' );
164
-			define( 'AUI_PURPLE_COLOR_ORIGINAL', '#ad6edd' );
165
-			define( 'AUI_SALMON_COLOR_ORIGINAL', '#ff977a' );
166
-			define( 'AUI_CYAN_COLOR_ORIGINAL', '#35bdff' );
167
-			define( 'AUI_GRAY_COLOR_ORIGINAL', '#ced4da' );
168
-			define( 'AUI_INDIGO_COLOR_ORIGINAL', '#502c6c' );
169
-			define( 'AUI_ORANGE_COLOR_ORIGINAL', '#orange' );
170
-			define( 'AUI_BLACK_COLOR_ORIGINAL', '#000' );
171
-
172
-			if ( ! defined( 'AUI_PRIMARY_COLOR' ) ) {
173
-				define( 'AUI_PRIMARY_COLOR', AUI_PRIMARY_COLOR_ORIGINAL );
174
-			}
175
-			if ( ! defined( 'AUI_SECONDARY_COLOR' ) ) {
176
-				define( 'AUI_SECONDARY_COLOR', AUI_SECONDARY_COLOR_ORIGINAL );
177
-			}
178
-			if ( ! defined( 'AUI_INFO_COLOR' ) ) {
179
-				define( 'AUI_INFO_COLOR', AUI_INFO_COLOR_ORIGINAL );
180
-			}
181
-			if ( ! defined( 'AUI_WARNING_COLOR' ) ) {
182
-				define( 'AUI_WARNING_COLOR', AUI_WARNING_COLOR_ORIGINAL );
183
-			}
184
-			if ( ! defined( 'AUI_DANGER_COLOR' ) ) {
185
-				define( 'AUI_DANGER_COLOR', AUI_DANGER_COLOR_ORIGINAL );
186
-			}
187
-			if ( ! defined( 'AUI_SUCCESS_COLOR' ) ) {
188
-				define( 'AUI_SUCCESS_COLOR', AUI_SUCCESS_COLOR_ORIGINAL );
189
-			}
190
-			if ( ! defined( 'AUI_LIGHT_COLOR' ) ) {
191
-				define( 'AUI_LIGHT_COLOR', AUI_LIGHT_COLOR_ORIGINAL );
192
-			}
193
-			if ( ! defined( 'AUI_DARK_COLOR' ) ) {
194
-				define( 'AUI_DARK_COLOR', AUI_DARK_COLOR_ORIGINAL );
195
-			}
196
-			if ( ! defined( 'AUI_WHITE_COLOR' ) ) {
197
-				define( 'AUI_WHITE_COLOR', AUI_WHITE_COLOR_ORIGINAL );
198
-			}
199
-			if ( ! defined( 'AUI_PURPLE_COLOR' ) ) {
200
-				define( 'AUI_PURPLE_COLOR', AUI_PURPLE_COLOR_ORIGINAL );
201
-			}
202
-			if ( ! defined( 'AUI_SALMON_COLOR' ) ) {
203
-				define( 'AUI_SALMON_COLOR', AUI_SALMON_COLOR_ORIGINAL );
204
-			}
205
-			if ( ! defined( 'AUI_CYAN_COLOR' ) ) {
206
-				define( 'AUI_CYAN_COLOR', AUI_CYAN_COLOR_ORIGINAL );
207
-			}
208
-			if ( ! defined( 'AUI_GRAY_COLOR' ) ) {
209
-				define( 'AUI_GRAY_COLOR', AUI_GRAY_COLOR_ORIGINAL );
210
-			}
211
-			if ( ! defined( 'AUI_INDIGO_COLOR' ) ) {
212
-				define( 'AUI_INDIGO_COLOR', AUI_INDIGO_COLOR_ORIGINAL );
213
-			}
214
-			if ( ! defined( 'AUI_ORANGE_COLOR' ) ) {
215
-				define( 'AUI_ORANGE_COLOR', AUI_ORANGE_COLOR_ORIGINAL );
216
-			}
217
-			if ( ! defined( 'AUI_BLACK_COLOR' ) ) {
218
-				define( 'AUI_BLACK_COLOR', AUI_BLACK_COLOR_ORIGINAL );
219
-			}
220
-
221
-		}
222
-
223
-		public static function get_colors( $original = false){
224
-
225
-			if ( ! defined( 'AUI_PRIMARY_COLOR' ) ) {
226
-				return array();
227
-			}
228
-			if ( $original ) {
229
-				return array(
230
-					'primary'   => AUI_PRIMARY_COLOR_ORIGINAL,
231
-					'secondary' => AUI_SECONDARY_COLOR_ORIGINAL,
232
-					'info'      => AUI_INFO_COLOR_ORIGINAL,
233
-					'warning'   => AUI_WARNING_COLOR_ORIGINAL,
234
-					'danger'    => AUI_DANGER_COLOR_ORIGINAL,
235
-					'success'   => AUI_SUCCESS_COLOR_ORIGINAL,
236
-					'light'     => AUI_LIGHT_COLOR_ORIGINAL,
237
-					'dark'      => AUI_DARK_COLOR_ORIGINAL,
238
-					'white'     => AUI_WHITE_COLOR_ORIGINAL,
239
-					'purple'    => AUI_PURPLE_COLOR_ORIGINAL,
240
-					'salmon'    => AUI_SALMON_COLOR_ORIGINAL,
241
-					'cyan'      => AUI_CYAN_COLOR_ORIGINAL,
242
-					'gray'      => AUI_GRAY_COLOR_ORIGINAL,
243
-					'indigo'    => AUI_INDIGO_COLOR_ORIGINAL,
244
-					'orange'    => AUI_ORANGE_COLOR_ORIGINAL,
245
-					'black'     => AUI_BLACK_COLOR_ORIGINAL,
246
-				);
247
-			}
248
-
249
-			return array(
250
-				'primary'   => AUI_PRIMARY_COLOR,
251
-				'secondary' => AUI_SECONDARY_COLOR,
252
-				'info'      => AUI_INFO_COLOR,
253
-				'warning'   => AUI_WARNING_COLOR,
254
-				'danger'    => AUI_DANGER_COLOR,
255
-				'success'   => AUI_SUCCESS_COLOR,
256
-				'light'     => AUI_LIGHT_COLOR,
257
-				'dark'      => AUI_DARK_COLOR,
258
-				'white'     => AUI_WHITE_COLOR,
259
-				'purple'    => AUI_PURPLE_COLOR,
260
-				'salmon'    => AUI_SALMON_COLOR,
261
-				'cyan'      => AUI_CYAN_COLOR,
262
-				'gray'      => AUI_GRAY_COLOR,
263
-				'indigo'    => AUI_INDIGO_COLOR,
264
-				'orange'    => AUI_ORANGE_COLOR,
265
-				'black'     => AUI_BLACK_COLOR,
266
-			);
267
-		}
268
-
269
-		/**
270
-		 * Add admin body class to show when BS5 is active.
271
-		 *
272
-		 * @param $classes
273
-		 *
274
-		 * @return mixed
275
-		 */
276
-		public function add_bs5_admin_body_class( $classes = '' ) {
277
-			$classes .= ' aui_bs5';
278
-
279
-			return $classes;
280
-		}
281
-
282
-		/**
283
-		 * Add a body class to show when BS5 is active.
284
-		 *
285
-		 * @param $classes
286
-		 *
287
-		 * @return mixed
288
-		 */
289
-		public function add_bs5_body_class( $classes ) {
290
-			$classes[] = 'aui_bs5';
291
-
292
-			return $classes;
293
-		}
294
-
295
-		/**
296
-		 * Initiate the settings and add the required action hooks.
297
-		 */
298
-		public function init() {
142
+            if(!empty($setting['color']['palette']['custom'])){
143
+                foreach($setting['color']['palette']['custom'] as $color){
144
+                    $theme_colors[$color['slug']] = esc_attr($color['name']);
145
+                }
146
+            }
147
+
148
+            return $theme_colors;
149
+        }
150
+
151
+        /**
152
+         * Setup some constants.
153
+         */
154
+        public function constants(){
155
+            define( 'AUI_PRIMARY_COLOR_ORIGINAL', "#1e73be" );
156
+            define( 'AUI_SECONDARY_COLOR_ORIGINAL', '#6c757d' );
157
+            define( 'AUI_INFO_COLOR_ORIGINAL', '#17a2b8' );
158
+            define( 'AUI_WARNING_COLOR_ORIGINAL', '#ffc107' );
159
+            define( 'AUI_DANGER_COLOR_ORIGINAL', '#dc3545' );
160
+            define( 'AUI_SUCCESS_COLOR_ORIGINAL', '#44c553' );
161
+            define( 'AUI_LIGHT_COLOR_ORIGINAL', '#f8f9fa' );
162
+            define( 'AUI_DARK_COLOR_ORIGINAL', '#343a40' );
163
+            define( 'AUI_WHITE_COLOR_ORIGINAL', '#fff' );
164
+            define( 'AUI_PURPLE_COLOR_ORIGINAL', '#ad6edd' );
165
+            define( 'AUI_SALMON_COLOR_ORIGINAL', '#ff977a' );
166
+            define( 'AUI_CYAN_COLOR_ORIGINAL', '#35bdff' );
167
+            define( 'AUI_GRAY_COLOR_ORIGINAL', '#ced4da' );
168
+            define( 'AUI_INDIGO_COLOR_ORIGINAL', '#502c6c' );
169
+            define( 'AUI_ORANGE_COLOR_ORIGINAL', '#orange' );
170
+            define( 'AUI_BLACK_COLOR_ORIGINAL', '#000' );
171
+
172
+            if ( ! defined( 'AUI_PRIMARY_COLOR' ) ) {
173
+                define( 'AUI_PRIMARY_COLOR', AUI_PRIMARY_COLOR_ORIGINAL );
174
+            }
175
+            if ( ! defined( 'AUI_SECONDARY_COLOR' ) ) {
176
+                define( 'AUI_SECONDARY_COLOR', AUI_SECONDARY_COLOR_ORIGINAL );
177
+            }
178
+            if ( ! defined( 'AUI_INFO_COLOR' ) ) {
179
+                define( 'AUI_INFO_COLOR', AUI_INFO_COLOR_ORIGINAL );
180
+            }
181
+            if ( ! defined( 'AUI_WARNING_COLOR' ) ) {
182
+                define( 'AUI_WARNING_COLOR', AUI_WARNING_COLOR_ORIGINAL );
183
+            }
184
+            if ( ! defined( 'AUI_DANGER_COLOR' ) ) {
185
+                define( 'AUI_DANGER_COLOR', AUI_DANGER_COLOR_ORIGINAL );
186
+            }
187
+            if ( ! defined( 'AUI_SUCCESS_COLOR' ) ) {
188
+                define( 'AUI_SUCCESS_COLOR', AUI_SUCCESS_COLOR_ORIGINAL );
189
+            }
190
+            if ( ! defined( 'AUI_LIGHT_COLOR' ) ) {
191
+                define( 'AUI_LIGHT_COLOR', AUI_LIGHT_COLOR_ORIGINAL );
192
+            }
193
+            if ( ! defined( 'AUI_DARK_COLOR' ) ) {
194
+                define( 'AUI_DARK_COLOR', AUI_DARK_COLOR_ORIGINAL );
195
+            }
196
+            if ( ! defined( 'AUI_WHITE_COLOR' ) ) {
197
+                define( 'AUI_WHITE_COLOR', AUI_WHITE_COLOR_ORIGINAL );
198
+            }
199
+            if ( ! defined( 'AUI_PURPLE_COLOR' ) ) {
200
+                define( 'AUI_PURPLE_COLOR', AUI_PURPLE_COLOR_ORIGINAL );
201
+            }
202
+            if ( ! defined( 'AUI_SALMON_COLOR' ) ) {
203
+                define( 'AUI_SALMON_COLOR', AUI_SALMON_COLOR_ORIGINAL );
204
+            }
205
+            if ( ! defined( 'AUI_CYAN_COLOR' ) ) {
206
+                define( 'AUI_CYAN_COLOR', AUI_CYAN_COLOR_ORIGINAL );
207
+            }
208
+            if ( ! defined( 'AUI_GRAY_COLOR' ) ) {
209
+                define( 'AUI_GRAY_COLOR', AUI_GRAY_COLOR_ORIGINAL );
210
+            }
211
+            if ( ! defined( 'AUI_INDIGO_COLOR' ) ) {
212
+                define( 'AUI_INDIGO_COLOR', AUI_INDIGO_COLOR_ORIGINAL );
213
+            }
214
+            if ( ! defined( 'AUI_ORANGE_COLOR' ) ) {
215
+                define( 'AUI_ORANGE_COLOR', AUI_ORANGE_COLOR_ORIGINAL );
216
+            }
217
+            if ( ! defined( 'AUI_BLACK_COLOR' ) ) {
218
+                define( 'AUI_BLACK_COLOR', AUI_BLACK_COLOR_ORIGINAL );
219
+            }
220
+
221
+        }
222
+
223
+        public static function get_colors( $original = false){
224
+
225
+            if ( ! defined( 'AUI_PRIMARY_COLOR' ) ) {
226
+                return array();
227
+            }
228
+            if ( $original ) {
229
+                return array(
230
+                    'primary'   => AUI_PRIMARY_COLOR_ORIGINAL,
231
+                    'secondary' => AUI_SECONDARY_COLOR_ORIGINAL,
232
+                    'info'      => AUI_INFO_COLOR_ORIGINAL,
233
+                    'warning'   => AUI_WARNING_COLOR_ORIGINAL,
234
+                    'danger'    => AUI_DANGER_COLOR_ORIGINAL,
235
+                    'success'   => AUI_SUCCESS_COLOR_ORIGINAL,
236
+                    'light'     => AUI_LIGHT_COLOR_ORIGINAL,
237
+                    'dark'      => AUI_DARK_COLOR_ORIGINAL,
238
+                    'white'     => AUI_WHITE_COLOR_ORIGINAL,
239
+                    'purple'    => AUI_PURPLE_COLOR_ORIGINAL,
240
+                    'salmon'    => AUI_SALMON_COLOR_ORIGINAL,
241
+                    'cyan'      => AUI_CYAN_COLOR_ORIGINAL,
242
+                    'gray'      => AUI_GRAY_COLOR_ORIGINAL,
243
+                    'indigo'    => AUI_INDIGO_COLOR_ORIGINAL,
244
+                    'orange'    => AUI_ORANGE_COLOR_ORIGINAL,
245
+                    'black'     => AUI_BLACK_COLOR_ORIGINAL,
246
+                );
247
+            }
248
+
249
+            return array(
250
+                'primary'   => AUI_PRIMARY_COLOR,
251
+                'secondary' => AUI_SECONDARY_COLOR,
252
+                'info'      => AUI_INFO_COLOR,
253
+                'warning'   => AUI_WARNING_COLOR,
254
+                'danger'    => AUI_DANGER_COLOR,
255
+                'success'   => AUI_SUCCESS_COLOR,
256
+                'light'     => AUI_LIGHT_COLOR,
257
+                'dark'      => AUI_DARK_COLOR,
258
+                'white'     => AUI_WHITE_COLOR,
259
+                'purple'    => AUI_PURPLE_COLOR,
260
+                'salmon'    => AUI_SALMON_COLOR,
261
+                'cyan'      => AUI_CYAN_COLOR,
262
+                'gray'      => AUI_GRAY_COLOR,
263
+                'indigo'    => AUI_INDIGO_COLOR,
264
+                'orange'    => AUI_ORANGE_COLOR,
265
+                'black'     => AUI_BLACK_COLOR,
266
+            );
267
+        }
268
+
269
+        /**
270
+         * Add admin body class to show when BS5 is active.
271
+         *
272
+         * @param $classes
273
+         *
274
+         * @return mixed
275
+         */
276
+        public function add_bs5_admin_body_class( $classes = '' ) {
277
+            $classes .= ' aui_bs5';
278
+
279
+            return $classes;
280
+        }
281
+
282
+        /**
283
+         * Add a body class to show when BS5 is active.
284
+         *
285
+         * @param $classes
286
+         *
287
+         * @return mixed
288
+         */
289
+        public function add_bs5_body_class( $classes ) {
290
+            $classes[] = 'aui_bs5';
291
+
292
+            return $classes;
293
+        }
294
+
295
+        /**
296
+         * Initiate the settings and add the required action hooks.
297
+         */
298
+        public function init() {
299 299
             global $aui_bs5;
300 300
 
301
-			// Maybe fix settings
302
-			if ( ! empty( $_REQUEST['aui-fix-admin'] ) && !empty($_REQUEST['nonce']) && wp_verify_nonce( $_REQUEST['nonce'], "aui-fix-admin" ) ) {
303
-				$db_settings = get_option( 'ayecode-ui-settings' );
304
-				if ( ! empty( $db_settings ) ) {
305
-					$db_settings['css_backend'] = 'compatibility';
306
-					$db_settings['js_backend'] = 'core-popper';
307
-					update_option( 'ayecode-ui-settings', $db_settings );
308
-					wp_safe_redirect(admin_url("options-general.php?page=ayecode-ui-settings&updated=true"));
309
-				}
310
-			}
301
+            // Maybe fix settings
302
+            if ( ! empty( $_REQUEST['aui-fix-admin'] ) && !empty($_REQUEST['nonce']) && wp_verify_nonce( $_REQUEST['nonce'], "aui-fix-admin" ) ) {
303
+                $db_settings = get_option( 'ayecode-ui-settings' );
304
+                if ( ! empty( $db_settings ) ) {
305
+                    $db_settings['css_backend'] = 'compatibility';
306
+                    $db_settings['js_backend'] = 'core-popper';
307
+                    update_option( 'ayecode-ui-settings', $db_settings );
308
+                    wp_safe_redirect(admin_url("options-general.php?page=ayecode-ui-settings&updated=true"));
309
+                }
310
+            }
311 311
 
312
-			$this->constants();
313
-			$this->settings = $this->get_settings();
314
-			$this->url = $this->get_url();
312
+            $this->constants();
313
+            $this->settings = $this->get_settings();
314
+            $this->url = $this->get_url();
315 315
 
316 316
             // define the version
317
-			$aui_bs5 = $this->settings['bs_ver'] === '5';
318
-
319
-			if ( $aui_bs5 ) {
320
-				include_once( dirname( __FILE__ ) . '/inc/bs-conversion.php' );
321
-				add_filter( 'admin_body_class', array( $this, 'add_bs5_admin_body_class' ), 99, 1 );
322
-				add_filter( 'body_class', array( $this, 'add_bs5_body_class' ) );
323
-			}
324
-
325
-			/**
326
-			 * Maybe load CSS
327
-			 *
328
-			 * We load super early in case there is a theme version that might change the colors
329
-			 */
330
-			if ( $this->settings['css'] ) {
331
-				$priority = $this->is_bs3_compat() ? 100 : 1;
317
+            $aui_bs5 = $this->settings['bs_ver'] === '5';
318
+
319
+            if ( $aui_bs5 ) {
320
+                include_once( dirname( __FILE__ ) . '/inc/bs-conversion.php' );
321
+                add_filter( 'admin_body_class', array( $this, 'add_bs5_admin_body_class' ), 99, 1 );
322
+                add_filter( 'body_class', array( $this, 'add_bs5_body_class' ) );
323
+            }
324
+
325
+            /**
326
+             * Maybe load CSS
327
+             *
328
+             * We load super early in case there is a theme version that might change the colors
329
+             */
330
+            if ( $this->settings['css'] ) {
331
+                $priority = $this->is_bs3_compat() ? 100 : 1;
332 332
                 $priority = $aui_bs5 ? 10 : $priority;
333
-				add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_style' ), $priority );
334
-			}
335
-			if ( $this->settings['css_backend'] && $this->load_admin_scripts() ) {
336
-				add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_style' ), 1 );
337
-			}
338
-
339
-			// maybe load JS
340
-			if ( $this->settings['js'] ) {
341
-				$priority = $this->is_bs3_compat() ? 100 : 1;
342
-				add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), $priority );
343
-			}
344
-			if ( $this->settings['js_backend'] && $this->load_admin_scripts() ) {
345
-				add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 1 );
346
-			}
347
-
348
-			// Maybe set the HTML font size
349
-			if ( $this->settings['html_font_size'] ) {
350
-				add_action( 'wp_footer', array( $this, 'html_font_size' ), 10 );
351
-			}
352
-
353
-			// Maybe show backend style error
354
-			if( $this->settings['css_backend'] != 'compatibility' || $this->settings['js_backend'] != 'core-popper' ){
355
-				add_action( 'admin_notices', array( $this, 'show_admin_style_notice' ) );
356
-			}
357
-
358
-		}
359
-
360
-		/**
361
-		 * Show admin notice if backend scripts not loaded.
362
-		 */
363
-		public function show_admin_style_notice(){
364
-			$fix_url = admin_url("options-general.php?page=ayecode-ui-settings&aui-fix-admin=true&nonce=".wp_create_nonce('aui-fix-admin'));
365
-			$button = '<a href="'.esc_url($fix_url).'" class="button-primary">Fix Now</a>';
366
-			$message = __( '<b>Style Issue:</b> AyeCode UI is disable or set wrong.')." " .$button;
367
-			echo '<div class="notice notice-error aui-settings-error-notice"><p>'.$message.'</p></div>';
368
-		}
369
-
370
-		/**
371
-		 * Check if we should load the admin scripts or not.
372
-		 *
373
-		 * @return bool
374
-		 */
375
-		public function load_admin_scripts(){
376
-			$result = true;
377
-
378
-			// check if specifically disabled
379
-			if(!empty($this->settings['disable_admin'])){
380
-				$url_parts = explode("\n",$this->settings['disable_admin']);
381
-				foreach($url_parts as $part){
382
-					if( strpos($_SERVER['REQUEST_URI'], trim($part)) !== false ){
383
-						return false; // return early, no point checking further
384
-					}
385
-				}
386
-			}
387
-
388
-			return $result;
389
-		}
390
-
391
-		/**
392
-		 * Add a html font size to the footer.
393
-		 */
394
-		public function html_font_size(){
395
-			$this->settings = $this->get_settings();
396
-			echo "<style>html{font-size:".absint($this->settings['html_font_size'])."px;}</style>";
397
-		}
398
-
399
-		/**
400
-		 * Check if the current admin screen should load scripts.
401
-		 *
402
-		 * @return bool
403
-		 */
404
-		public function is_aui_screen(){
333
+                add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_style' ), $priority );
334
+            }
335
+            if ( $this->settings['css_backend'] && $this->load_admin_scripts() ) {
336
+                add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_style' ), 1 );
337
+            }
338
+
339
+            // maybe load JS
340
+            if ( $this->settings['js'] ) {
341
+                $priority = $this->is_bs3_compat() ? 100 : 1;
342
+                add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), $priority );
343
+            }
344
+            if ( $this->settings['js_backend'] && $this->load_admin_scripts() ) {
345
+                add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 1 );
346
+            }
347
+
348
+            // Maybe set the HTML font size
349
+            if ( $this->settings['html_font_size'] ) {
350
+                add_action( 'wp_footer', array( $this, 'html_font_size' ), 10 );
351
+            }
352
+
353
+            // Maybe show backend style error
354
+            if( $this->settings['css_backend'] != 'compatibility' || $this->settings['js_backend'] != 'core-popper' ){
355
+                add_action( 'admin_notices', array( $this, 'show_admin_style_notice' ) );
356
+            }
357
+
358
+        }
359
+
360
+        /**
361
+         * Show admin notice if backend scripts not loaded.
362
+         */
363
+        public function show_admin_style_notice(){
364
+            $fix_url = admin_url("options-general.php?page=ayecode-ui-settings&aui-fix-admin=true&nonce=".wp_create_nonce('aui-fix-admin'));
365
+            $button = '<a href="'.esc_url($fix_url).'" class="button-primary">Fix Now</a>';
366
+            $message = __( '<b>Style Issue:</b> AyeCode UI is disable or set wrong.')." " .$button;
367
+            echo '<div class="notice notice-error aui-settings-error-notice"><p>'.$message.'</p></div>';
368
+        }
369
+
370
+        /**
371
+         * Check if we should load the admin scripts or not.
372
+         *
373
+         * @return bool
374
+         */
375
+        public function load_admin_scripts(){
376
+            $result = true;
377
+
378
+            // check if specifically disabled
379
+            if(!empty($this->settings['disable_admin'])){
380
+                $url_parts = explode("\n",$this->settings['disable_admin']);
381
+                foreach($url_parts as $part){
382
+                    if( strpos($_SERVER['REQUEST_URI'], trim($part)) !== false ){
383
+                        return false; // return early, no point checking further
384
+                    }
385
+                }
386
+            }
387
+
388
+            return $result;
389
+        }
390
+
391
+        /**
392
+         * Add a html font size to the footer.
393
+         */
394
+        public function html_font_size(){
395
+            $this->settings = $this->get_settings();
396
+            echo "<style>html{font-size:".absint($this->settings['html_font_size'])."px;}</style>";
397
+        }
398
+
399
+        /**
400
+         * Check if the current admin screen should load scripts.
401
+         *
402
+         * @return bool
403
+         */
404
+        public function is_aui_screen(){
405 405
 //			echo '###';exit;
406
-			$load = false;
407
-			// check if we should load or not
408
-			if ( is_admin() ) {
409
-				// Only enable on set pages
410
-				$aui_screens = array(
411
-					'page',
406
+            $load = false;
407
+            // check if we should load or not
408
+            if ( is_admin() ) {
409
+                // Only enable on set pages
410
+                $aui_screens = array(
411
+                    'page',
412 412
                     //'docs',
413
-					'post',
414
-					'settings_page_ayecode-ui-settings',
415
-					'appearance_page_gutenberg-widgets',
416
-					'widgets',
417
-					'ayecode-ui-settings',
418
-					'site-editor'
419
-				);
420
-				$screen_ids = apply_filters( 'aui_screen_ids', $aui_screens );
413
+                    'post',
414
+                    'settings_page_ayecode-ui-settings',
415
+                    'appearance_page_gutenberg-widgets',
416
+                    'widgets',
417
+                    'ayecode-ui-settings',
418
+                    'site-editor'
419
+                );
420
+                $screen_ids = apply_filters( 'aui_screen_ids', $aui_screens );
421 421
 
422
-				$screen = get_current_screen();
422
+                $screen = get_current_screen();
423 423
 
424 424
 //				echo '###'.$screen->id;
425 425
 
426
-				// check if we are on a AUI screen
427
-				if ( $screen && in_array( $screen->id, $screen_ids ) ) {
428
-					$load = true;
429
-				}
426
+                // check if we are on a AUI screen
427
+                if ( $screen && in_array( $screen->id, $screen_ids ) ) {
428
+                    $load = true;
429
+                }
430 430
 
431
-				//load for widget previews in WP 5.8
432
-				if( !empty($_REQUEST['legacy-widget-preview'])){
433
-					$load = true;
434
-				}
435
-			}
431
+                //load for widget previews in WP 5.8
432
+                if( !empty($_REQUEST['legacy-widget-preview'])){
433
+                    $load = true;
434
+                }
435
+            }
436 436
 
437 437
 
438 438
 
439
-			return apply_filters( 'aui_load_on_admin' , $load );
440
-		}
439
+            return apply_filters( 'aui_load_on_admin' , $load );
440
+        }
441 441
 
442
-		/**
443
-		 * Check if the current theme is a block theme.
444
-		 *
445
-		 * @return bool
446
-		 */
447
-		public static function is_block_theme() {
448
-			if ( function_exists( 'wp_is_block_theme' && wp_is_block_theme() ) ) {
449
-				return true;
450
-			}
442
+        /**
443
+         * Check if the current theme is a block theme.
444
+         *
445
+         * @return bool
446
+         */
447
+        public static function is_block_theme() {
448
+            if ( function_exists( 'wp_is_block_theme' && wp_is_block_theme() ) ) {
449
+                return true;
450
+            }
451 451
 
452
-			return false;
453
-		}
452
+            return false;
453
+        }
454 454
 
455
-		/**
456
-		 * Adds the styles.
457
-		 */
458
-		public function enqueue_style() {
455
+        /**
456
+         * Adds the styles.
457
+         */
458
+        public function enqueue_style() {
459 459
             global $aui_bs5;
460 460
 
461 461
             $load_fse = false;
462 462
 
463
-			if( is_admin() && !$this->is_aui_screen()){
464
-				// don't add wp-admin scripts if not requested to
465
-			}else{
466
-				$css_setting = current_action() == 'wp_enqueue_scripts' ? 'css' : 'css_backend';
463
+            if( is_admin() && !$this->is_aui_screen()){
464
+                // don't add wp-admin scripts if not requested to
465
+            }else{
466
+                $css_setting = current_action() == 'wp_enqueue_scripts' ? 'css' : 'css_backend';
467 467
 
468
-				$rtl = is_rtl() && ! $aui_bs5 ? '-rtl' : '';
468
+                $rtl = is_rtl() && ! $aui_bs5 ? '-rtl' : '';
469 469
 
470 470
                 $bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : '';
471 471
 
472
-				if($this->settings[$css_setting]){
473
-					$compatibility = $this->settings[$css_setting]=='core' ? false : true;
474
-					$url = $this->settings[$css_setting]=='core' ? $this->url.'assets'.$bs_ver.'/css/ayecode-ui'.$rtl.'.css' : $this->url.'assets'.$bs_ver.'/css/ayecode-ui-compatibility'.$rtl.'.css';
472
+                if($this->settings[$css_setting]){
473
+                    $compatibility = $this->settings[$css_setting]=='core' ? false : true;
474
+                    $url = $this->settings[$css_setting]=='core' ? $this->url.'assets'.$bs_ver.'/css/ayecode-ui'.$rtl.'.css' : $this->url.'assets'.$bs_ver.'/css/ayecode-ui-compatibility'.$rtl.'.css';
475 475
 
476 476
 
477 477
 
478
-					wp_register_style( 'ayecode-ui', $url, array(), $this->version );
479
-					wp_enqueue_style( 'ayecode-ui' );
478
+                    wp_register_style( 'ayecode-ui', $url, array(), $this->version );
479
+                    wp_enqueue_style( 'ayecode-ui' );
480 480
 
481
-					$current_screen = function_exists('get_current_screen' ) ? get_current_screen() : '';
481
+                    $current_screen = function_exists('get_current_screen' ) ? get_current_screen() : '';
482 482
 
483 483
 //					if ( is_admin() && !empty($_REQUEST['postType']) ) {
484
-					if ( is_admin() && ( !empty($_REQUEST['postType']) || $current_screen->is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) )  ) {
485
-						$url = $this->url.'assets'.$bs_ver.'/css/ayecode-ui-fse.css';
486
-						wp_register_style( 'ayecode-ui-fse', $url, array(), $this->version );
487
-						wp_enqueue_style( 'ayecode-ui-fse' );
488
-						$load_fse = true;
489
-					}
484
+                    if ( is_admin() && ( !empty($_REQUEST['postType']) || $current_screen->is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) )  ) {
485
+                        $url = $this->url.'assets'.$bs_ver.'/css/ayecode-ui-fse.css';
486
+                        wp_register_style( 'ayecode-ui-fse', $url, array(), $this->version );
487
+                        wp_enqueue_style( 'ayecode-ui-fse' );
488
+                        $load_fse = true;
489
+                    }
490 490
 
491 491
 
492
-					// flatpickr
493
-					wp_register_style( 'flatpickr', $this->url.'assets'.$bs_ver.'/css/flatpickr.min.css', array(), $this->version );
492
+                    // flatpickr
493
+                    wp_register_style( 'flatpickr', $this->url.'assets'.$bs_ver.'/css/flatpickr.min.css', array(), $this->version );
494 494
 
495
-					// fix some wp-admin issues
496
-					if(is_admin()){
497
-						$custom_css = "
495
+                    // fix some wp-admin issues
496
+                    if(is_admin()){
497
+                        $custom_css = "
498 498
                 body{
499 499
                     background-color: #f1f1f1;
500 500
                     font-family: -apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;
@@ -540,67 +540,67 @@  discard block
 block discarded – undo
540 540
 				}
541 541
                 ";
542 542
 
543
-						// @todo, remove once fixed :: fix for this bug https://github.com/WordPress/gutenberg/issues/14377
544
-						$custom_css .= "
543
+                        // @todo, remove once fixed :: fix for this bug https://github.com/WordPress/gutenberg/issues/14377
544
+                        $custom_css .= "
545 545
 						.edit-post-sidebar input[type=color].components-text-control__input{
546 546
 						    padding: 0;
547 547
 						}
548 548
 					";
549
-						wp_add_inline_style( 'ayecode-ui', $custom_css );
550
-					}
549
+                        wp_add_inline_style( 'ayecode-ui', $custom_css );
550
+                    }
551 551
 
552
-					// custom changes
553
-					if ( $load_fse ) {
554
-						wp_add_inline_style( 'ayecode-ui-fse', self::custom_css($compatibility) );
555
-					}else{
556
-						wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) );
552
+                    // custom changes
553
+                    if ( $load_fse ) {
554
+                        wp_add_inline_style( 'ayecode-ui-fse', self::custom_css($compatibility) );
555
+                    }else{
556
+                        wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) );
557 557
 
558
-					}
558
+                    }
559 559
 
560
-				}
561
-			}
560
+                }
561
+            }
562 562
 
563 563
 
564
-		}
564
+        }
565 565
 
566
-		/**
567
-		 * Get inline script used if bootstrap enqueued
568
-		 *
569
-		 * If this remains small then its best to use this than to add another JS file.
570
-		 */
571
-		public function inline_script() {
566
+        /**
567
+         * Get inline script used if bootstrap enqueued
568
+         *
569
+         * If this remains small then its best to use this than to add another JS file.
570
+         */
571
+        public function inline_script() {
572 572
             global $aui_bs5;
573
-			// Flatpickr calendar locale
574
-			$flatpickr_locale = self::flatpickr_locale();
575
-
576
-			ob_start();
577
-			if ( $aui_bs5 ) {
578
-				include_once( dirname( __FILE__ ) . '/inc/bs5-js.php' );
579
-			}else{
580
-				include_once( dirname( __FILE__ ) . '/inc/bs4-js.php' );
573
+            // Flatpickr calendar locale
574
+            $flatpickr_locale = self::flatpickr_locale();
575
+
576
+            ob_start();
577
+            if ( $aui_bs5 ) {
578
+                include_once( dirname( __FILE__ ) . '/inc/bs5-js.php' );
579
+            }else{
580
+                include_once( dirname( __FILE__ ) . '/inc/bs4-js.php' );
581 581
             }
582 582
 
583
-			$output = ob_get_clean();
583
+            $output = ob_get_clean();
584 584
 
585
-			/*
585
+            /*
586 586
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
587 587
 			 */
588
-			return str_replace( array(
589
-				'<script>',
590
-				'</script>'
591
-			), '', self::minify_js($output) );
592
-		}
593
-
594
-
595
-		/**
596
-		 * JS to help with conflict issues with other plugins and themes using bootstrap v3.
597
-		 *
598
-		 * @TODO we may need this when other conflicts arrise.
599
-		 * @return mixed
600
-		 */
601
-		public static function bs3_compat_js() {
602
-			ob_start();
603
-			?>
588
+            return str_replace( array(
589
+                '<script>',
590
+                '</script>'
591
+            ), '', self::minify_js($output) );
592
+        }
593
+
594
+
595
+        /**
596
+         * JS to help with conflict issues with other plugins and themes using bootstrap v3.
597
+         *
598
+         * @TODO we may need this when other conflicts arrise.
599
+         * @return mixed
600
+         */
601
+        public static function bs3_compat_js() {
602
+            ob_start();
603
+            ?>
604 604
             <script>
605 605
 				<?php if( defined( 'FUSION_BUILDER_VERSION' ) ){ ?>
606 606
                 /* With Avada builder */
@@ -608,20 +608,20 @@  discard block
 block discarded – undo
608 608
 				<?php } ?>
609 609
             </script>
610 610
 			<?php
611
-			return str_replace( array(
612
-				'<script>',
613
-				'</script>'
614
-			), '', ob_get_clean());
615
-		}
616
-
617
-		/**
618
-		 * Get inline script used if bootstrap file browser enqueued.
619
-		 *
620
-		 * If this remains small then its best to use this than to add another JS file.
621
-		 */
622
-		public function inline_script_file_browser(){
623
-			ob_start();
624
-			?>
611
+            return str_replace( array(
612
+                '<script>',
613
+                '</script>'
614
+            ), '', ob_get_clean());
615
+        }
616
+
617
+        /**
618
+         * Get inline script used if bootstrap file browser enqueued.
619
+         *
620
+         * If this remains small then its best to use this than to add another JS file.
621
+         */
622
+        public function inline_script_file_browser(){
623
+            ob_start();
624
+            ?>
625 625
             <script>
626 626
                 // run on doc ready
627 627
                 jQuery(document).ready(function () {
@@ -629,247 +629,247 @@  discard block
 block discarded – undo
629 629
                 });
630 630
             </script>
631 631
 			<?php
632
-			$output = ob_get_clean();
632
+            $output = ob_get_clean();
633 633
 
634
-			/*
634
+            /*
635 635
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
636 636
 			 */
637
-			return str_replace( array(
638
-				'<script>',
639
-				'</script>'
640
-			), '', $output );
641
-		}
637
+            return str_replace( array(
638
+                '<script>',
639
+                '</script>'
640
+            ), '', $output );
641
+        }
642 642
 
643
-		/**
644
-		 * Adds the Font Awesome JS.
645
-		 */
646
-		public function enqueue_scripts() {
643
+        /**
644
+         * Adds the Font Awesome JS.
645
+         */
646
+        public function enqueue_scripts() {
647 647
 
648
-			if( is_admin() && !$this->is_aui_screen()){
649
-				// don't add wp-admin scripts if not requested to
650
-			}else {
648
+            if( is_admin() && !$this->is_aui_screen()){
649
+                // don't add wp-admin scripts if not requested to
650
+            }else {
651 651
 
652
-				$js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend';
652
+                $js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend';
653 653
 
654
-				$bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : '';
654
+                $bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : '';
655 655
 
656
-				// select2
657
-				wp_register_script( 'select2', $this->url . 'assets/js/select2.min.js', array( 'jquery' ), $this->select2_version );
656
+                // select2
657
+                wp_register_script( 'select2', $this->url . 'assets/js/select2.min.js', array( 'jquery' ), $this->select2_version );
658 658
 
659
-				// flatpickr
660
-				wp_register_script( 'flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->version );
659
+                // flatpickr
660
+                wp_register_script( 'flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->version );
661 661
 
662
-				// iconpicker
663
-				if ( defined( 'FAS_ICONPICKER_JS_URL' ) ) {
664
-					wp_register_script( 'iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version );
665
-				}else{
666
-					wp_register_script( 'iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version );
667
-				}
662
+                // iconpicker
663
+                if ( defined( 'FAS_ICONPICKER_JS_URL' ) ) {
664
+                    wp_register_script( 'iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version );
665
+                }else{
666
+                    wp_register_script( 'iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version );
667
+                }
668 668
 
669
-				// Bootstrap file browser
670
-				wp_register_script( 'aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array( 'jquery' ), $this->select2_version );
671
-				wp_add_inline_script( 'aui-custom-file-input', $this->inline_script_file_browser() );
672
-
673
-				$load_inline = false;
674
-
675
-				if ( $this->settings[ $js_setting ] == 'core-popper' ) {
676
-					// Bootstrap bundle
677
-					$url = $this->url . 'assets' . $bs_ver . '/js/bootstrap.bundle.min.js';
678
-					wp_register_script( 'bootstrap-js-bundle', $url, array(
679
-						'select2',
680
-						'jquery'
681
-					), $this->version, $this->is_bs3_compat() );
682
-					// if in admin then add to footer for compatibility.
683
-					is_admin() ? wp_enqueue_script( 'bootstrap-js-bundle', '', null, null, true ) : wp_enqueue_script( 'bootstrap-js-bundle' );
684
-					$script = $this->inline_script();
685
-					wp_add_inline_script( 'bootstrap-js-bundle', $script );
686
-				} elseif ( $this->settings[ $js_setting ] == 'popper' ) {
687
-					$url = $this->url . 'assets/js/popper.min.js'; //@todo we need to update this to bs5
688
-					wp_register_script( 'bootstrap-js-popper', $url, array( 'select2', 'jquery' ), $this->version );
689
-					wp_enqueue_script( 'bootstrap-js-popper' );
690
-					$load_inline = true;
691
-				} else {
692
-					$load_inline = true;
693
-				}
669
+                // Bootstrap file browser
670
+                wp_register_script( 'aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array( 'jquery' ), $this->select2_version );
671
+                wp_add_inline_script( 'aui-custom-file-input', $this->inline_script_file_browser() );
672
+
673
+                $load_inline = false;
674
+
675
+                if ( $this->settings[ $js_setting ] == 'core-popper' ) {
676
+                    // Bootstrap bundle
677
+                    $url = $this->url . 'assets' . $bs_ver . '/js/bootstrap.bundle.min.js';
678
+                    wp_register_script( 'bootstrap-js-bundle', $url, array(
679
+                        'select2',
680
+                        'jquery'
681
+                    ), $this->version, $this->is_bs3_compat() );
682
+                    // if in admin then add to footer for compatibility.
683
+                    is_admin() ? wp_enqueue_script( 'bootstrap-js-bundle', '', null, null, true ) : wp_enqueue_script( 'bootstrap-js-bundle' );
684
+                    $script = $this->inline_script();
685
+                    wp_add_inline_script( 'bootstrap-js-bundle', $script );
686
+                } elseif ( $this->settings[ $js_setting ] == 'popper' ) {
687
+                    $url = $this->url . 'assets/js/popper.min.js'; //@todo we need to update this to bs5
688
+                    wp_register_script( 'bootstrap-js-popper', $url, array( 'select2', 'jquery' ), $this->version );
689
+                    wp_enqueue_script( 'bootstrap-js-popper' );
690
+                    $load_inline = true;
691
+                } else {
692
+                    $load_inline = true;
693
+                }
694 694
 
695
-				// Load needed inline scripts by faking the loading of a script if the main script is not being loaded
696
-				if ( $load_inline ) {
697
-					wp_register_script( 'bootstrap-dummy', '', array( 'select2', 'jquery' ) );
698
-					wp_enqueue_script( 'bootstrap-dummy' );
699
-					$script = $this->inline_script();
700
-					wp_add_inline_script( 'bootstrap-dummy', $script );
701
-				}
702
-			}
703
-
704
-		}
705
-
706
-		/**
707
-		 * Enqueue flatpickr if called.
708
-		 */
709
-		public function enqueue_flatpickr(){
710
-			wp_enqueue_style( 'flatpickr' );
711
-			wp_enqueue_script( 'flatpickr' );
712
-		}
713
-
714
-		/**
715
-		 * Enqueue iconpicker if called.
716
-		 */
717
-		public function enqueue_iconpicker(){
718
-			wp_enqueue_style( 'iconpicker' );
719
-			wp_enqueue_script( 'iconpicker' );
720
-		}
721
-
722
-		/**
723
-		 * Get the url path to the current folder.
724
-		 *
725
-		 * @return string
726
-		 */
727
-		public function get_url() {
728
-			$content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) );
729
-			$content_url = untrailingslashit( WP_CONTENT_URL );
730
-
731
-			// Replace http:// to https://.
732
-			if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) {
733
-				$content_url = str_replace( 'http://', 'https://', $content_url );
734
-			}
735
-
736
-			// Check if we are inside a plugin
737
-			$file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) );
738
-			$url = str_replace( $content_dir, $content_url, $file_dir );
739
-
740
-			return trailingslashit( $url );
741
-		}
742
-
743
-		/**
744
-		 * Get the url path to the current folder.
745
-		 *
746
-		 * @return string
747
-		 */
748
-		public function get_url_old() {
749
-
750
-			$url = '';
751
-			// check if we are inside a plugin
752
-			$file_dir = str_replace( "/includes","", wp_normalize_path( dirname( __FILE__ ) ) );
753
-
754
-			// add check in-case user has changed wp-content dir name.
755
-			$wp_content_folder_name = basename(WP_CONTENT_DIR);
756
-			$dir_parts = explode("/$wp_content_folder_name/",$file_dir);
757
-			$url_parts = explode("/$wp_content_folder_name/",plugins_url());
758
-
759
-			if(!empty($url_parts[0]) && !empty($dir_parts[1])){
760
-				$url = trailingslashit( $url_parts[0]."/$wp_content_folder_name/".$dir_parts[1] );
761
-			}
762
-
763
-			return $url;
764
-		}
765
-
766
-		/**
767
-		 * Register the database settings with WordPress.
768
-		 */
769
-		public function register_settings() {
770
-			register_setting( 'ayecode-ui-settings', 'ayecode-ui-settings' );
771
-		}
772
-
773
-		/**
774
-		 * Add the WordPress settings menu item.
775
-		 * @since 1.0.10 Calling function name direct will fail theme check so we don't.
776
-		 */
777
-		public function menu_item() {
778
-			$menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
779
-			call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array(
780
-				$this,
781
-				'settings_page'
782
-			) );
783
-		}
784
-
785
-		/**
786
-		 * Get a list of themes and their default JS settings.
787
-		 *
788
-		 * @return array
789
-		 */
790
-		public function theme_js_settings(){
791
-			return array(
792
-				'ayetheme' => 'popper',
793
-				'listimia' => 'required',
794
-				'listimia_backend' => 'core-popper',
795
-				//'avada'    => 'required', // removed as we now add compatibility
796
-			);
797
-		}
798
-
799
-		/**
800
-		 * Get the current Font Awesome output settings.
801
-		 *
802
-		 * @return array The array of settings.
803
-		 */
804
-		public function get_settings() {
805
-
806
-			$db_settings = get_option( 'ayecode-ui-settings' );
807
-			$js_default = 'core-popper';
808
-			$js_default_backend = $js_default;
809
-
810
-			// maybe set defaults (if no settings set)
811
-			if(empty($db_settings)){
812
-				$active_theme = strtolower( get_template() ); // active parent theme.
813
-				$theme_js_settings = self::theme_js_settings();
814
-				if(isset($theme_js_settings[$active_theme])){
815
-					$js_default = $theme_js_settings[$active_theme];
816
-					$js_default_backend = isset($theme_js_settings[$active_theme."_backend"]) ? $theme_js_settings[$active_theme."_backend"] : $js_default;
817
-				}
818
-			}
695
+                // Load needed inline scripts by faking the loading of a script if the main script is not being loaded
696
+                if ( $load_inline ) {
697
+                    wp_register_script( 'bootstrap-dummy', '', array( 'select2', 'jquery' ) );
698
+                    wp_enqueue_script( 'bootstrap-dummy' );
699
+                    $script = $this->inline_script();
700
+                    wp_add_inline_script( 'bootstrap-dummy', $script );
701
+                }
702
+            }
819 703
 
820
-			/**
821
-			 * Filter the default settings.
822
-			 */
823
-			$defaults = apply_filters( 'ayecode-ui-default-settings', array(
824
-				'css'            => 'compatibility', // core, compatibility
825
-				'js'             => $js_default, // js to load, core-popper, popper
826
-				'html_font_size' => '16', // js to load, core-popper, popper
827
-				'css_backend'    => 'compatibility', // core, compatibility
828
-				'js_backend'     => $js_default_backend, // js to load, core-popper, popper
829
-				'disable_admin'  => '', // URL snippets to disable loading on admin
704
+        }
705
+
706
+        /**
707
+         * Enqueue flatpickr if called.
708
+         */
709
+        public function enqueue_flatpickr(){
710
+            wp_enqueue_style( 'flatpickr' );
711
+            wp_enqueue_script( 'flatpickr' );
712
+        }
713
+
714
+        /**
715
+         * Enqueue iconpicker if called.
716
+         */
717
+        public function enqueue_iconpicker(){
718
+            wp_enqueue_style( 'iconpicker' );
719
+            wp_enqueue_script( 'iconpicker' );
720
+        }
721
+
722
+        /**
723
+         * Get the url path to the current folder.
724
+         *
725
+         * @return string
726
+         */
727
+        public function get_url() {
728
+            $content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) );
729
+            $content_url = untrailingslashit( WP_CONTENT_URL );
730
+
731
+            // Replace http:// to https://.
732
+            if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) {
733
+                $content_url = str_replace( 'http://', 'https://', $content_url );
734
+            }
735
+
736
+            // Check if we are inside a plugin
737
+            $file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) );
738
+            $url = str_replace( $content_dir, $content_url, $file_dir );
739
+
740
+            return trailingslashit( $url );
741
+        }
742
+
743
+        /**
744
+         * Get the url path to the current folder.
745
+         *
746
+         * @return string
747
+         */
748
+        public function get_url_old() {
749
+
750
+            $url = '';
751
+            // check if we are inside a plugin
752
+            $file_dir = str_replace( "/includes","", wp_normalize_path( dirname( __FILE__ ) ) );
753
+
754
+            // add check in-case user has changed wp-content dir name.
755
+            $wp_content_folder_name = basename(WP_CONTENT_DIR);
756
+            $dir_parts = explode("/$wp_content_folder_name/",$file_dir);
757
+            $url_parts = explode("/$wp_content_folder_name/",plugins_url());
758
+
759
+            if(!empty($url_parts[0]) && !empty($dir_parts[1])){
760
+                $url = trailingslashit( $url_parts[0]."/$wp_content_folder_name/".$dir_parts[1] );
761
+            }
762
+
763
+            return $url;
764
+        }
765
+
766
+        /**
767
+         * Register the database settings with WordPress.
768
+         */
769
+        public function register_settings() {
770
+            register_setting( 'ayecode-ui-settings', 'ayecode-ui-settings' );
771
+        }
772
+
773
+        /**
774
+         * Add the WordPress settings menu item.
775
+         * @since 1.0.10 Calling function name direct will fail theme check so we don't.
776
+         */
777
+        public function menu_item() {
778
+            $menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
779
+            call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array(
780
+                $this,
781
+                'settings_page'
782
+            ) );
783
+        }
784
+
785
+        /**
786
+         * Get a list of themes and their default JS settings.
787
+         *
788
+         * @return array
789
+         */
790
+        public function theme_js_settings(){
791
+            return array(
792
+                'ayetheme' => 'popper',
793
+                'listimia' => 'required',
794
+                'listimia_backend' => 'core-popper',
795
+                //'avada'    => 'required', // removed as we now add compatibility
796
+            );
797
+        }
798
+
799
+        /**
800
+         * Get the current Font Awesome output settings.
801
+         *
802
+         * @return array The array of settings.
803
+         */
804
+        public function get_settings() {
805
+
806
+            $db_settings = get_option( 'ayecode-ui-settings' );
807
+            $js_default = 'core-popper';
808
+            $js_default_backend = $js_default;
809
+
810
+            // maybe set defaults (if no settings set)
811
+            if(empty($db_settings)){
812
+                $active_theme = strtolower( get_template() ); // active parent theme.
813
+                $theme_js_settings = self::theme_js_settings();
814
+                if(isset($theme_js_settings[$active_theme])){
815
+                    $js_default = $theme_js_settings[$active_theme];
816
+                    $js_default_backend = isset($theme_js_settings[$active_theme."_backend"]) ? $theme_js_settings[$active_theme."_backend"] : $js_default;
817
+                }
818
+            }
819
+
820
+            /**
821
+             * Filter the default settings.
822
+             */
823
+            $defaults = apply_filters( 'ayecode-ui-default-settings', array(
824
+                'css'            => 'compatibility', // core, compatibility
825
+                'js'             => $js_default, // js to load, core-popper, popper
826
+                'html_font_size' => '16', // js to load, core-popper, popper
827
+                'css_backend'    => 'compatibility', // core, compatibility
828
+                'js_backend'     => $js_default_backend, // js to load, core-popper, popper
829
+                'disable_admin'  => '', // URL snippets to disable loading on admin
830 830
                 'bs_ver'         => '4', // The default bootstrap version to sue by default
831
-			), $db_settings );
831
+            ), $db_settings );
832 832
 
833
-			$settings = wp_parse_args( $db_settings, $defaults );
833
+            $settings = wp_parse_args( $db_settings, $defaults );
834 834
 
835
-			/**
836
-			 * Filter the Bootstrap settings.
837
-			 *
838
-			 * @todo if we add this filer people might use it and then it defeates the purpose of this class :/
839
-			 */
840
-			return $this->settings = apply_filters( 'ayecode-ui-settings', $settings, $db_settings, $defaults );
841
-		}
835
+            /**
836
+             * Filter the Bootstrap settings.
837
+             *
838
+             * @todo if we add this filer people might use it and then it defeates the purpose of this class :/
839
+             */
840
+            return $this->settings = apply_filters( 'ayecode-ui-settings', $settings, $db_settings, $defaults );
841
+        }
842 842
 
843 843
 
844
-		/**
845
-		 * The settings page html output.
846
-		 */
847
-		public function settings_page() {
848
-			if ( ! current_user_can( 'manage_options' ) ) {
849
-				wp_die( __( 'You do not have sufficient permissions to access this page.', 'aui' ) );
850
-			}
844
+        /**
845
+         * The settings page html output.
846
+         */
847
+        public function settings_page() {
848
+            if ( ! current_user_can( 'manage_options' ) ) {
849
+                wp_die( __( 'You do not have sufficient permissions to access this page.', 'aui' ) );
850
+            }
851 851
             $overrides = apply_filters( 'ayecode-ui-settings', array(), array(), array() );
852 852
 
853
-			?>
853
+            ?>
854 854
             <div class="wrap">
855 855
                 <h1><?php echo $this->name; ?></h1>
856 856
                 <p><?php echo apply_filters( 'ayecode-ui-settings-message', __("Here you can adjust settings if you are having compatibility issues.",'aui') );?></p>
857 857
                 <form method="post" action="options.php">
858 858
 					<?php
859
-					settings_fields( 'ayecode-ui-settings' );
860
-					do_settings_sections( 'ayecode-ui-settings' );
861
-					?>
859
+                    settings_fields( 'ayecode-ui-settings' );
860
+                    do_settings_sections( 'ayecode-ui-settings' );
861
+                    ?>
862 862
 
863 863
                     <h2><?php _e( 'BootStrap Version', 'aui' ); ?></h2>
864 864
                     <p><?php echo apply_filters( 'ayecode-ui-version-settings-message', __("V5 is recommended, however if you have another plugin installed using v4, you may need to use v4 also.",'aui') );?></p>
865 865
 	                <div class="bsui"><?php
866
-	                if ( ! empty( $overrides ) ) {
867
-		                echo aui()->alert(array(
868
-			                'type'=> 'info',
869
-			                'content'=> __("Some options are disabled as your current theme is overriding them.",'aui')
870
-		                ));
871
-	                }
872
-	                ?>
866
+                    if ( ! empty( $overrides ) ) {
867
+                        echo aui()->alert(array(
868
+                            'type'=> 'info',
869
+                            'content'=> __("Some options are disabled as your current theme is overriding them.",'aui')
870
+                        ));
871
+                    }
872
+                    ?>
873 873
                     </div>
874 874
                     <table class="form-table wpbs-table-version-settings">
875 875
                         <tr valign="top">
@@ -962,79 +962,79 @@  discard block
 block discarded – undo
962 962
                     </table>
963 963
 
964 964
 					<?php
965
-					submit_button();
966
-					?>
965
+                    submit_button();
966
+                    ?>
967 967
                 </form>
968 968
 
969 969
                 <div id="wpbs-version" data-aui-source="<?php echo esc_attr( $this->get_load_source() ); ?>"><?php echo $this->version; ?></div>
970 970
             </div>
971 971
 
972 972
 			<?php
973
-		}
973
+        }
974 974
 
975 975
         public function get_load_source(){
976
-	        $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
977
-	        $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
978
-
979
-	        // Find source plugin/theme of SD
980
-	        $source = array();
981
-	        if ( strpos( $file, $plugins_dir ) !== false ) {
982
-		        $source = explode( "/", plugin_basename( $file ) );
983
-	        } else if ( function_exists( 'get_theme_root' ) ) {
984
-		        $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
985
-
986
-		        if ( strpos( $file, $themes_dir ) !== false ) {
987
-			        $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
988
-		        }
989
-	        }
976
+            $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
977
+            $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
978
+
979
+            // Find source plugin/theme of SD
980
+            $source = array();
981
+            if ( strpos( $file, $plugins_dir ) !== false ) {
982
+                $source = explode( "/", plugin_basename( $file ) );
983
+            } else if ( function_exists( 'get_theme_root' ) ) {
984
+                $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
985
+
986
+                if ( strpos( $file, $themes_dir ) !== false ) {
987
+                    $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
988
+                }
989
+            }
990 990
 
991 991
             return isset($source[0]) ? esc_attr($source[0]) : '';
992 992
         }
993 993
 
994
-		public function customizer_settings($wp_customize){
995
-			$wp_customize->add_section('aui_settings', array(
996
-				'title'    => __('AyeCode UI','aui'),
997
-				'priority' => 120,
998
-			));
999
-
1000
-			//  =============================
1001
-			//  = Color Picker              =
1002
-			//  =============================
1003
-			$wp_customize->add_setting('aui_options[color_primary]', array(
1004
-				'default'           => AUI_PRIMARY_COLOR,
1005
-				'sanitize_callback' => 'sanitize_hex_color',
1006
-				'capability'        => 'edit_theme_options',
1007
-				'type'              => 'option',
1008
-				'transport'         => 'refresh',
1009
-			));
1010
-			$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_primary', array(
1011
-				'label'    => __('Primary Color','aui'),
1012
-				'section'  => 'aui_settings',
1013
-				'settings' => 'aui_options[color_primary]',
1014
-			)));
1015
-
1016
-			$wp_customize->add_setting('aui_options[color_secondary]', array(
1017
-				'default'           => '#6c757d',
1018
-				'sanitize_callback' => 'sanitize_hex_color',
1019
-				'capability'        => 'edit_theme_options',
1020
-				'type'              => 'option',
1021
-				'transport'         => 'refresh',
1022
-			));
1023
-			$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_secondary', array(
1024
-				'label'    => __('Secondary Color','aui'),
1025
-				'section'  => 'aui_settings',
1026
-				'settings' => 'aui_options[color_secondary]',
1027
-			)));
1028
-		}
1029
-
1030
-		/**
1031
-		 * CSS to help with conflict issues with other plugins and themes using bootstrap v3.
1032
-		 *
1033
-		 * @return mixed
1034
-		 */
1035
-		public static function bs3_compat_css() {
1036
-			ob_start();
1037
-			?>
994
+        public function customizer_settings($wp_customize){
995
+            $wp_customize->add_section('aui_settings', array(
996
+                'title'    => __('AyeCode UI','aui'),
997
+                'priority' => 120,
998
+            ));
999
+
1000
+            //  =============================
1001
+            //  = Color Picker              =
1002
+            //  =============================
1003
+            $wp_customize->add_setting('aui_options[color_primary]', array(
1004
+                'default'           => AUI_PRIMARY_COLOR,
1005
+                'sanitize_callback' => 'sanitize_hex_color',
1006
+                'capability'        => 'edit_theme_options',
1007
+                'type'              => 'option',
1008
+                'transport'         => 'refresh',
1009
+            ));
1010
+            $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_primary', array(
1011
+                'label'    => __('Primary Color','aui'),
1012
+                'section'  => 'aui_settings',
1013
+                'settings' => 'aui_options[color_primary]',
1014
+            )));
1015
+
1016
+            $wp_customize->add_setting('aui_options[color_secondary]', array(
1017
+                'default'           => '#6c757d',
1018
+                'sanitize_callback' => 'sanitize_hex_color',
1019
+                'capability'        => 'edit_theme_options',
1020
+                'type'              => 'option',
1021
+                'transport'         => 'refresh',
1022
+            ));
1023
+            $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_secondary', array(
1024
+                'label'    => __('Secondary Color','aui'),
1025
+                'section'  => 'aui_settings',
1026
+                'settings' => 'aui_options[color_secondary]',
1027
+            )));
1028
+        }
1029
+
1030
+        /**
1031
+         * CSS to help with conflict issues with other plugins and themes using bootstrap v3.
1032
+         *
1033
+         * @return mixed
1034
+         */
1035
+        public static function bs3_compat_css() {
1036
+            ob_start();
1037
+            ?>
1038 1038
             <style>
1039 1039
                 /* Bootstrap 3 compatibility */
1040 1040
                 body.modal-open .modal-backdrop.show:not(.in) {opacity:0.5;}
@@ -1063,58 +1063,58 @@  discard block
 block discarded – undo
1063 1063
                 <?php } ?>
1064 1064
             </style>
1065 1065
 			<?php
1066
-			return str_replace( array(
1067
-				'<style>',
1068
-				'</style>'
1069
-			), '', self::minify_css( ob_get_clean() ) );
1070
-		}
1066
+            return str_replace( array(
1067
+                '<style>',
1068
+                '</style>'
1069
+            ), '', self::minify_css( ob_get_clean() ) );
1070
+        }
1071 1071
 
1072 1072
 
1073
-		public static function custom_css($compatibility = true) {
1073
+        public static function custom_css($compatibility = true) {
1074 1074
             global $aui_bs5;
1075 1075
 
1076
-			$colors = array();
1077
-			if ( defined( 'BLOCKSTRAP_VERSION' ) ) {
1076
+            $colors = array();
1077
+            if ( defined( 'BLOCKSTRAP_VERSION' ) ) {
1078 1078
 
1079 1079
 
1080
-				$setting = wp_get_global_settings();
1080
+                $setting = wp_get_global_settings();
1081 1081
 
1082 1082
 //                print_r(wp_get_global_styles());//exit;
1083 1083
 //                print_r(get_default_block_editor_settings());exit;
1084 1084
 
1085 1085
 //                print_r($setting);echo  '###';exit;
1086
-				if(!empty($setting['color']['palette']['theme'])){
1087
-					foreach($setting['color']['palette']['theme'] as $color){
1088
-						$colors[$color['slug']] = esc_attr($color['color']);
1089
-					}
1090
-				}
1086
+                if(!empty($setting['color']['palette']['theme'])){
1087
+                    foreach($setting['color']['palette']['theme'] as $color){
1088
+                        $colors[$color['slug']] = esc_attr($color['color']);
1089
+                    }
1090
+                }
1091 1091
 
1092
-				if(!empty($setting['color']['palette']['custom'])){
1093
-					foreach($setting['color']['palette']['custom'] as $color){
1094
-						$colors[$color['slug']] = esc_attr($color['color']);
1095
-					}
1096
-				}
1097
-			}else{
1098
-				$settings = get_option('aui_options');
1099
-				$colors = array(
1100
-					'primary'   => ! empty( $settings['color_primary'] ) ? $settings['color_primary'] : AUI_PRIMARY_COLOR,
1101
-					'secondary' => ! empty( $settings['color_secondary'] ) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR
1102
-				);
1103
-			}
1092
+                if(!empty($setting['color']['palette']['custom'])){
1093
+                    foreach($setting['color']['palette']['custom'] as $color){
1094
+                        $colors[$color['slug']] = esc_attr($color['color']);
1095
+                    }
1096
+                }
1097
+            }else{
1098
+                $settings = get_option('aui_options');
1099
+                $colors = array(
1100
+                    'primary'   => ! empty( $settings['color_primary'] ) ? $settings['color_primary'] : AUI_PRIMARY_COLOR,
1101
+                    'secondary' => ! empty( $settings['color_secondary'] ) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR
1102
+                );
1103
+            }
1104 1104
 
1105
-			ob_start();
1105
+            ob_start();
1106 1106
 
1107
-			?>
1107
+            ?>
1108 1108
             <style>
1109 1109
                 <?php
1110 1110
 
1111
-					// BS v3 compat
1112
-					if( self::is_bs3_compat() ){
1113
-						echo self::bs3_compat_css();
1114
-					}
1111
+                    // BS v3 compat
1112
+                    if( self::is_bs3_compat() ){
1113
+                        echo self::bs3_compat_css();
1114
+                    }
1115 1115
 
1116
-					if(!empty($colors)){
1117
-						$d_colors = self::get_colors(true);
1116
+                    if(!empty($colors)){
1117
+                        $d_colors = self::get_colors(true);
1118 1118
 
1119 1119
                         $current_screen = function_exists('get_current_screen' ) ? get_current_screen() : '';
1120 1120
                         $is_fse = false;
@@ -1123,22 +1123,22 @@  discard block
 block discarded – undo
1123 1123
                         }
1124 1124
 
1125 1125
 //						$is_fse = !empty($_REQUEST['postType']) && $_REQUEST['postType']=='wp_template';
1126
-						foreach($colors as $key => $color ){
1127
-							if((empty( $d_colors[$key]) ||  $d_colors[$key] != $color) || $is_fse ) {
1128
-								$var = $is_fse ? "var(--wp--preset--color--$key)" : $color;
1129
-								$compat = $is_fse ? '.editor-styles-wrapper' : $compatibility;
1130
-								echo $aui_bs5 ? self::css_overwrite_bs5($key,$var,$compat,$color) : self::css_overwrite($key,$var,$compat,$color);
1131
-							}
1132
-						}
1133
-					   // exit;
1134
-					}
1126
+                        foreach($colors as $key => $color ){
1127
+                            if((empty( $d_colors[$key]) ||  $d_colors[$key] != $color) || $is_fse ) {
1128
+                                $var = $is_fse ? "var(--wp--preset--color--$key)" : $color;
1129
+                                $compat = $is_fse ? '.editor-styles-wrapper' : $compatibility;
1130
+                                echo $aui_bs5 ? self::css_overwrite_bs5($key,$var,$compat,$color) : self::css_overwrite($key,$var,$compat,$color);
1131
+                            }
1132
+                        }
1133
+                        // exit;
1134
+                    }
1135 1135
 
1136
-					// Set admin bar z-index lower when modal is open.
1137
-					echo ' body.modal-open #wpadminbar{z-index:999}.embed-responsive-16by9 .fluid-width-video-wrapper{padding:0 !important;position:initial}';
1136
+                    // Set admin bar z-index lower when modal is open.
1137
+                    echo ' body.modal-open #wpadminbar{z-index:999}.embed-responsive-16by9 .fluid-width-video-wrapper{padding:0 !important;position:initial}';
1138 1138
 
1139
-					if(is_admin()){
1140
-						echo ' body.modal-open #adminmenuwrap{z-index:999} body.modal-open #wpadminbar{z-index:1025}';
1141
-					}
1139
+                    if(is_admin()){
1140
+                        echo ' body.modal-open #adminmenuwrap{z-index:999} body.modal-open #wpadminbar{z-index:1025}';
1141
+                    }
1142 1142
 
1143 1143
                     if( $aui_bs5 && defined( 'BLOCKSTRAP_VERSION' ) ){
1144 1144
                         $css = '';
@@ -1158,171 +1158,171 @@  discard block
 block discarded – undo
1158 1158
                             echo 'body{' . $css . '}';
1159 1159
                         }
1160 1160
                     }
1161
-				?>
1161
+                ?>
1162 1162
             </style>
1163 1163
 			<?php
1164 1164
 
1165 1165
 
1166
-			/*
1166
+            /*
1167 1167
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1168 1168
 			 */
1169
-			return str_replace( array(
1170
-				'<style>',
1171
-				'</style>'
1172
-			), '', self::minify_css( ob_get_clean() ) );
1173
-		}
1174
-
1175
-
1176
-
1177
-		/**
1178
-		 * Check if we should add booststrap 3 compatibility changes.
1179
-		 *
1180
-		 * @return bool
1181
-		 */
1182
-		public static function is_bs3_compat(){
1183
-			return defined('AYECODE_UI_BS3_COMPAT') || defined('SVQ_THEME_VERSION') || defined('FUSION_BUILDER_VERSION');
1184
-		}
1185
-
1186
-		public static function hex_to_rgb($hex) {
1187
-			// Remove '#' if present
1188
-			$hex = str_replace('#', '', $hex);
1189
-
1190
-			// Convert 3-digit hex to 6-digit hex
1191
-			if(strlen($hex) == 3) {
1192
-				$hex = str_repeat(substr($hex, 0, 1), 2) . str_repeat(substr($hex, 1, 1), 2) . str_repeat(substr($hex, 2, 1), 2);
1193
-			}
1194
-
1195
-			// Convert hex to RGB
1196
-			$r = hexdec(substr($hex, 0, 2));
1197
-			$g = hexdec(substr($hex, 2, 2));
1198
-			$b = hexdec(substr($hex, 4, 2));
1199
-
1200
-			// Return RGB values as an array
1201
-			return $r . ',' . $g . ',' . $b;
1202
-		}
1203
-
1204
-		/**
1205
-		 * Build the CSS to overwrite a bootstrap color variable.
1206
-		 *
1207
-		 * @param $type
1208
-		 * @param $color_code
1209
-		 * @param $compatibility
1210
-		 *
1211
-		 * @return string
1212
-		 */
1213
-		public static function css_overwrite_bs5($type,$color_code,$compatibility, $hex = '' ){
1214
-			global $aui_bs5;
1215
-
1216
-			$is_var = false;
1217
-			$is_custom = strpos($type, 'custom-') !== false ? true : false;
1218
-			if(!$color_code){return '';}
1219
-			if(strpos($color_code, 'var') !== false){
1220
-				//if(!sanitize_hex_color($color_code)){
1221
-				$color_code = esc_attr($color_code);
1222
-				$is_var = true;
1169
+            return str_replace( array(
1170
+                '<style>',
1171
+                '</style>'
1172
+            ), '', self::minify_css( ob_get_clean() ) );
1173
+        }
1174
+
1175
+
1176
+
1177
+        /**
1178
+         * Check if we should add booststrap 3 compatibility changes.
1179
+         *
1180
+         * @return bool
1181
+         */
1182
+        public static function is_bs3_compat(){
1183
+            return defined('AYECODE_UI_BS3_COMPAT') || defined('SVQ_THEME_VERSION') || defined('FUSION_BUILDER_VERSION');
1184
+        }
1185
+
1186
+        public static function hex_to_rgb($hex) {
1187
+            // Remove '#' if present
1188
+            $hex = str_replace('#', '', $hex);
1189
+
1190
+            // Convert 3-digit hex to 6-digit hex
1191
+            if(strlen($hex) == 3) {
1192
+                $hex = str_repeat(substr($hex, 0, 1), 2) . str_repeat(substr($hex, 1, 1), 2) . str_repeat(substr($hex, 2, 1), 2);
1193
+            }
1194
+
1195
+            // Convert hex to RGB
1196
+            $r = hexdec(substr($hex, 0, 2));
1197
+            $g = hexdec(substr($hex, 2, 2));
1198
+            $b = hexdec(substr($hex, 4, 2));
1199
+
1200
+            // Return RGB values as an array
1201
+            return $r . ',' . $g . ',' . $b;
1202
+        }
1203
+
1204
+        /**
1205
+         * Build the CSS to overwrite a bootstrap color variable.
1206
+         *
1207
+         * @param $type
1208
+         * @param $color_code
1209
+         * @param $compatibility
1210
+         *
1211
+         * @return string
1212
+         */
1213
+        public static function css_overwrite_bs5($type,$color_code,$compatibility, $hex = '' ){
1214
+            global $aui_bs5;
1215
+
1216
+            $is_var = false;
1217
+            $is_custom = strpos($type, 'custom-') !== false ? true : false;
1218
+            if(!$color_code){return '';}
1219
+            if(strpos($color_code, 'var') !== false){
1220
+                //if(!sanitize_hex_color($color_code)){
1221
+                $color_code = esc_attr($color_code);
1222
+                $is_var = true;
1223 1223
 //				$color_code = "rgba($color_code, 0.5)";
1224 1224
 //                echo '###1'.$color_code.'###';//exit;
1225
-			}
1225
+            }
1226 1226
 
1227 1227
 //            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1228 1228
 
1229
-			if(!$color_code){return '';}
1229
+            if(!$color_code){return '';}
1230 1230
 
1231
-			$rgb = self::hex_to_rgb($hex);
1231
+            $rgb = self::hex_to_rgb($hex);
1232 1232
 
1233
-			if($compatibility===true || $compatibility===1){
1234
-				$compatibility = '.bsui';
1235
-			}elseif(!$compatibility){
1236
-				$compatibility = '';
1237
-			}else{
1238
-				$compatibility = esc_attr($compatibility);
1239
-			}
1233
+            if($compatibility===true || $compatibility===1){
1234
+                $compatibility = '.bsui';
1235
+            }elseif(!$compatibility){
1236
+                $compatibility = '';
1237
+            }else{
1238
+                $compatibility = esc_attr($compatibility);
1239
+            }
1240 1240
 
1241
-			$prefix = $compatibility ? $compatibility . " " : "";
1241
+            $prefix = $compatibility ? $compatibility . " " : "";
1242 1242
 
1243 1243
 
1244 1244
             $output = '';
1245 1245
 
1246 1246
 //            echo '####'.$color_code;exit;
1247 1247
 
1248
-			$type = sanitize_html_class($type);
1248
+            $type = sanitize_html_class($type);
1249
+
1250
+            /**
1251
+             * c = color, b = background color, o = border-color, f = fill
1252
+             */
1253
+            $selectors = array(
1254
+                ".btn-{$type}"                                              => array( 'b', 'o' ),
1255
+                ".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1256
+                ".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1257
+                ".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1258
+                ".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1259
+                ".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1260
+                ".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1261
+                ".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1262
+                ".badge-{$type}"                                            => array( 'b' ),
1263
+                ".alert-{$type}"                                            => array( 'b', 'o' ),
1264
+                ".bg-{$type}"                                               => array( 'b', 'f' ),
1265
+                ".btn-link.btn-{$type}"                                     => array( 'c' ),
1266
+                ".text-{$type}"                                     => array( 'c' ),
1267
+            );
1268
+
1269
+            if ( $aui_bs5 ) {
1270
+                unset($selectors[".alert-{$type}" ]);
1271
+            }
1249 1272
 
1250
-			/**
1251
-			 * c = color, b = background color, o = border-color, f = fill
1252
-			 */
1253
-			$selectors = array(
1254
-				".btn-{$type}"                                              => array( 'b', 'o' ),
1255
-				".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1256
-				".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1257
-				".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1258
-				".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1259
-				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1260
-				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1261
-				".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1262
-				".badge-{$type}"                                            => array( 'b' ),
1263
-				".alert-{$type}"                                            => array( 'b', 'o' ),
1264
-				".bg-{$type}"                                               => array( 'b', 'f' ),
1265
-				".btn-link.btn-{$type}"                                     => array( 'c' ),
1266
-				".text-{$type}"                                     => array( 'c' ),
1267
-			);
1268
-
1269
-			if ( $aui_bs5 ) {
1270
-				unset($selectors[".alert-{$type}" ]);
1271
-			}
1272
-
1273
-			if ( $type == 'primary' ) {
1274
-				$selectors = $selectors + array(
1275
-						'a'                                                                                                    => array( 'c' ),
1276
-						'.btn-link'                                                                                            => array( 'c' ),
1277
-						'.dropdown-item.active'                                                                                => array( 'b' ),
1278
-						'.custom-control-input:checked~.custom-control-label::before'                                          => array(
1279
-							'b',
1280
-							'o'
1281
-						),
1282
-						'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1283
-							'b',
1284
-							'o'
1285
-						),
1286
-						'.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1287
-						'.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1288
-						'.page-link'                                                                                           => array( 'c' ),
1289
-						'.page-item.active .page-link'                                                                         => array(
1290
-							'b',
1291
-							'o'
1292
-						),
1293
-						'.progress-bar'                                                                                        => array( 'b' ),
1294
-						'.list-group-item.active'                                                                              => array(
1295
-							'b',
1296
-							'o'
1297
-						),
1298
-						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1299
-					);
1300
-			}
1273
+            if ( $type == 'primary' ) {
1274
+                $selectors = $selectors + array(
1275
+                        'a'                                                                                                    => array( 'c' ),
1276
+                        '.btn-link'                                                                                            => array( 'c' ),
1277
+                        '.dropdown-item.active'                                                                                => array( 'b' ),
1278
+                        '.custom-control-input:checked~.custom-control-label::before'                                          => array(
1279
+                            'b',
1280
+                            'o'
1281
+                        ),
1282
+                        '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1283
+                            'b',
1284
+                            'o'
1285
+                        ),
1286
+                        '.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1287
+                        '.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1288
+                        '.page-link'                                                                                           => array( 'c' ),
1289
+                        '.page-item.active .page-link'                                                                         => array(
1290
+                            'b',
1291
+                            'o'
1292
+                        ),
1293
+                        '.progress-bar'                                                                                        => array( 'b' ),
1294
+                        '.list-group-item.active'                                                                              => array(
1295
+                            'b',
1296
+                            'o'
1297
+                        ),
1298
+                        '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1299
+                    );
1300
+            }
1301 1301
 
1302 1302
 
1303 1303
 
1304 1304
             // link
1305
-			if ( $type === 'primary' ) {
1306
-				$output .= 'html body {--bs-link-hover-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .75); --bs-link-color: var(--bs-'.esc_attr($type).'); }';
1307
-				$output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: '.esc_attr($color_code).';  }';
1308
-				$output .= $prefix . ' .navbar { --bs-nav-link-hover-color: '.esc_attr($color_code).'; --bs-navbar-hover-color: '.esc_attr($color_code).'; --bs-navbar-active-color: '.esc_attr($color_code).'; }';
1305
+            if ( $type === 'primary' ) {
1306
+                $output .= 'html body {--bs-link-hover-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .75); --bs-link-color: var(--bs-'.esc_attr($type).'); }';
1307
+                $output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: '.esc_attr($color_code).';  }';
1308
+                $output .= $prefix . ' .navbar { --bs-nav-link-hover-color: '.esc_attr($color_code).'; --bs-navbar-hover-color: '.esc_attr($color_code).'; --bs-navbar-active-color: '.esc_attr($color_code).'; }';
1309 1309
 
1310
-				$output .= $prefix . ' a{color: var(--bs-'.esc_attr($type).');}';
1311
-				$output .= $prefix . ' .text-primary{color: var(--bs-'.esc_attr($type).') !important;}';
1310
+                $output .= $prefix . ' a{color: var(--bs-'.esc_attr($type).');}';
1311
+                $output .= $prefix . ' .text-primary{color: var(--bs-'.esc_attr($type).') !important;}';
1312 1312
 
1313 1313
                 // dropdown
1314
-				$output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-'.esc_attr($type).'); --bs-dropdown-link-active-color: var(--bs-'.esc_attr($type).');}';
1314
+                $output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-'.esc_attr($type).'); --bs-dropdown-link-active-color: var(--bs-'.esc_attr($type).');}';
1315 1315
 
1316 1316
                 // pagination
1317
-				$output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-'.esc_attr($type).'); --bs-pagination-active-bg: var(--bs-'.esc_attr($type).');}';
1317
+                $output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-'.esc_attr($type).'); --bs-pagination-active-bg: var(--bs-'.esc_attr($type).');}';
1318 1318
 
1319
-			}
1319
+            }
1320 1320
 
1321
-			$output .= $prefix . ' .link-'.esc_attr($type).':hover {color: rgba(var(--bs-'.esc_attr($type).'-rgb), .8) !important;}';
1321
+            $output .= $prefix . ' .link-'.esc_attr($type).':hover {color: rgba(var(--bs-'.esc_attr($type).'-rgb), .8) !important;}';
1322 1322
 
1323
-			//  buttons
1324
-			$output .= $prefix . ' .btn-'.esc_attr($type).'{';
1325
-			$output .= ' 
1323
+            //  buttons
1324
+            $output .= $prefix . ' .btn-'.esc_attr($type).'{';
1325
+            $output .= ' 
1326 1326
             --bs-btn-bg: '.esc_attr($color_code).';
1327 1327
             --bs-btn-border-color: '.esc_attr($color_code).';
1328 1328
             --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
@@ -1340,11 +1340,11 @@  discard block
 block discarded – undo
1340 1340
 //			--bs-btn-active-color: #fff;
1341 1341
 //			--bs-btn-disabled-color: #fff;
1342 1342
 //            ';
1343
-			$output .= '}';
1343
+            $output .= '}';
1344 1344
 
1345
-			//  buttons outline
1346
-			$output .= $prefix . ' .btn-outline-'.esc_attr($type).'{';
1347
-			$output .= ' 
1345
+            //  buttons outline
1346
+            $output .= $prefix . ' .btn-outline-'.esc_attr($type).'{';
1347
+            $output .= ' 
1348 1348
             --bs-btn-border-color: '.esc_attr($color_code).';
1349 1349
             --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1350 1350
             --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
@@ -1361,37 +1361,37 @@  discard block
 block discarded – undo
1361 1361
 //			--bs-btn-active-color: #fff;
1362 1362
 //			--bs-btn-disabled-color: #fff;
1363 1363
 //            ';
1364
-			$output .= '}';
1364
+            $output .= '}';
1365 1365
 
1366 1366
 
1367 1367
             // button hover
1368
-			$output .= $prefix . ' .btn-'.esc_attr($type).':hover{';
1369
-			$output .= ' 
1368
+            $output .= $prefix . ' .btn-'.esc_attr($type).':hover{';
1369
+            $output .= ' 
1370 1370
             box-shadow: 0 0.25rem 0.25rem 0.125rem rgb(var(--bs-'.esc_attr($type).'-rgb), .1), 0 0.375rem 0.75rem -0.125rem rgb(var(--bs-'.esc_attr($type).'-rgb) , .4);
1371 1371
             }
1372 1372
             ';
1373 1373
 
1374 1374
 
1375
-			if ( $aui_bs5 ) {
1375
+            if ( $aui_bs5 ) {
1376 1376
 //				$output .= $is_var ? 'html body {--bs-'.esc_attr($type).'-rgb: '.$color_code.'; }' : 'html body {--bs-'.esc_attr($type).'-rgb: '.self::hex_to_rgb($color_code).'; }';
1377
-				$output .= 'html body {--bs-'.esc_attr($type).': '.esc_attr($color_code).'; }';
1378
-				$output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1379
-			}
1377
+                $output .= 'html body {--bs-'.esc_attr($type).': '.esc_attr($color_code).'; }';
1378
+                $output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1379
+            }
1380 1380
 
1381 1381
 
1382
-			if ( $is_custom ) {
1382
+            if ( $is_custom ) {
1383 1383
 
1384 1384
 //				echo '###'.$type;exit;
1385 1385
 
1386
-				// build rules into each type
1387
-				foreach($selectors as $selector => $types){
1388
-					$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1389
-					$types = array_combine($types,$types);
1390
-					if(isset($types['c'])){$color[] = $selector;}
1391
-					if(isset($types['b'])){$background[] = $selector;}
1392
-					if(isset($types['o'])){$border[] = $selector;}
1393
-					if(isset($types['f'])){$fill[] = $selector;}
1394
-				}
1386
+                // build rules into each type
1387
+                foreach($selectors as $selector => $types){
1388
+                    $selector = $compatibility ? $compatibility . " ".$selector : $selector;
1389
+                    $types = array_combine($types,$types);
1390
+                    if(isset($types['c'])){$color[] = $selector;}
1391
+                    if(isset($types['b'])){$background[] = $selector;}
1392
+                    if(isset($types['o'])){$border[] = $selector;}
1393
+                    if(isset($types['f'])){$fill[] = $selector;}
1394
+                }
1395 1395
 
1396 1396
 //				// build rules into each type
1397 1397
 //				foreach($important_selectors as $selector => $types){
@@ -1403,67 +1403,67 @@  discard block
 block discarded – undo
1403 1403
 //					if(isset($types['f'])){$fill_i[] = $selector;}
1404 1404
 //				}
1405 1405
 
1406
-				// add any color rules
1407
-				if(!empty($color)){
1408
-					$output .= implode(",",$color) . "{color: $color_code;} ";
1409
-				}
1410
-				if(!empty($color_i)){
1411
-					$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1412
-				}
1406
+                // add any color rules
1407
+                if(!empty($color)){
1408
+                    $output .= implode(",",$color) . "{color: $color_code;} ";
1409
+                }
1410
+                if(!empty($color_i)){
1411
+                    $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1412
+                }
1413 1413
 
1414
-				// add any background color rules
1415
-				if(!empty($background)){
1416
-					$output .= implode(",",$background) . "{background-color: $color_code;} ";
1417
-				}
1418
-				if(!empty($background_i)){
1419
-					$output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1414
+                // add any background color rules
1415
+                if(!empty($background)){
1416
+                    $output .= implode(",",$background) . "{background-color: $color_code;} ";
1417
+                }
1418
+                if(!empty($background_i)){
1419
+                    $output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1420 1420
 //				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1421
-				}
1421
+                }
1422 1422
 
1423
-				// add any border color rules
1424
-				if(!empty($border)){
1425
-					$output .= implode(",",$border) . "{border-color: $color_code;} ";
1426
-				}
1427
-				if(!empty($border_i)){
1428
-					$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1429
-				}
1423
+                // add any border color rules
1424
+                if(!empty($border)){
1425
+                    $output .= implode(",",$border) . "{border-color: $color_code;} ";
1426
+                }
1427
+                if(!empty($border_i)){
1428
+                    $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1429
+                }
1430 1430
 
1431
-				// add any fill color rules
1432
-				if(!empty($fill)){
1433
-					$output .= implode(",",$fill) . "{fill: $color_code;} ";
1434
-				}
1435
-				if(!empty($fill_i)){
1436
-					$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1437
-				}
1431
+                // add any fill color rules
1432
+                if(!empty($fill)){
1433
+                    $output .= implode(",",$fill) . "{fill: $color_code;} ";
1434
+                }
1435
+                if(!empty($fill_i)){
1436
+                    $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1437
+                }
1438 1438
 
1439
-			}
1439
+            }
1440 1440
 
1441 1441
 
1442 1442
 
1443 1443
 
1444
-			$transition = $is_var ? 'transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,filter 0.15s ease-in-out;' : '';
1445
-			// darken
1446
-			$darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1447
-			$darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1448
-			$darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1449
-			$darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1444
+            $transition = $is_var ? 'transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,filter 0.15s ease-in-out;' : '';
1445
+            // darken
1446
+            $darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1447
+            $darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1448
+            $darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1449
+            $darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1450 1450
 
1451
-			// lighten
1452
-			$lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1451
+            // lighten
1452
+            $lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1453 1453
 
1454
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
1455
-			$op_25 = $color_code."40"; // 25% opacity
1454
+            // opacity see https://css-tricks.com/8-digit-hex-codes/
1455
+            $op_25 = $color_code."40"; // 25% opacity
1456 1456
 
1457 1457
 
1458
-			// button states
1459
-			$output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1460
-			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1458
+            // button states
1459
+            $output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1460
+            $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1461 1461
 //			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1462
-			$output .= $prefix ." .btn-outline-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-{$type}.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1463
-			$output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active, $prefix .btn-{$type}:not(:disabled):not(.disabled).active, .show>$prefix .btn-{$type}.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
1464
-			$output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-{$type}.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1462
+            $output .= $prefix ." .btn-outline-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-{$type}.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1463
+            $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active, $prefix .btn-{$type}:not(:disabled):not(.disabled).active, .show>$prefix .btn-{$type}.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
1464
+            $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-{$type}.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1465 1465
 
1466
-			// text
1466
+            // text
1467 1467
 //			$output .= $prefix .".xxx, .text-{$type} {color: var(--bs-".esc_attr($type).");} ";
1468 1468
 
1469 1469
 
@@ -1478,773 +1478,773 @@  discard block
 block discarded – undo
1478 1478
 //				$output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1479 1479
 //			}
1480 1480
 
1481
-			// alerts
1482
-			if ( $aui_bs5 ) {
1481
+            // alerts
1482
+            if ( $aui_bs5 ) {
1483 1483
 //				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1484
-				$output .= $prefix ." .alert-{$type} {--bs-alert-bg: rgba(var(--bs-{$type}-rgb), .1 ) !important;--bs-alert-border-color: rgba(var(--bs-{$type}-rgb), .25 ) !important;--bs-alert-color: rgba(var(--bs-{$type}-rgb), 1 ) !important;} ";
1485
-			}
1486
-
1487
-			return $output;
1488
-		}
1489
-
1490
-		/**
1491
-		 * Build the CSS to overwrite a bootstrap color variable.
1492
-		 *
1493
-		 * @param $type
1494
-		 * @param $color_code
1495
-		 * @param $compatibility
1496
-		 *
1497
-		 * @return string
1498
-		 */
1499
-		public static function css_overwrite($type,$color_code,$compatibility, $hex = '' ){
1484
+                $output .= $prefix ." .alert-{$type} {--bs-alert-bg: rgba(var(--bs-{$type}-rgb), .1 ) !important;--bs-alert-border-color: rgba(var(--bs-{$type}-rgb), .25 ) !important;--bs-alert-color: rgba(var(--bs-{$type}-rgb), 1 ) !important;} ";
1485
+            }
1486
+
1487
+            return $output;
1488
+        }
1489
+
1490
+        /**
1491
+         * Build the CSS to overwrite a bootstrap color variable.
1492
+         *
1493
+         * @param $type
1494
+         * @param $color_code
1495
+         * @param $compatibility
1496
+         *
1497
+         * @return string
1498
+         */
1499
+        public static function css_overwrite($type,$color_code,$compatibility, $hex = '' ){
1500 1500
             global $aui_bs5;
1501 1501
 
1502
-			$is_var = false;
1503
-			if(!$color_code){return '';}
1504
-			if(strpos($color_code, 'var') !== false){
1505
-				//if(!sanitize_hex_color($color_code)){
1506
-				$color_code = esc_attr($color_code);
1507
-				$is_var = true;
1502
+            $is_var = false;
1503
+            if(!$color_code){return '';}
1504
+            if(strpos($color_code, 'var') !== false){
1505
+                //if(!sanitize_hex_color($color_code)){
1506
+                $color_code = esc_attr($color_code);
1507
+                $is_var = true;
1508 1508
 //				$color_code = "rgba($color_code, 0.5)";
1509 1509
 //                echo '###1'.$color_code.'###';//exit;
1510
-			}
1510
+            }
1511 1511
 
1512 1512
 //            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1513 1513
 
1514
-			if(!$color_code){return '';}
1514
+            if(!$color_code){return '';}
1515 1515
 
1516 1516
             $rgb = self::hex_to_rgb($hex);
1517 1517
 
1518
-			if($compatibility===true || $compatibility===1){
1519
-				$compatibility = '.bsui';
1520
-			}elseif(!$compatibility){
1521
-				$compatibility = '';
1522
-			}else{
1523
-				$compatibility = esc_attr($compatibility);
1524
-			}
1518
+            if($compatibility===true || $compatibility===1){
1519
+                $compatibility = '.bsui';
1520
+            }elseif(!$compatibility){
1521
+                $compatibility = '';
1522
+            }else{
1523
+                $compatibility = esc_attr($compatibility);
1524
+            }
1525 1525
 
1526 1526
 
1527 1527
 
1528 1528
 //            echo '####'.$color_code;exit;
1529 1529
 
1530
-			$type = sanitize_html_class($type);
1531
-
1532
-			/**
1533
-			 * c = color, b = background color, o = border-color, f = fill
1534
-			 */
1535
-			$selectors = array(
1536
-				".btn-{$type}"                                              => array( 'b', 'o' ),
1537
-				".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1538
-				".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1539
-				".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1540
-				".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1541
-				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1542
-				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1543
-				".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1544
-				".badge-{$type}"                                            => array( 'b' ),
1545
-				".alert-{$type}"                                            => array( 'b', 'o' ),
1546
-				".bg-{$type}"                                               => array( 'b', 'f' ),
1547
-				".btn-link.btn-{$type}"                                     => array( 'c' ),
1548
-			);
1549
-
1550
-			if ( $aui_bs5 ) {
1530
+            $type = sanitize_html_class($type);
1531
+
1532
+            /**
1533
+             * c = color, b = background color, o = border-color, f = fill
1534
+             */
1535
+            $selectors = array(
1536
+                ".btn-{$type}"                                              => array( 'b', 'o' ),
1537
+                ".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1538
+                ".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1539
+                ".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1540
+                ".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1541
+                ".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1542
+                ".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1543
+                ".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1544
+                ".badge-{$type}"                                            => array( 'b' ),
1545
+                ".alert-{$type}"                                            => array( 'b', 'o' ),
1546
+                ".bg-{$type}"                                               => array( 'b', 'f' ),
1547
+                ".btn-link.btn-{$type}"                                     => array( 'c' ),
1548
+            );
1549
+
1550
+            if ( $aui_bs5 ) {
1551 1551
                 unset($selectors[".alert-{$type}" ]);
1552
-			}
1553
-
1554
-			if ( $type == 'primary' ) {
1555
-				$selectors = $selectors + array(
1556
-						'a'                                                                                                    => array( 'c' ),
1557
-						'.btn-link'                                                                                            => array( 'c' ),
1558
-						'.dropdown-item.active'                                                                                => array( 'b' ),
1559
-						'.custom-control-input:checked~.custom-control-label::before'                                          => array(
1560
-							'b',
1561
-							'o'
1562
-						),
1563
-						'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1564
-							'b',
1565
-							'o'
1566
-						),
1567
-						'.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1568
-						'.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1569
-						'.page-link'                                                                                           => array( 'c' ),
1570
-						'.page-item.active .page-link'                                                                         => array(
1571
-							'b',
1572
-							'o'
1573
-						),
1574
-						'.progress-bar'                                                                                        => array( 'b' ),
1575
-						'.list-group-item.active'                                                                              => array(
1576
-							'b',
1577
-							'o'
1578
-						),
1579
-						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1552
+            }
1553
+
1554
+            if ( $type == 'primary' ) {
1555
+                $selectors = $selectors + array(
1556
+                        'a'                                                                                                    => array( 'c' ),
1557
+                        '.btn-link'                                                                                            => array( 'c' ),
1558
+                        '.dropdown-item.active'                                                                                => array( 'b' ),
1559
+                        '.custom-control-input:checked~.custom-control-label::before'                                          => array(
1560
+                            'b',
1561
+                            'o'
1562
+                        ),
1563
+                        '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1564
+                            'b',
1565
+                            'o'
1566
+                        ),
1567
+                        '.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1568
+                        '.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1569
+                        '.page-link'                                                                                           => array( 'c' ),
1570
+                        '.page-item.active .page-link'                                                                         => array(
1571
+                            'b',
1572
+                            'o'
1573
+                        ),
1574
+                        '.progress-bar'                                                                                        => array( 'b' ),
1575
+                        '.list-group-item.active'                                                                              => array(
1576
+                            'b',
1577
+                            'o'
1578
+                        ),
1579
+                        '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1580 1580
 //				    '.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1581 1581
 //				    '.custom-range::-moz-range-thumb' => array('b'),
1582 1582
 //				    '.custom-range::-ms-thumb' => array('b'),
1583
-					);
1584
-			}
1585
-
1586
-			$important_selectors = array(
1587
-				".bg-{$type}" => array('b','f'),
1588
-				".border-{$type}" => array('o'),
1589
-				".text-{$type}" => array('c'),
1590
-			);
1591
-
1592
-			$color = array();
1593
-			$color_i = array();
1594
-			$background = array();
1595
-			$background_i = array();
1596
-			$border = array();
1597
-			$border_i = array();
1598
-			$fill = array();
1599
-			$fill_i = array();
1600
-
1601
-			$output = '';
1602
-
1603
-			if ( $aui_bs5 ) {
1583
+                    );
1584
+            }
1585
+
1586
+            $important_selectors = array(
1587
+                ".bg-{$type}" => array('b','f'),
1588
+                ".border-{$type}" => array('o'),
1589
+                ".text-{$type}" => array('c'),
1590
+            );
1591
+
1592
+            $color = array();
1593
+            $color_i = array();
1594
+            $background = array();
1595
+            $background_i = array();
1596
+            $border = array();
1597
+            $border_i = array();
1598
+            $fill = array();
1599
+            $fill_i = array();
1600
+
1601
+            $output = '';
1602
+
1603
+            if ( $aui_bs5 ) {
1604 1604
 //				$output .= $is_var ? 'html body {--bs-'.esc_attr($type).'-rgb: '.$color_code.'; }' : 'html body {--bs-'.esc_attr($type).'-rgb: '.self::hex_to_rgb($color_code).'; }';
1605
-				$output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1606
-			}
1607
-
1608
-			// build rules into each type
1609
-			foreach($selectors as $selector => $types){
1610
-				$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1611
-				$types = array_combine($types,$types);
1612
-				if(isset($types['c'])){$color[] = $selector;}
1613
-				if(isset($types['b'])){$background[] = $selector;}
1614
-				if(isset($types['o'])){$border[] = $selector;}
1615
-				if(isset($types['f'])){$fill[] = $selector;}
1616
-			}
1617
-
1618
-			// build rules into each type
1619
-			foreach($important_selectors as $selector => $types){
1620
-				$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1621
-				$types = array_combine($types,$types);
1622
-				if(isset($types['c'])){$color_i[] = $selector;}
1623
-				if(isset($types['b'])){$background_i[] = $selector;}
1624
-				if(isset($types['o'])){$border_i[] = $selector;}
1625
-				if(isset($types['f'])){$fill_i[] = $selector;}
1626
-			}
1627
-
1628
-			// add any color rules
1629
-			if(!empty($color)){
1630
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1631
-			}
1632
-			if(!empty($color_i)){
1633
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1634
-			}
1635
-
1636
-			// add any background color rules
1637
-			if(!empty($background)){
1638
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1639
-			}
1640
-			if(!empty($background_i)){
1641
-				$output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1605
+                $output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1606
+            }
1607
+
1608
+            // build rules into each type
1609
+            foreach($selectors as $selector => $types){
1610
+                $selector = $compatibility ? $compatibility . " ".$selector : $selector;
1611
+                $types = array_combine($types,$types);
1612
+                if(isset($types['c'])){$color[] = $selector;}
1613
+                if(isset($types['b'])){$background[] = $selector;}
1614
+                if(isset($types['o'])){$border[] = $selector;}
1615
+                if(isset($types['f'])){$fill[] = $selector;}
1616
+            }
1617
+
1618
+            // build rules into each type
1619
+            foreach($important_selectors as $selector => $types){
1620
+                $selector = $compatibility ? $compatibility . " ".$selector : $selector;
1621
+                $types = array_combine($types,$types);
1622
+                if(isset($types['c'])){$color_i[] = $selector;}
1623
+                if(isset($types['b'])){$background_i[] = $selector;}
1624
+                if(isset($types['o'])){$border_i[] = $selector;}
1625
+                if(isset($types['f'])){$fill_i[] = $selector;}
1626
+            }
1627
+
1628
+            // add any color rules
1629
+            if(!empty($color)){
1630
+                $output .= implode(",",$color) . "{color: $color_code;} ";
1631
+            }
1632
+            if(!empty($color_i)){
1633
+                $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1634
+            }
1635
+
1636
+            // add any background color rules
1637
+            if(!empty($background)){
1638
+                $output .= implode(",",$background) . "{background-color: $color_code;} ";
1639
+            }
1640
+            if(!empty($background_i)){
1641
+                $output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1642 1642
 //				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1643
-			}
1643
+            }
1644 1644
 
1645
-			// add any border color rules
1646
-			if(!empty($border)){
1647
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1648
-			}
1649
-			if(!empty($border_i)){
1650
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1651
-			}
1645
+            // add any border color rules
1646
+            if(!empty($border)){
1647
+                $output .= implode(",",$border) . "{border-color: $color_code;} ";
1648
+            }
1649
+            if(!empty($border_i)){
1650
+                $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1651
+            }
1652 1652
 
1653
-			// add any fill color rules
1654
-			if(!empty($fill)){
1655
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1656
-			}
1657
-			if(!empty($fill_i)){
1658
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1659
-			}
1653
+            // add any fill color rules
1654
+            if(!empty($fill)){
1655
+                $output .= implode(",",$fill) . "{fill: $color_code;} ";
1656
+            }
1657
+            if(!empty($fill_i)){
1658
+                $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1659
+            }
1660 1660
 
1661 1661
 
1662
-			$prefix = $compatibility ? $compatibility . " " : "";
1662
+            $prefix = $compatibility ? $compatibility . " " : "";
1663 1663
 
1664
-			$transition = $is_var ? 'transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,filter 0.15s ease-in-out;' : '';
1665
-			// darken
1666
-			$darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1667
-			$darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1668
-			$darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1669
-			$darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1664
+            $transition = $is_var ? 'transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,filter 0.15s ease-in-out;' : '';
1665
+            // darken
1666
+            $darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1667
+            $darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1668
+            $darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1669
+            $darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1670 1670
 
1671
-			// lighten
1672
-			$lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1671
+            // lighten
1672
+            $lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1673 1673
 
1674
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
1675
-			$op_25 = $color_code."40"; // 25% opacity
1674
+            // opacity see https://css-tricks.com/8-digit-hex-codes/
1675
+            $op_25 = $color_code."40"; // 25% opacity
1676 1676
 
1677 1677
 
1678
-			// button states
1679
-			$output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1680
-			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1678
+            // button states
1679
+            $output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1680
+            $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1681 1681
 //			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1682
-			$output .= $prefix ." .btn-outline-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-{$type}.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1683
-			$output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active, $prefix .btn-{$type}:not(:disabled):not(.disabled).active, .show>$prefix .btn-{$type}.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
1684
-			$output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-{$type}.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1682
+            $output .= $prefix ." .btn-outline-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-{$type}.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1683
+            $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active, $prefix .btn-{$type}:not(:disabled):not(.disabled).active, .show>$prefix .btn-{$type}.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
1684
+            $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-{$type}.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1685 1685
 
1686
-			if ( $type == 'primary' ) {
1687
-				// dropdown's
1688
-				$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1686
+            if ( $type == 'primary' ) {
1687
+                // dropdown's
1688
+                $output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1689 1689
 
1690
-				// input states
1691
-				$output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
1690
+                // input states
1691
+                $output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
1692 1692
 
1693
-				// page link
1694
-				$output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1695
-			}
1693
+                // page link
1694
+                $output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1695
+            }
1696 1696
 
1697 1697
             // alerts
1698
-			if ( $aui_bs5 ) {
1698
+            if ( $aui_bs5 ) {
1699 1699
 //				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1700
-				$output .= $prefix ." .alert-{$type} {--bs-alert-bg: rgba(var(--bs-{$type}-rgb), .1 ) !important;--bs-alert-border-color: rgba(var(--bs-{$type}-rgb), .25 ) !important;--bs-alert-color: rgba(var(--bs-{$type}-rgb), 1 ) !important;} ";
1701
-			}
1702
-
1703
-			return $output;
1704
-		}
1705
-
1706
-		/**
1707
-		 *
1708
-		 * @deprecated 0.1.76 Use css_overwrite()
1709
-		 *
1710
-		 * @param $color_code
1711
-		 * @param $compatibility
1712
-		 * @param $use_variable
1713
-		 *
1714
-		 * @return string
1715
-		 */
1716
-		public static function css_primary($color_code,$compatibility, $use_variable = false){
1717
-
1718
-			if(!$use_variable){
1719
-				$color_code = sanitize_hex_color($color_code);
1720
-				if(!$color_code){return '';}
1721
-			}
1722
-
1723
-			/**
1724
-			 * c = color, b = background color, o = border-color, f = fill
1725
-			 */
1726
-			$selectors = array(
1727
-				'a' => array('c'),
1728
-				'.btn-primary' => array('b','o'),
1729
-				'.btn-primary.disabled' => array('b','o'),
1730
-				'.btn-primary:disabled' => array('b','o'),
1731
-				'.btn-outline-primary' => array('c','o'),
1732
-				'.btn-outline-primary:hover' => array('b','o'),
1733
-				'.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'),
1734
-				'.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'),
1735
-				'.show>.btn-outline-primary.dropdown-toggle' => array('b','o'),
1736
-				'.btn-link' => array('c'),
1737
-				'.dropdown-item.active' => array('b'),
1738
-				'.custom-control-input:checked~.custom-control-label::before' => array('b','o'),
1739
-				'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'),
1700
+                $output .= $prefix ." .alert-{$type} {--bs-alert-bg: rgba(var(--bs-{$type}-rgb), .1 ) !important;--bs-alert-border-color: rgba(var(--bs-{$type}-rgb), .25 ) !important;--bs-alert-color: rgba(var(--bs-{$type}-rgb), 1 ) !important;} ";
1701
+            }
1702
+
1703
+            return $output;
1704
+        }
1705
+
1706
+        /**
1707
+         *
1708
+         * @deprecated 0.1.76 Use css_overwrite()
1709
+         *
1710
+         * @param $color_code
1711
+         * @param $compatibility
1712
+         * @param $use_variable
1713
+         *
1714
+         * @return string
1715
+         */
1716
+        public static function css_primary($color_code,$compatibility, $use_variable = false){
1717
+
1718
+            if(!$use_variable){
1719
+                $color_code = sanitize_hex_color($color_code);
1720
+                if(!$color_code){return '';}
1721
+            }
1722
+
1723
+            /**
1724
+             * c = color, b = background color, o = border-color, f = fill
1725
+             */
1726
+            $selectors = array(
1727
+                'a' => array('c'),
1728
+                '.btn-primary' => array('b','o'),
1729
+                '.btn-primary.disabled' => array('b','o'),
1730
+                '.btn-primary:disabled' => array('b','o'),
1731
+                '.btn-outline-primary' => array('c','o'),
1732
+                '.btn-outline-primary:hover' => array('b','o'),
1733
+                '.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'),
1734
+                '.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'),
1735
+                '.show>.btn-outline-primary.dropdown-toggle' => array('b','o'),
1736
+                '.btn-link' => array('c'),
1737
+                '.dropdown-item.active' => array('b'),
1738
+                '.custom-control-input:checked~.custom-control-label::before' => array('b','o'),
1739
+                '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'),
1740 1740
 //				'.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1741 1741
 //				'.custom-range::-moz-range-thumb' => array('b'),
1742 1742
 //				'.custom-range::-ms-thumb' => array('b'),
1743
-				'.nav-pills .nav-link.active' => array('b'),
1744
-				'.nav-pills .show>.nav-link' => array('b'),
1745
-				'.page-link' => array('c'),
1746
-				'.page-item.active .page-link' => array('b','o'),
1747
-				'.badge-primary' => array('b'),
1748
-				'.alert-primary' => array('b','o'),
1749
-				'.progress-bar' => array('b'),
1750
-				'.list-group-item.active' => array('b','o'),
1751
-				'.bg-primary' => array('b','f'),
1752
-				'.btn-link.btn-primary' => array('c'),
1753
-				'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1754
-			);
1755
-
1756
-			$important_selectors = array(
1757
-				'.bg-primary' => array('b','f'),
1758
-				'.border-primary' => array('o'),
1759
-				'.text-primary' => array('c'),
1760
-			);
1761
-
1762
-			$color = array();
1763
-			$color_i = array();
1764
-			$background = array();
1765
-			$background_i = array();
1766
-			$border = array();
1767
-			$border_i = array();
1768
-			$fill = array();
1769
-			$fill_i = array();
1770
-
1771
-			$output = '';
1772
-
1773
-			// build rules into each type
1774
-			foreach($selectors as $selector => $types){
1775
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1776
-				$types = array_combine($types,$types);
1777
-				if(isset($types['c'])){$color[] = $selector;}
1778
-				if(isset($types['b'])){$background[] = $selector;}
1779
-				if(isset($types['o'])){$border[] = $selector;}
1780
-				if(isset($types['f'])){$fill[] = $selector;}
1781
-			}
1782
-
1783
-			// build rules into each type
1784
-			foreach($important_selectors as $selector => $types){
1785
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1786
-				$types = array_combine($types,$types);
1787
-				if(isset($types['c'])){$color_i[] = $selector;}
1788
-				if(isset($types['b'])){$background_i[] = $selector;}
1789
-				if(isset($types['o'])){$border_i[] = $selector;}
1790
-				if(isset($types['f'])){$fill_i[] = $selector;}
1791
-			}
1792
-
1793
-			// add any color rules
1794
-			if(!empty($color)){
1795
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1796
-			}
1797
-			if(!empty($color_i)){
1798
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1799
-			}
1800
-
1801
-			// add any background color rules
1802
-			if(!empty($background)){
1803
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1804
-			}
1805
-			if(!empty($background_i)){
1806
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1807
-			}
1808
-
1809
-			// add any border color rules
1810
-			if(!empty($border)){
1811
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1812
-			}
1813
-			if(!empty($border_i)){
1814
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1815
-			}
1816
-
1817
-			// add any fill color rules
1818
-			if(!empty($fill)){
1819
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1820
-			}
1821
-			if(!empty($fill_i)){
1822
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1823
-			}
1824
-
1825
-
1826
-			$prefix = $compatibility ? ".bsui " : "";
1827
-
1828
-			// darken
1829
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1830
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1831
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1832
-
1833
-			// lighten
1834
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1835
-
1836
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
1837
-			$op_25 = $color_code."40"; // 25% opacity
1838
-
1839
-
1840
-			// button states
1841
-			$output .= $prefix ." .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1842
-			$output .= $prefix ." .btn-outline-primary:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-primary.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1843
-			$output .= $prefix ." .btn-primary:not(:disabled):not(.disabled):active, $prefix .btn-primary:not(:disabled):not(.disabled).active, .show>$prefix .btn-primary.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
1844
-			$output .= $prefix ." .btn-primary:not(:disabled):not(.disabled):active:focus, $prefix .btn-primary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-primary.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1845
-
1846
-
1847
-			// dropdown's
1848
-			$output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1849
-
1850
-
1851
-			// input states
1852
-			$output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} ";
1853
-
1854
-			// page link
1855
-			$output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1856
-
1857
-			return $output;
1858
-		}
1859
-
1860
-		/**
1861
-		 *
1862
-		 * @deprecated 0.1.76 Use css_overwrite()
1863
-		 *
1864
-		 * @param $color_code
1865
-		 * @param $compatibility
1866
-		 *
1867
-		 * @return string
1868
-		 */
1869
-		public static function css_secondary($color_code,$compatibility){;
1870
-			$color_code = sanitize_hex_color($color_code);
1871
-			if(!$color_code){return '';}
1872
-			/**
1873
-			 * c = color, b = background color, o = border-color, f = fill
1874
-			 */
1875
-			$selectors = array(
1876
-				'.btn-secondary' => array('b','o'),
1877
-				'.btn-secondary.disabled' => array('b','o'),
1878
-				'.btn-secondary:disabled' => array('b','o'),
1879
-				'.btn-outline-secondary' => array('c','o'),
1880
-				'.btn-outline-secondary:hover' => array('b','o'),
1881
-				'.btn-outline-secondary.disabled' => array('c'),
1882
-				'.btn-outline-secondary:disabled' => array('c'),
1883
-				'.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'),
1884
-				'.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'),
1885
-				'.btn-outline-secondary.dropdown-toggle' => array('b','o'),
1886
-				'.badge-secondary' => array('b'),
1887
-				'.alert-secondary' => array('b','o'),
1888
-				'.btn-link.btn-secondary' => array('c'),
1889
-			);
1890
-
1891
-			$important_selectors = array(
1892
-				'.bg-secondary' => array('b','f'),
1893
-				'.border-secondary' => array('o'),
1894
-				'.text-secondary' => array('c'),
1895
-			);
1896
-
1897
-			$color = array();
1898
-			$color_i = array();
1899
-			$background = array();
1900
-			$background_i = array();
1901
-			$border = array();
1902
-			$border_i = array();
1903
-			$fill = array();
1904
-			$fill_i = array();
1905
-
1906
-			$output = '';
1907
-
1908
-			// build rules into each type
1909
-			foreach($selectors as $selector => $types){
1910
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1911
-				$types = array_combine($types,$types);
1912
-				if(isset($types['c'])){$color[] = $selector;}
1913
-				if(isset($types['b'])){$background[] = $selector;}
1914
-				if(isset($types['o'])){$border[] = $selector;}
1915
-				if(isset($types['f'])){$fill[] = $selector;}
1916
-			}
1917
-
1918
-			// build rules into each type
1919
-			foreach($important_selectors as $selector => $types){
1920
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1921
-				$types = array_combine($types,$types);
1922
-				if(isset($types['c'])){$color_i[] = $selector;}
1923
-				if(isset($types['b'])){$background_i[] = $selector;}
1924
-				if(isset($types['o'])){$border_i[] = $selector;}
1925
-				if(isset($types['f'])){$fill_i[] = $selector;}
1926
-			}
1927
-
1928
-			// add any color rules
1929
-			if(!empty($color)){
1930
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1931
-			}
1932
-			if(!empty($color_i)){
1933
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1934
-			}
1935
-
1936
-			// add any background color rules
1937
-			if(!empty($background)){
1938
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1939
-			}
1940
-			if(!empty($background_i)){
1941
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1942
-			}
1943
-
1944
-			// add any border color rules
1945
-			if(!empty($border)){
1946
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1947
-			}
1948
-			if(!empty($border_i)){
1949
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1950
-			}
1951
-
1952
-			// add any fill color rules
1953
-			if(!empty($fill)){
1954
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1955
-			}
1956
-			if(!empty($fill_i)){
1957
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1958
-			}
1959
-
1960
-
1961
-			$prefix = $compatibility ? ".bsui " : "";
1962
-
1963
-			// darken
1964
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1965
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1966
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1967
-
1968
-			// lighten
1969
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1970
-
1971
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
1972
-			$op_25 = $color_code."40"; // 25% opacity
1973
-
1974
-
1975
-			// button states
1976
-			$output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1977
-			$output .= $prefix ." .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-secondary.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1978
-			$output .= $prefix ." .btn-secondary:not(:disabled):not(.disabled):active, $prefix .btn-secondary:not(:disabled):not(.disabled).active, .show>$prefix .btn-secondary.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
1979
-			$output .= $prefix ." .btn-secondary:not(:disabled):not(.disabled):active:focus, $prefix .btn-secondary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-secondary.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1980
-
1981
-
1982
-			return $output;
1983
-		}
1984
-
1985
-		/**
1986
-		 * Increases or decreases the brightness of a color by a percentage of the current brightness.
1987
-		 *
1988
-		 * @param   string  $hexCode        Supported formats: `#FFF`, `#FFFFFF`, `FFF`, `FFFFFF`
1989
-		 * @param   float   $adjustPercent  A number between -1 and 1. E.g. 0.3 = 30% lighter; -0.4 = 40% darker.
1990
-		 *
1991
-		 * @return  string
1992
-		 */
1993
-		public static function css_hex_lighten_darken($hexCode, $adjustPercent) {
1994
-			$hexCode = ltrim($hexCode, '#');
1995
-
1996
-			if (strlen($hexCode) == 3) {
1997
-				$hexCode = $hexCode[0] . $hexCode[0] . $hexCode[1] . $hexCode[1] . $hexCode[2] . $hexCode[2];
1998
-			}
1999
-
2000
-			$hexCode = array_map('hexdec', str_split($hexCode, 2));
2001
-
2002
-			foreach ($hexCode as & $color) {
2003
-				$adjustableLimit = $adjustPercent < 0 ? $color : 255 - $color;
2004
-				$adjustAmount = ceil($adjustableLimit * $adjustPercent);
2005
-
2006
-				$color = str_pad(dechex($color + $adjustAmount), 2, '0', STR_PAD_LEFT);
2007
-			}
2008
-
2009
-			return '#' . implode($hexCode);
2010
-		}
2011
-
2012
-		/**
2013
-		 * Check if we should display examples.
2014
-		 */
2015
-		public function maybe_show_examples(){
2016
-			if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){
2017
-				echo "<head>";
2018
-				wp_head();
2019
-				echo "</head>";
2020
-				echo "<body>";
2021
-				echo $this->get_examples();
2022
-				echo "</body>";
2023
-				exit;
2024
-			}
2025
-		}
2026
-
2027
-		/**
2028
-		 * Get developer examples.
2029
-		 *
2030
-		 * @return string
2031
-		 */
2032
-		public function get_examples(){
2033
-			$output = '';
2034
-
2035
-
2036
-			// open form
2037
-			$output .= "<form class='p-5 m-5 border rounded'>";
2038
-
2039
-			// input example
2040
-			$output .= aui()->input(array(
2041
-				'type'  =>  'text',
2042
-				'id'    =>  'text-example',
2043
-				'name'    =>  'text-example',
2044
-				'placeholder'   => 'text placeholder',
2045
-				'title'   => 'Text input example',
2046
-				'value' =>  '',
2047
-				'required'  => false,
2048
-				'help_text' => 'help text',
2049
-				'label' => 'Text input example label'
2050
-			));
2051
-
2052
-			// input example
2053
-			$output .= aui()->input(array(
2054
-				'type'  =>  'url',
2055
-				'id'    =>  'text-example2',
2056
-				'name'    =>  'text-example',
2057
-				'placeholder'   => 'url placeholder',
2058
-				'title'   => 'Text input example',
2059
-				'value' =>  '',
2060
-				'required'  => false,
2061
-				'help_text' => 'help text',
2062
-				'label' => 'Text input example label'
2063
-			));
2064
-
2065
-			// checkbox example
2066
-			$output .= aui()->input(array(
2067
-				'type'  =>  'checkbox',
2068
-				'id'    =>  'checkbox-example',
2069
-				'name'    =>  'checkbox-example',
2070
-				'placeholder'   => 'checkbox-example',
2071
-				'title'   => 'Checkbox example',
2072
-				'value' =>  '1',
2073
-				'checked'   => true,
2074
-				'required'  => false,
2075
-				'help_text' => 'help text',
2076
-				'label' => 'Checkbox checked'
2077
-			));
2078
-
2079
-			// checkbox example
2080
-			$output .= aui()->input(array(
2081
-				'type'  =>  'checkbox',
2082
-				'id'    =>  'checkbox-example2',
2083
-				'name'    =>  'checkbox-example2',
2084
-				'placeholder'   => 'checkbox-example',
2085
-				'title'   => 'Checkbox example',
2086
-				'value' =>  '1',
2087
-				'checked'   => false,
2088
-				'required'  => false,
2089
-				'help_text' => 'help text',
2090
-				'label' => 'Checkbox un-checked'
2091
-			));
2092
-
2093
-			// switch example
2094
-			$output .= aui()->input(array(
2095
-				'type'  =>  'checkbox',
2096
-				'id'    =>  'switch-example',
2097
-				'name'    =>  'switch-example',
2098
-				'placeholder'   => 'checkbox-example',
2099
-				'title'   => 'Switch example',
2100
-				'value' =>  '1',
2101
-				'checked'   => true,
2102
-				'switch'    => true,
2103
-				'required'  => false,
2104
-				'help_text' => 'help text',
2105
-				'label' => 'Switch on'
2106
-			));
2107
-
2108
-			// switch example
2109
-			$output .= aui()->input(array(
2110
-				'type'  =>  'checkbox',
2111
-				'id'    =>  'switch-example2',
2112
-				'name'    =>  'switch-example2',
2113
-				'placeholder'   => 'checkbox-example',
2114
-				'title'   => 'Switch example',
2115
-				'value' =>  '1',
2116
-				'checked'   => false,
2117
-				'switch'    => true,
2118
-				'required'  => false,
2119
-				'help_text' => 'help text',
2120
-				'label' => 'Switch off'
2121
-			));
2122
-
2123
-			// close form
2124
-			$output .= "</form>";
2125
-
2126
-			return $output;
2127
-		}
2128
-
2129
-		/**
2130
-		 * Calendar params.
2131
-		 *
2132
-		 * @since 0.1.44
2133
-		 *
2134
-		 * @return array Calendar params.
2135
-		 */
2136
-		public static function calendar_params() {
2137
-			$params = array(
2138
-				'month_long_1' => __( 'January', 'aui' ),
2139
-				'month_long_2' => __( 'February', 'aui' ),
2140
-				'month_long_3' => __( 'March', 'aui' ),
2141
-				'month_long_4' => __( 'April', 'aui' ),
2142
-				'month_long_5' => __( 'May', 'aui' ),
2143
-				'month_long_6' => __( 'June', 'aui' ),
2144
-				'month_long_7' => __( 'July', 'aui' ),
2145
-				'month_long_8' => __( 'August', 'aui' ),
2146
-				'month_long_9' => __( 'September', 'aui' ),
2147
-				'month_long_10' => __( 'October', 'aui' ),
2148
-				'month_long_11' => __( 'November', 'aui' ),
2149
-				'month_long_12' => __( 'December', 'aui' ),
2150
-				'month_s_1' => _x( 'Jan', 'January abbreviation', 'aui' ),
2151
-				'month_s_2' => _x( 'Feb', 'February abbreviation', 'aui' ),
2152
-				'month_s_3' => _x( 'Mar', 'March abbreviation', 'aui' ),
2153
-				'month_s_4' => _x( 'Apr', 'April abbreviation', 'aui' ),
2154
-				'month_s_5' => _x( 'May', 'May abbreviation', 'aui' ),
2155
-				'month_s_6' => _x( 'Jun', 'June abbreviation', 'aui' ),
2156
-				'month_s_7' => _x( 'Jul', 'July abbreviation', 'aui' ),
2157
-				'month_s_8' => _x( 'Aug', 'August abbreviation', 'aui' ),
2158
-				'month_s_9' => _x( 'Sep', 'September abbreviation', 'aui' ),
2159
-				'month_s_10' => _x( 'Oct', 'October abbreviation', 'aui' ),
2160
-				'month_s_11' => _x( 'Nov', 'November abbreviation', 'aui' ),
2161
-				'month_s_12' => _x( 'Dec', 'December abbreviation', 'aui' ),
2162
-				'day_s1_1' => _x( 'S', 'Sunday initial', 'aui' ),
2163
-				'day_s1_2' => _x( 'M', 'Monday initial', 'aui' ),
2164
-				'day_s1_3' => _x( 'T', 'Tuesday initial', 'aui' ),
2165
-				'day_s1_4' => _x( 'W', 'Wednesday initial', 'aui' ),
2166
-				'day_s1_5' => _x( 'T', 'Friday initial', 'aui' ),
2167
-				'day_s1_6' => _x( 'F', 'Thursday initial', 'aui' ),
2168
-				'day_s1_7' => _x( 'S', 'Saturday initial', 'aui' ),
2169
-				'day_s2_1' => __( 'Su', 'aui' ),
2170
-				'day_s2_2' => __( 'Mo', 'aui' ),
2171
-				'day_s2_3' => __( 'Tu', 'aui' ),
2172
-				'day_s2_4' => __( 'We', 'aui' ),
2173
-				'day_s2_5' => __( 'Th', 'aui' ),
2174
-				'day_s2_6' => __( 'Fr', 'aui' ),
2175
-				'day_s2_7' => __( 'Sa', 'aui' ),
2176
-				'day_s3_1' => __( 'Sun', 'aui' ),
2177
-				'day_s3_2' => __( 'Mon', 'aui' ),
2178
-				'day_s3_3' => __( 'Tue', 'aui' ),
2179
-				'day_s3_4' => __( 'Wed', 'aui' ),
2180
-				'day_s3_5' => __( 'Thu', 'aui' ),
2181
-				'day_s3_6' => __( 'Fri', 'aui' ),
2182
-				'day_s3_7' => __( 'Sat', 'aui' ),
2183
-				'day_s5_1' => __( 'Sunday', 'aui' ),
2184
-				'day_s5_2' => __( 'Monday', 'aui' ),
2185
-				'day_s5_3' => __( 'Tuesday', 'aui' ),
2186
-				'day_s5_4' => __( 'Wednesday', 'aui' ),
2187
-				'day_s5_5' => __( 'Thursday', 'aui' ),
2188
-				'day_s5_6' => __( 'Friday', 'aui' ),
2189
-				'day_s5_7' => __( 'Saturday', 'aui' ),
2190
-				'am_lower' => __( 'am', 'aui' ),
2191
-				'pm_lower' => __( 'pm', 'aui' ),
2192
-				'am_upper' => __( 'AM', 'aui' ),
2193
-				'pm_upper' => __( 'PM', 'aui' ),
2194
-				'firstDayOfWeek' => (int) get_option( 'start_of_week' ),
2195
-				'time_24hr' => false,
2196
-				'year' => __( 'Year', 'aui' ),
2197
-				'hour' => __( 'Hour', 'aui' ),
2198
-				'minute' => __( 'Minute', 'aui' ),
2199
-				'weekAbbreviation' => __( 'Wk', 'aui' ),
2200
-				'rangeSeparator' => __( ' to ', 'aui' ),
2201
-				'scrollTitle' => __( 'Scroll to increment', 'aui' ),
2202
-				'toggleTitle' => __( 'Click to toggle', 'aui' )
2203
-			);
2204
-
2205
-			return apply_filters( 'ayecode_ui_calendar_params', $params );
2206
-		}
2207
-
2208
-		/**
2209
-		 * Flatpickr calendar localize.
2210
-		 *
2211
-		 * @since 0.1.44
2212
-		 *
2213
-		 * @return string Calendar locale.
2214
-		 */
2215
-		public static function flatpickr_locale() {
2216
-			$params = self::calendar_params();
2217
-
2218
-			if ( is_string( $params ) ) {
2219
-				$params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' );
2220
-			} else {
2221
-				foreach ( (array) $params as $key => $value ) {
2222
-					if ( ! is_scalar( $value ) ) {
2223
-						continue;
2224
-					}
2225
-
2226
-					$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2227
-				}
2228
-			}
1743
+                '.nav-pills .nav-link.active' => array('b'),
1744
+                '.nav-pills .show>.nav-link' => array('b'),
1745
+                '.page-link' => array('c'),
1746
+                '.page-item.active .page-link' => array('b','o'),
1747
+                '.badge-primary' => array('b'),
1748
+                '.alert-primary' => array('b','o'),
1749
+                '.progress-bar' => array('b'),
1750
+                '.list-group-item.active' => array('b','o'),
1751
+                '.bg-primary' => array('b','f'),
1752
+                '.btn-link.btn-primary' => array('c'),
1753
+                '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1754
+            );
1755
+
1756
+            $important_selectors = array(
1757
+                '.bg-primary' => array('b','f'),
1758
+                '.border-primary' => array('o'),
1759
+                '.text-primary' => array('c'),
1760
+            );
1761
+
1762
+            $color = array();
1763
+            $color_i = array();
1764
+            $background = array();
1765
+            $background_i = array();
1766
+            $border = array();
1767
+            $border_i = array();
1768
+            $fill = array();
1769
+            $fill_i = array();
1770
+
1771
+            $output = '';
1772
+
1773
+            // build rules into each type
1774
+            foreach($selectors as $selector => $types){
1775
+                $selector = $compatibility ? ".bsui ".$selector : $selector;
1776
+                $types = array_combine($types,$types);
1777
+                if(isset($types['c'])){$color[] = $selector;}
1778
+                if(isset($types['b'])){$background[] = $selector;}
1779
+                if(isset($types['o'])){$border[] = $selector;}
1780
+                if(isset($types['f'])){$fill[] = $selector;}
1781
+            }
1782
+
1783
+            // build rules into each type
1784
+            foreach($important_selectors as $selector => $types){
1785
+                $selector = $compatibility ? ".bsui ".$selector : $selector;
1786
+                $types = array_combine($types,$types);
1787
+                if(isset($types['c'])){$color_i[] = $selector;}
1788
+                if(isset($types['b'])){$background_i[] = $selector;}
1789
+                if(isset($types['o'])){$border_i[] = $selector;}
1790
+                if(isset($types['f'])){$fill_i[] = $selector;}
1791
+            }
1792
+
1793
+            // add any color rules
1794
+            if(!empty($color)){
1795
+                $output .= implode(",",$color) . "{color: $color_code;} ";
1796
+            }
1797
+            if(!empty($color_i)){
1798
+                $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1799
+            }
1800
+
1801
+            // add any background color rules
1802
+            if(!empty($background)){
1803
+                $output .= implode(",",$background) . "{background-color: $color_code;} ";
1804
+            }
1805
+            if(!empty($background_i)){
1806
+                $output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1807
+            }
1808
+
1809
+            // add any border color rules
1810
+            if(!empty($border)){
1811
+                $output .= implode(",",$border) . "{border-color: $color_code;} ";
1812
+            }
1813
+            if(!empty($border_i)){
1814
+                $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1815
+            }
1816
+
1817
+            // add any fill color rules
1818
+            if(!empty($fill)){
1819
+                $output .= implode(",",$fill) . "{fill: $color_code;} ";
1820
+            }
1821
+            if(!empty($fill_i)){
1822
+                $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1823
+            }
1824
+
1825
+
1826
+            $prefix = $compatibility ? ".bsui " : "";
1827
+
1828
+            // darken
1829
+            $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1830
+            $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1831
+            $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1832
+
1833
+            // lighten
1834
+            $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1835
+
1836
+            // opacity see https://css-tricks.com/8-digit-hex-codes/
1837
+            $op_25 = $color_code."40"; // 25% opacity
1838
+
2229 1839
 
2230
-			$day_s3 = array();
2231
-			$day_s5 = array();
1840
+            // button states
1841
+            $output .= $prefix ." .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1842
+            $output .= $prefix ." .btn-outline-primary:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-primary.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1843
+            $output .= $prefix ." .btn-primary:not(:disabled):not(.disabled):active, $prefix .btn-primary:not(:disabled):not(.disabled).active, .show>$prefix .btn-primary.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
1844
+            $output .= $prefix ." .btn-primary:not(:disabled):not(.disabled):active:focus, $prefix .btn-primary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-primary.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
2232 1845
 
2233
-			for ( $i = 1; $i <= 7; $i ++ ) {
2234
-				$day_s3[] = addslashes( $params[ 'day_s3_' . $i ] );
2235
-				$day_s5[] = addslashes( $params[ 'day_s3_' . $i ] );
2236
-			}
2237 1846
 
2238
-			$month_s = array();
2239
-			$month_long = array();
1847
+            // dropdown's
1848
+            $output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
2240 1849
 
2241
-			for ( $i = 1; $i <= 12; $i ++ ) {
2242
-				$month_s[] = addslashes( $params[ 'month_s_' . $i ] );
2243
-				$month_long[] = addslashes( $params[ 'month_long_' . $i ] );
2244
-			}
2245 1850
 
2246
-			ob_start();
2247
-		if ( 0 ) { ?><script><?php } ?>
1851
+            // input states
1852
+            $output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} ";
1853
+
1854
+            // page link
1855
+            $output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1856
+
1857
+            return $output;
1858
+        }
1859
+
1860
+        /**
1861
+         *
1862
+         * @deprecated 0.1.76 Use css_overwrite()
1863
+         *
1864
+         * @param $color_code
1865
+         * @param $compatibility
1866
+         *
1867
+         * @return string
1868
+         */
1869
+        public static function css_secondary($color_code,$compatibility){;
1870
+            $color_code = sanitize_hex_color($color_code);
1871
+            if(!$color_code){return '';}
1872
+            /**
1873
+             * c = color, b = background color, o = border-color, f = fill
1874
+             */
1875
+            $selectors = array(
1876
+                '.btn-secondary' => array('b','o'),
1877
+                '.btn-secondary.disabled' => array('b','o'),
1878
+                '.btn-secondary:disabled' => array('b','o'),
1879
+                '.btn-outline-secondary' => array('c','o'),
1880
+                '.btn-outline-secondary:hover' => array('b','o'),
1881
+                '.btn-outline-secondary.disabled' => array('c'),
1882
+                '.btn-outline-secondary:disabled' => array('c'),
1883
+                '.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'),
1884
+                '.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'),
1885
+                '.btn-outline-secondary.dropdown-toggle' => array('b','o'),
1886
+                '.badge-secondary' => array('b'),
1887
+                '.alert-secondary' => array('b','o'),
1888
+                '.btn-link.btn-secondary' => array('c'),
1889
+            );
1890
+
1891
+            $important_selectors = array(
1892
+                '.bg-secondary' => array('b','f'),
1893
+                '.border-secondary' => array('o'),
1894
+                '.text-secondary' => array('c'),
1895
+            );
1896
+
1897
+            $color = array();
1898
+            $color_i = array();
1899
+            $background = array();
1900
+            $background_i = array();
1901
+            $border = array();
1902
+            $border_i = array();
1903
+            $fill = array();
1904
+            $fill_i = array();
1905
+
1906
+            $output = '';
1907
+
1908
+            // build rules into each type
1909
+            foreach($selectors as $selector => $types){
1910
+                $selector = $compatibility ? ".bsui ".$selector : $selector;
1911
+                $types = array_combine($types,$types);
1912
+                if(isset($types['c'])){$color[] = $selector;}
1913
+                if(isset($types['b'])){$background[] = $selector;}
1914
+                if(isset($types['o'])){$border[] = $selector;}
1915
+                if(isset($types['f'])){$fill[] = $selector;}
1916
+            }
1917
+
1918
+            // build rules into each type
1919
+            foreach($important_selectors as $selector => $types){
1920
+                $selector = $compatibility ? ".bsui ".$selector : $selector;
1921
+                $types = array_combine($types,$types);
1922
+                if(isset($types['c'])){$color_i[] = $selector;}
1923
+                if(isset($types['b'])){$background_i[] = $selector;}
1924
+                if(isset($types['o'])){$border_i[] = $selector;}
1925
+                if(isset($types['f'])){$fill_i[] = $selector;}
1926
+            }
1927
+
1928
+            // add any color rules
1929
+            if(!empty($color)){
1930
+                $output .= implode(",",$color) . "{color: $color_code;} ";
1931
+            }
1932
+            if(!empty($color_i)){
1933
+                $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1934
+            }
1935
+
1936
+            // add any background color rules
1937
+            if(!empty($background)){
1938
+                $output .= implode(",",$background) . "{background-color: $color_code;} ";
1939
+            }
1940
+            if(!empty($background_i)){
1941
+                $output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1942
+            }
1943
+
1944
+            // add any border color rules
1945
+            if(!empty($border)){
1946
+                $output .= implode(",",$border) . "{border-color: $color_code;} ";
1947
+            }
1948
+            if(!empty($border_i)){
1949
+                $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1950
+            }
1951
+
1952
+            // add any fill color rules
1953
+            if(!empty($fill)){
1954
+                $output .= implode(",",$fill) . "{fill: $color_code;} ";
1955
+            }
1956
+            if(!empty($fill_i)){
1957
+                $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1958
+            }
1959
+
1960
+
1961
+            $prefix = $compatibility ? ".bsui " : "";
1962
+
1963
+            // darken
1964
+            $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1965
+            $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1966
+            $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1967
+
1968
+            // lighten
1969
+            $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1970
+
1971
+            // opacity see https://css-tricks.com/8-digit-hex-codes/
1972
+            $op_25 = $color_code."40"; // 25% opacity
1973
+
1974
+
1975
+            // button states
1976
+            $output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1977
+            $output .= $prefix ." .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-secondary.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1978
+            $output .= $prefix ." .btn-secondary:not(:disabled):not(.disabled):active, $prefix .btn-secondary:not(:disabled):not(.disabled).active, .show>$prefix .btn-secondary.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
1979
+            $output .= $prefix ." .btn-secondary:not(:disabled):not(.disabled):active:focus, $prefix .btn-secondary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-secondary.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1980
+
1981
+
1982
+            return $output;
1983
+        }
1984
+
1985
+        /**
1986
+         * Increases or decreases the brightness of a color by a percentage of the current brightness.
1987
+         *
1988
+         * @param   string  $hexCode        Supported formats: `#FFF`, `#FFFFFF`, `FFF`, `FFFFFF`
1989
+         * @param   float   $adjustPercent  A number between -1 and 1. E.g. 0.3 = 30% lighter; -0.4 = 40% darker.
1990
+         *
1991
+         * @return  string
1992
+         */
1993
+        public static function css_hex_lighten_darken($hexCode, $adjustPercent) {
1994
+            $hexCode = ltrim($hexCode, '#');
1995
+
1996
+            if (strlen($hexCode) == 3) {
1997
+                $hexCode = $hexCode[0] . $hexCode[0] . $hexCode[1] . $hexCode[1] . $hexCode[2] . $hexCode[2];
1998
+            }
1999
+
2000
+            $hexCode = array_map('hexdec', str_split($hexCode, 2));
2001
+
2002
+            foreach ($hexCode as & $color) {
2003
+                $adjustableLimit = $adjustPercent < 0 ? $color : 255 - $color;
2004
+                $adjustAmount = ceil($adjustableLimit * $adjustPercent);
2005
+
2006
+                $color = str_pad(dechex($color + $adjustAmount), 2, '0', STR_PAD_LEFT);
2007
+            }
2008
+
2009
+            return '#' . implode($hexCode);
2010
+        }
2011
+
2012
+        /**
2013
+         * Check if we should display examples.
2014
+         */
2015
+        public function maybe_show_examples(){
2016
+            if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){
2017
+                echo "<head>";
2018
+                wp_head();
2019
+                echo "</head>";
2020
+                echo "<body>";
2021
+                echo $this->get_examples();
2022
+                echo "</body>";
2023
+                exit;
2024
+            }
2025
+        }
2026
+
2027
+        /**
2028
+         * Get developer examples.
2029
+         *
2030
+         * @return string
2031
+         */
2032
+        public function get_examples(){
2033
+            $output = '';
2034
+
2035
+
2036
+            // open form
2037
+            $output .= "<form class='p-5 m-5 border rounded'>";
2038
+
2039
+            // input example
2040
+            $output .= aui()->input(array(
2041
+                'type'  =>  'text',
2042
+                'id'    =>  'text-example',
2043
+                'name'    =>  'text-example',
2044
+                'placeholder'   => 'text placeholder',
2045
+                'title'   => 'Text input example',
2046
+                'value' =>  '',
2047
+                'required'  => false,
2048
+                'help_text' => 'help text',
2049
+                'label' => 'Text input example label'
2050
+            ));
2051
+
2052
+            // input example
2053
+            $output .= aui()->input(array(
2054
+                'type'  =>  'url',
2055
+                'id'    =>  'text-example2',
2056
+                'name'    =>  'text-example',
2057
+                'placeholder'   => 'url placeholder',
2058
+                'title'   => 'Text input example',
2059
+                'value' =>  '',
2060
+                'required'  => false,
2061
+                'help_text' => 'help text',
2062
+                'label' => 'Text input example label'
2063
+            ));
2064
+
2065
+            // checkbox example
2066
+            $output .= aui()->input(array(
2067
+                'type'  =>  'checkbox',
2068
+                'id'    =>  'checkbox-example',
2069
+                'name'    =>  'checkbox-example',
2070
+                'placeholder'   => 'checkbox-example',
2071
+                'title'   => 'Checkbox example',
2072
+                'value' =>  '1',
2073
+                'checked'   => true,
2074
+                'required'  => false,
2075
+                'help_text' => 'help text',
2076
+                'label' => 'Checkbox checked'
2077
+            ));
2078
+
2079
+            // checkbox example
2080
+            $output .= aui()->input(array(
2081
+                'type'  =>  'checkbox',
2082
+                'id'    =>  'checkbox-example2',
2083
+                'name'    =>  'checkbox-example2',
2084
+                'placeholder'   => 'checkbox-example',
2085
+                'title'   => 'Checkbox example',
2086
+                'value' =>  '1',
2087
+                'checked'   => false,
2088
+                'required'  => false,
2089
+                'help_text' => 'help text',
2090
+                'label' => 'Checkbox un-checked'
2091
+            ));
2092
+
2093
+            // switch example
2094
+            $output .= aui()->input(array(
2095
+                'type'  =>  'checkbox',
2096
+                'id'    =>  'switch-example',
2097
+                'name'    =>  'switch-example',
2098
+                'placeholder'   => 'checkbox-example',
2099
+                'title'   => 'Switch example',
2100
+                'value' =>  '1',
2101
+                'checked'   => true,
2102
+                'switch'    => true,
2103
+                'required'  => false,
2104
+                'help_text' => 'help text',
2105
+                'label' => 'Switch on'
2106
+            ));
2107
+
2108
+            // switch example
2109
+            $output .= aui()->input(array(
2110
+                'type'  =>  'checkbox',
2111
+                'id'    =>  'switch-example2',
2112
+                'name'    =>  'switch-example2',
2113
+                'placeholder'   => 'checkbox-example',
2114
+                'title'   => 'Switch example',
2115
+                'value' =>  '1',
2116
+                'checked'   => false,
2117
+                'switch'    => true,
2118
+                'required'  => false,
2119
+                'help_text' => 'help text',
2120
+                'label' => 'Switch off'
2121
+            ));
2122
+
2123
+            // close form
2124
+            $output .= "</form>";
2125
+
2126
+            return $output;
2127
+        }
2128
+
2129
+        /**
2130
+         * Calendar params.
2131
+         *
2132
+         * @since 0.1.44
2133
+         *
2134
+         * @return array Calendar params.
2135
+         */
2136
+        public static function calendar_params() {
2137
+            $params = array(
2138
+                'month_long_1' => __( 'January', 'aui' ),
2139
+                'month_long_2' => __( 'February', 'aui' ),
2140
+                'month_long_3' => __( 'March', 'aui' ),
2141
+                'month_long_4' => __( 'April', 'aui' ),
2142
+                'month_long_5' => __( 'May', 'aui' ),
2143
+                'month_long_6' => __( 'June', 'aui' ),
2144
+                'month_long_7' => __( 'July', 'aui' ),
2145
+                'month_long_8' => __( 'August', 'aui' ),
2146
+                'month_long_9' => __( 'September', 'aui' ),
2147
+                'month_long_10' => __( 'October', 'aui' ),
2148
+                'month_long_11' => __( 'November', 'aui' ),
2149
+                'month_long_12' => __( 'December', 'aui' ),
2150
+                'month_s_1' => _x( 'Jan', 'January abbreviation', 'aui' ),
2151
+                'month_s_2' => _x( 'Feb', 'February abbreviation', 'aui' ),
2152
+                'month_s_3' => _x( 'Mar', 'March abbreviation', 'aui' ),
2153
+                'month_s_4' => _x( 'Apr', 'April abbreviation', 'aui' ),
2154
+                'month_s_5' => _x( 'May', 'May abbreviation', 'aui' ),
2155
+                'month_s_6' => _x( 'Jun', 'June abbreviation', 'aui' ),
2156
+                'month_s_7' => _x( 'Jul', 'July abbreviation', 'aui' ),
2157
+                'month_s_8' => _x( 'Aug', 'August abbreviation', 'aui' ),
2158
+                'month_s_9' => _x( 'Sep', 'September abbreviation', 'aui' ),
2159
+                'month_s_10' => _x( 'Oct', 'October abbreviation', 'aui' ),
2160
+                'month_s_11' => _x( 'Nov', 'November abbreviation', 'aui' ),
2161
+                'month_s_12' => _x( 'Dec', 'December abbreviation', 'aui' ),
2162
+                'day_s1_1' => _x( 'S', 'Sunday initial', 'aui' ),
2163
+                'day_s1_2' => _x( 'M', 'Monday initial', 'aui' ),
2164
+                'day_s1_3' => _x( 'T', 'Tuesday initial', 'aui' ),
2165
+                'day_s1_4' => _x( 'W', 'Wednesday initial', 'aui' ),
2166
+                'day_s1_5' => _x( 'T', 'Friday initial', 'aui' ),
2167
+                'day_s1_6' => _x( 'F', 'Thursday initial', 'aui' ),
2168
+                'day_s1_7' => _x( 'S', 'Saturday initial', 'aui' ),
2169
+                'day_s2_1' => __( 'Su', 'aui' ),
2170
+                'day_s2_2' => __( 'Mo', 'aui' ),
2171
+                'day_s2_3' => __( 'Tu', 'aui' ),
2172
+                'day_s2_4' => __( 'We', 'aui' ),
2173
+                'day_s2_5' => __( 'Th', 'aui' ),
2174
+                'day_s2_6' => __( 'Fr', 'aui' ),
2175
+                'day_s2_7' => __( 'Sa', 'aui' ),
2176
+                'day_s3_1' => __( 'Sun', 'aui' ),
2177
+                'day_s3_2' => __( 'Mon', 'aui' ),
2178
+                'day_s3_3' => __( 'Tue', 'aui' ),
2179
+                'day_s3_4' => __( 'Wed', 'aui' ),
2180
+                'day_s3_5' => __( 'Thu', 'aui' ),
2181
+                'day_s3_6' => __( 'Fri', 'aui' ),
2182
+                'day_s3_7' => __( 'Sat', 'aui' ),
2183
+                'day_s5_1' => __( 'Sunday', 'aui' ),
2184
+                'day_s5_2' => __( 'Monday', 'aui' ),
2185
+                'day_s5_3' => __( 'Tuesday', 'aui' ),
2186
+                'day_s5_4' => __( 'Wednesday', 'aui' ),
2187
+                'day_s5_5' => __( 'Thursday', 'aui' ),
2188
+                'day_s5_6' => __( 'Friday', 'aui' ),
2189
+                'day_s5_7' => __( 'Saturday', 'aui' ),
2190
+                'am_lower' => __( 'am', 'aui' ),
2191
+                'pm_lower' => __( 'pm', 'aui' ),
2192
+                'am_upper' => __( 'AM', 'aui' ),
2193
+                'pm_upper' => __( 'PM', 'aui' ),
2194
+                'firstDayOfWeek' => (int) get_option( 'start_of_week' ),
2195
+                'time_24hr' => false,
2196
+                'year' => __( 'Year', 'aui' ),
2197
+                'hour' => __( 'Hour', 'aui' ),
2198
+                'minute' => __( 'Minute', 'aui' ),
2199
+                'weekAbbreviation' => __( 'Wk', 'aui' ),
2200
+                'rangeSeparator' => __( ' to ', 'aui' ),
2201
+                'scrollTitle' => __( 'Scroll to increment', 'aui' ),
2202
+                'toggleTitle' => __( 'Click to toggle', 'aui' )
2203
+            );
2204
+
2205
+            return apply_filters( 'ayecode_ui_calendar_params', $params );
2206
+        }
2207
+
2208
+        /**
2209
+         * Flatpickr calendar localize.
2210
+         *
2211
+         * @since 0.1.44
2212
+         *
2213
+         * @return string Calendar locale.
2214
+         */
2215
+        public static function flatpickr_locale() {
2216
+            $params = self::calendar_params();
2217
+
2218
+            if ( is_string( $params ) ) {
2219
+                $params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' );
2220
+            } else {
2221
+                foreach ( (array) $params as $key => $value ) {
2222
+                    if ( ! is_scalar( $value ) ) {
2223
+                        continue;
2224
+                    }
2225
+
2226
+                    $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2227
+                }
2228
+            }
2229
+
2230
+            $day_s3 = array();
2231
+            $day_s5 = array();
2232
+
2233
+            for ( $i = 1; $i <= 7; $i ++ ) {
2234
+                $day_s3[] = addslashes( $params[ 'day_s3_' . $i ] );
2235
+                $day_s5[] = addslashes( $params[ 'day_s3_' . $i ] );
2236
+            }
2237
+
2238
+            $month_s = array();
2239
+            $month_long = array();
2240
+
2241
+            for ( $i = 1; $i <= 12; $i ++ ) {
2242
+                $month_s[] = addslashes( $params[ 'month_s_' . $i ] );
2243
+                $month_long[] = addslashes( $params[ 'month_long_' . $i ] );
2244
+            }
2245
+
2246
+            ob_start();
2247
+        if ( 0 ) { ?><script><?php } ?>
2248 2248
                 {
2249 2249
                     weekdays: {
2250 2250
                         shorthand: ['<?php echo implode( "','", $day_s3 ); ?>'],
@@ -2283,189 +2283,189 @@  discard block
 block discarded – undo
2283 2283
                 }
2284 2284
 				<?php if ( 0 ) { ?></script><?php } ?>
2285 2285
 			<?php
2286
-			$locale = ob_get_clean();
2287
-
2288
-			return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) );
2289
-		}
2290
-
2291
-		/**
2292
-		 * Select2 JS params.
2293
-		 *
2294
-		 * @since 0.1.44
2295
-		 *
2296
-		 * @return array Select2 JS params.
2297
-		 */
2298
-		public static function select2_params() {
2299
-			$params = array(
2300
-				'i18n_select_state_text'    => esc_attr__( 'Select an option&hellip;', 'aui' ),
2301
-				'i18n_no_matches'           => _x( 'No matches found', 'enhanced select', 'aui' ),
2302
-				'i18n_ajax_error'           => _x( 'Loading failed', 'enhanced select', 'aui' ),
2303
-				'i18n_input_too_short_1'    => _x( 'Please enter 1 or more characters', 'enhanced select', 'aui' ),
2304
-				'i18n_input_too_short_n'    => _x( 'Please enter %item% or more characters', 'enhanced select', 'aui' ),
2305
-				'i18n_input_too_long_1'     => _x( 'Please delete 1 character', 'enhanced select', 'aui' ),
2306
-				'i18n_input_too_long_n'     => _x( 'Please delete %item% characters', 'enhanced select', 'aui' ),
2307
-				'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'aui' ),
2308
-				'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'aui' ),
2309
-				'i18n_load_more'            => _x( 'Loading more results&hellip;', 'enhanced select', 'aui' ),
2310
-				'i18n_searching'            => _x( 'Searching&hellip;', 'enhanced select', 'aui' )
2311
-			);
2312
-
2313
-			return apply_filters( 'ayecode_ui_select2_params', $params );
2314
-		}
2315
-
2316
-		/**
2317
-		 * Select2 JS localize.
2318
-		 *
2319
-		 * @since 0.1.44
2320
-		 *
2321
-		 * @return string Select2 JS locale.
2322
-		 */
2323
-		public static function select2_locale() {
2324
-			$params = self::select2_params();
2325
-
2326
-			foreach ( (array) $params as $key => $value ) {
2327
-				if ( ! is_scalar( $value ) ) {
2328
-					continue;
2329
-				}
2286
+            $locale = ob_get_clean();
2330 2287
 
2331
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2332
-			}
2333
-
2334
-			$locale = json_encode( $params );
2335
-
2336
-			return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) );
2337
-		}
2338
-
2339
-		/**
2340
-		 * Time ago JS localize.
2341
-		 *
2342
-		 * @since 0.1.47
2343
-		 *
2344
-		 * @return string Time ago JS locale.
2345
-		 */
2346
-		public static function timeago_locale() {
2347
-			$params = array(
2348
-				'prefix_ago' => '',
2349
-				'suffix_ago' => ' ' . _x( 'ago', 'time ago', 'aui' ),
2350
-				'prefix_after' => _x( 'after', 'time ago', 'aui' ) . ' ',
2351
-				'suffix_after' => '',
2352
-				'seconds' => _x( 'less than a minute', 'time ago', 'aui' ),
2353
-				'minute' => _x( 'about a minute', 'time ago', 'aui' ),
2354
-				'minutes' => _x( '%d minutes', 'time ago', 'aui' ),
2355
-				'hour' => _x( 'about an hour', 'time ago', 'aui' ),
2356
-				'hours' => _x( 'about %d hours', 'time ago', 'aui' ),
2357
-				'day' => _x( 'a day', 'time ago', 'aui' ),
2358
-				'days' => _x( '%d days', 'time ago', 'aui' ),
2359
-				'month' => _x( 'about a month', 'time ago', 'aui' ),
2360
-				'months' => _x( '%d months', 'time ago', 'aui' ),
2361
-				'year' => _x( 'about a year', 'time ago', 'aui' ),
2362
-				'years' => _x( '%d years', 'time ago', 'aui' ),
2363
-			);
2364
-
2365
-			$params = apply_filters( 'ayecode_ui_timeago_params', $params );
2366
-
2367
-			foreach ( (array) $params as $key => $value ) {
2368
-				if ( ! is_scalar( $value ) ) {
2369
-					continue;
2370
-				}
2288
+            return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) );
2289
+        }
2371 2290
 
2372
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2373
-			}
2374
-
2375
-			$locale = json_encode( $params );
2376
-
2377
-			return apply_filters( 'ayecode_ui_timeago_locale', trim( $locale ) );
2378
-		}
2379
-
2380
-		/**
2381
-		 * JavaScript Minifier
2382
-		 *
2383
-		 * @param $input
2384
-		 *
2385
-		 * @return mixed
2386
-		 */
2387
-		public static function minify_js($input) {
2388
-			if(trim($input) === "") return $input;
2389
-			return preg_replace(
2390
-				array(
2391
-					// Remove comment(s)
2392
-					'#\s*("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')\s*|\s*\/\*(?!\!|@cc_on)(?>[\s\S]*?\*\/)\s*|\s*(?<![\:\=])\/\/.*(?=[\n\r]|$)|^\s*|\s*$#',
2393
-					// Remove white-space(s) outside the string and regex
2394
-					'#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/)|\/(?!\/)[^\n\r]*?\/(?=[\s.,;]|[gimuy]|$))|\s*([!%&*\(\)\-=+\[\]\{\}|;:,.<>?\/])\s*#s',
2395
-					// Remove the last semicolon
2396
-					'#;+\}#',
2397
-					// Minify object attribute(s) except JSON attribute(s). From `{'foo':'bar'}` to `{foo:'bar'}`
2398
-					'#([\{,])([\'])(\d+|[a-z_][a-z0-9_]*)\2(?=\:)#i',
2399
-					// --ibid. From `foo['bar']` to `foo.bar`
2400
-					'#([a-z0-9_\)\]])\[([\'"])([a-z_][a-z0-9_]*)\2\]#i'
2401
-				),
2402
-				array(
2403
-					'$1',
2404
-					'$1$2',
2405
-					'}',
2406
-					'$1$3',
2407
-					'$1.$3'
2408
-				),
2409
-				$input);
2410
-		}
2411
-
2412
-		/**
2413
-		 * Minify CSS
2414
-		 *
2415
-		 * @param $input
2416
-		 *
2417
-		 * @return mixed
2418
-		 */
2419
-		public static function minify_css($input) {
2420
-			if(trim($input) === "") return $input;
2421
-			return preg_replace(
2422
-				array(
2423
-					// Remove comment(s)
2424
-					'#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')|\/\*(?!\!)(?>.*?\*\/)|^\s*|\s*$#s',
2425
-					// Remove unused white-space(s)
2426
-					'#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/))|\s*+;\s*+(})\s*+|\s*+([*$~^|]?+=|[{};,>~]|\s(?![0-9\.])|!important\b)\s*+|([[(:])\s++|\s++([])])|\s++(:)\s*+(?!(?>[^{}"\']++|"(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')*+{)|^\s++|\s++\z|(\s)\s+#si',
2427
-					// Replace `0(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)` with `0`
2428
-					'#(?<=[\s:])(0)(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)#si',
2429
-					// Replace `:0 0 0 0` with `:0`
2430
-					'#:(0\s+0|0\s+0\s+0\s+0)(?=[;\}]|\!important)#i',
2431
-					// Replace `background-position:0` with `background-position:0 0`
2432
-					'#(background-position):0(?=[;\}])#si',
2433
-					// Replace `0.6` with `.6`, but only when preceded by `:`, `,`, `-` or a white-space
2434
-					'#(?<=[\s:,\-])0+\.(\d+)#s',
2435
-					// Minify string value
2436
-					'#(\/\*(?>.*?\*\/))|(?<!content\:)([\'"])([a-z_][a-z0-9\-_]*?)\2(?=[\s\{\}\];,])#si',
2437
-					'#(\/\*(?>.*?\*\/))|(\burl\()([\'"])([^\s]+?)\3(\))#si',
2438
-					// Minify HEX color code
2439
-					'#(?<=[\s:,\-]\#)([a-f0-6]+)\1([a-f0-6]+)\2([a-f0-6]+)\3#i',
2440
-					// Replace `(border|outline):none` with `(border|outline):0`
2441
-					'#(?<=[\{;])(border|outline):none(?=[;\}\!])#',
2442
-					// Remove empty selector(s)
2443
-					'#(\/\*(?>.*?\*\/))|(^|[\{\}])(?:[^\s\{\}]+)\{\}#s'
2444
-				),
2445
-				array(
2446
-					'$1',
2447
-					'$1$2$3$4$5$6$7',
2448
-					'$1',
2449
-					':0',
2450
-					'$1:0 0',
2451
-					'.$1',
2452
-					'$1$3',
2453
-					'$1$2$4$5',
2454
-					'$1$2$3',
2455
-					'$1:0',
2456
-					'$1$2'
2457
-				),
2458
-				$input);
2459
-		}
2460
-
2461
-		/**
2462
-		 * Get the conditional fields JavaScript.
2463
-		 *
2464
-		 * @return mixed
2465
-		 */
2466
-		public function conditional_fields_js() {
2467
-			ob_start();
2468
-			?>
2291
+        /**
2292
+         * Select2 JS params.
2293
+         *
2294
+         * @since 0.1.44
2295
+         *
2296
+         * @return array Select2 JS params.
2297
+         */
2298
+        public static function select2_params() {
2299
+            $params = array(
2300
+                'i18n_select_state_text'    => esc_attr__( 'Select an option&hellip;', 'aui' ),
2301
+                'i18n_no_matches'           => _x( 'No matches found', 'enhanced select', 'aui' ),
2302
+                'i18n_ajax_error'           => _x( 'Loading failed', 'enhanced select', 'aui' ),
2303
+                'i18n_input_too_short_1'    => _x( 'Please enter 1 or more characters', 'enhanced select', 'aui' ),
2304
+                'i18n_input_too_short_n'    => _x( 'Please enter %item% or more characters', 'enhanced select', 'aui' ),
2305
+                'i18n_input_too_long_1'     => _x( 'Please delete 1 character', 'enhanced select', 'aui' ),
2306
+                'i18n_input_too_long_n'     => _x( 'Please delete %item% characters', 'enhanced select', 'aui' ),
2307
+                'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'aui' ),
2308
+                'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'aui' ),
2309
+                'i18n_load_more'            => _x( 'Loading more results&hellip;', 'enhanced select', 'aui' ),
2310
+                'i18n_searching'            => _x( 'Searching&hellip;', 'enhanced select', 'aui' )
2311
+            );
2312
+
2313
+            return apply_filters( 'ayecode_ui_select2_params', $params );
2314
+        }
2315
+
2316
+        /**
2317
+         * Select2 JS localize.
2318
+         *
2319
+         * @since 0.1.44
2320
+         *
2321
+         * @return string Select2 JS locale.
2322
+         */
2323
+        public static function select2_locale() {
2324
+            $params = self::select2_params();
2325
+
2326
+            foreach ( (array) $params as $key => $value ) {
2327
+                if ( ! is_scalar( $value ) ) {
2328
+                    continue;
2329
+                }
2330
+
2331
+                $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2332
+            }
2333
+
2334
+            $locale = json_encode( $params );
2335
+
2336
+            return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) );
2337
+        }
2338
+
2339
+        /**
2340
+         * Time ago JS localize.
2341
+         *
2342
+         * @since 0.1.47
2343
+         *
2344
+         * @return string Time ago JS locale.
2345
+         */
2346
+        public static function timeago_locale() {
2347
+            $params = array(
2348
+                'prefix_ago' => '',
2349
+                'suffix_ago' => ' ' . _x( 'ago', 'time ago', 'aui' ),
2350
+                'prefix_after' => _x( 'after', 'time ago', 'aui' ) . ' ',
2351
+                'suffix_after' => '',
2352
+                'seconds' => _x( 'less than a minute', 'time ago', 'aui' ),
2353
+                'minute' => _x( 'about a minute', 'time ago', 'aui' ),
2354
+                'minutes' => _x( '%d minutes', 'time ago', 'aui' ),
2355
+                'hour' => _x( 'about an hour', 'time ago', 'aui' ),
2356
+                'hours' => _x( 'about %d hours', 'time ago', 'aui' ),
2357
+                'day' => _x( 'a day', 'time ago', 'aui' ),
2358
+                'days' => _x( '%d days', 'time ago', 'aui' ),
2359
+                'month' => _x( 'about a month', 'time ago', 'aui' ),
2360
+                'months' => _x( '%d months', 'time ago', 'aui' ),
2361
+                'year' => _x( 'about a year', 'time ago', 'aui' ),
2362
+                'years' => _x( '%d years', 'time ago', 'aui' ),
2363
+            );
2364
+
2365
+            $params = apply_filters( 'ayecode_ui_timeago_params', $params );
2366
+
2367
+            foreach ( (array) $params as $key => $value ) {
2368
+                if ( ! is_scalar( $value ) ) {
2369
+                    continue;
2370
+                }
2371
+
2372
+                $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2373
+            }
2374
+
2375
+            $locale = json_encode( $params );
2376
+
2377
+            return apply_filters( 'ayecode_ui_timeago_locale', trim( $locale ) );
2378
+        }
2379
+
2380
+        /**
2381
+         * JavaScript Minifier
2382
+         *
2383
+         * @param $input
2384
+         *
2385
+         * @return mixed
2386
+         */
2387
+        public static function minify_js($input) {
2388
+            if(trim($input) === "") return $input;
2389
+            return preg_replace(
2390
+                array(
2391
+                    // Remove comment(s)
2392
+                    '#\s*("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')\s*|\s*\/\*(?!\!|@cc_on)(?>[\s\S]*?\*\/)\s*|\s*(?<![\:\=])\/\/.*(?=[\n\r]|$)|^\s*|\s*$#',
2393
+                    // Remove white-space(s) outside the string and regex
2394
+                    '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/)|\/(?!\/)[^\n\r]*?\/(?=[\s.,;]|[gimuy]|$))|\s*([!%&*\(\)\-=+\[\]\{\}|;:,.<>?\/])\s*#s',
2395
+                    // Remove the last semicolon
2396
+                    '#;+\}#',
2397
+                    // Minify object attribute(s) except JSON attribute(s). From `{'foo':'bar'}` to `{foo:'bar'}`
2398
+                    '#([\{,])([\'])(\d+|[a-z_][a-z0-9_]*)\2(?=\:)#i',
2399
+                    // --ibid. From `foo['bar']` to `foo.bar`
2400
+                    '#([a-z0-9_\)\]])\[([\'"])([a-z_][a-z0-9_]*)\2\]#i'
2401
+                ),
2402
+                array(
2403
+                    '$1',
2404
+                    '$1$2',
2405
+                    '}',
2406
+                    '$1$3',
2407
+                    '$1.$3'
2408
+                ),
2409
+                $input);
2410
+        }
2411
+
2412
+        /**
2413
+         * Minify CSS
2414
+         *
2415
+         * @param $input
2416
+         *
2417
+         * @return mixed
2418
+         */
2419
+        public static function minify_css($input) {
2420
+            if(trim($input) === "") return $input;
2421
+            return preg_replace(
2422
+                array(
2423
+                    // Remove comment(s)
2424
+                    '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')|\/\*(?!\!)(?>.*?\*\/)|^\s*|\s*$#s',
2425
+                    // Remove unused white-space(s)
2426
+                    '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/))|\s*+;\s*+(})\s*+|\s*+([*$~^|]?+=|[{};,>~]|\s(?![0-9\.])|!important\b)\s*+|([[(:])\s++|\s++([])])|\s++(:)\s*+(?!(?>[^{}"\']++|"(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')*+{)|^\s++|\s++\z|(\s)\s+#si',
2427
+                    // Replace `0(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)` with `0`
2428
+                    '#(?<=[\s:])(0)(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)#si',
2429
+                    // Replace `:0 0 0 0` with `:0`
2430
+                    '#:(0\s+0|0\s+0\s+0\s+0)(?=[;\}]|\!important)#i',
2431
+                    // Replace `background-position:0` with `background-position:0 0`
2432
+                    '#(background-position):0(?=[;\}])#si',
2433
+                    // Replace `0.6` with `.6`, but only when preceded by `:`, `,`, `-` or a white-space
2434
+                    '#(?<=[\s:,\-])0+\.(\d+)#s',
2435
+                    // Minify string value
2436
+                    '#(\/\*(?>.*?\*\/))|(?<!content\:)([\'"])([a-z_][a-z0-9\-_]*?)\2(?=[\s\{\}\];,])#si',
2437
+                    '#(\/\*(?>.*?\*\/))|(\burl\()([\'"])([^\s]+?)\3(\))#si',
2438
+                    // Minify HEX color code
2439
+                    '#(?<=[\s:,\-]\#)([a-f0-6]+)\1([a-f0-6]+)\2([a-f0-6]+)\3#i',
2440
+                    // Replace `(border|outline):none` with `(border|outline):0`
2441
+                    '#(?<=[\{;])(border|outline):none(?=[;\}\!])#',
2442
+                    // Remove empty selector(s)
2443
+                    '#(\/\*(?>.*?\*\/))|(^|[\{\}])(?:[^\s\{\}]+)\{\}#s'
2444
+                ),
2445
+                array(
2446
+                    '$1',
2447
+                    '$1$2$3$4$5$6$7',
2448
+                    '$1',
2449
+                    ':0',
2450
+                    '$1:0 0',
2451
+                    '.$1',
2452
+                    '$1$3',
2453
+                    '$1$2$4$5',
2454
+                    '$1$2$3',
2455
+                    '$1:0',
2456
+                    '$1$2'
2457
+                ),
2458
+                $input);
2459
+        }
2460
+
2461
+        /**
2462
+         * Get the conditional fields JavaScript.
2463
+         *
2464
+         * @return mixed
2465
+         */
2466
+        public function conditional_fields_js() {
2467
+            ob_start();
2468
+            ?>
2469 2469
             <script>
2470 2470
                 /**
2471 2471
                  * Conditional Fields
@@ -2970,14 +2970,14 @@  discard block
 block discarded – undo
2970 2970
 				<?php do_action( 'aui_conditional_fields_js', $this ); ?>
2971 2971
             </script>
2972 2972
 			<?php
2973
-			$output = ob_get_clean();
2973
+            $output = ob_get_clean();
2974 2974
 
2975
-			return str_replace( array( '<script>', '</script>' ), '', self::minify_js( $output ) );
2976
-		}
2977
-	}
2975
+            return str_replace( array( '<script>', '</script>' ), '', self::minify_js( $output ) );
2976
+        }
2977
+    }
2978 2978
 
2979
-	/**
2980
-	 * Run the class if found.
2981
-	 */
2982
-	AyeCode_UI_Settings::instance();
2979
+    /**
2980
+     * Run the class if found.
2981
+     */
2982
+    AyeCode_UI_Settings::instance();
2983 2983
 }
2984 2984
\ No newline at end of file
Please login to merge, or discard this patch.
includes/admin/admin-pages.php 2 patches
Indentation   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -57,8 +57,8 @@  discard block
 block discarded – undo
57 57
             'getpaid-nonce',
58 58
             'getpaid-nonce'
59 59
         );
60
-		$anchor = __( 'Deactivate', 'invoicing' );
61
-		$title  = esc_attr__( 'Are you sure you want to deactivate this discount?', 'invoicing' );
60
+        $anchor = __( 'Deactivate', 'invoicing' );
61
+        $title  = esc_attr__( 'Are you sure you want to deactivate this discount?', 'invoicing' );
62 62
         $row_actions['deactivate'] = "<a href='$url' onclick='return confirm(\"$title\")'>$anchor</a>";
63 63
 
64 64
     } elseif ( in_array( strtolower( $discount->post_status ), array( 'pending', 'draft' ) ) && wpinv_current_user_can( 'activate_discount', array( 'discount' => (int) $discount->ID ) ) ) {
@@ -73,8 +73,8 @@  discard block
 block discarded – undo
73 73
             'getpaid-nonce',
74 74
             'getpaid-nonce'
75 75
         );
76
-		$anchor = __( 'Activate', 'invoicing' );
77
-		$title  = esc_attr__( 'Are you sure you want to activate this discount?', 'invoicing' );
76
+        $anchor = __( 'Activate', 'invoicing' );
77
+        $title  = esc_attr__( 'Are you sure you want to activate this discount?', 'invoicing' );
78 78
         $row_actions['activate'] = "<a href='$url' onclick='return confirm(\"$title\")'>$anchor</a>";
79 79
 
80 80
     }
@@ -121,13 +121,13 @@  discard block
 block discarded – undo
121 121
             $types = wpinv_get_discount_types();
122 122
 
123 123
             foreach ( $types as $name => $type ) {
124
-			echo '<option value="' . esc_attr( $name ) . '"';
124
+            echo '<option value="' . esc_attr( $name ) . '"';
125 125
 
126
-			if ( isset( $_GET['discount_type'] ) ) {
127
-				selected( $name, sanitize_text_field( $_GET['discount_type'] ) );
126
+            if ( isset( $_GET['discount_type'] ) ) {
127
+                selected( $name, sanitize_text_field( $_GET['discount_type'] ) );
128 128
                 }
129 129
 
130
-			echo '>' . esc_html__( $type, 'invoicing' ) . '</option>';
130
+            echo '>' . esc_html__( $type, 'invoicing' ) . '</option>';
131 131
             }
132 132
         ?>
133 133
     </select>
@@ -154,15 +154,15 @@  discard block
 block discarded – undo
154 154
         // Filter vat rule type
155 155
         if ( isset( $_GET['discount_type'] ) && $_GET['discount_type'] !== '' ) {
156 156
             $meta_query[] = array(
157
-				'key'     => '_wpi_discount_type',
158
-				'value'   => sanitize_key( urldecode( $_GET['discount_type'] ) ),
159
-				'compare' => '=',
160
-			);
161
-			}
157
+                'key'     => '_wpi_discount_type',
158
+                'value'   => sanitize_key( urldecode( $_GET['discount_type'] ) ),
159
+                'compare' => '=',
160
+            );
161
+            }
162 162
 
163 163
         if ( ! empty( $meta_query ) ) {
164 164
             $vars['meta_query'] = $meta_query;
165
-			}
165
+            }
166 166
     }
167 167
 
168 168
     return $vars;
Please login to merge, or discard this patch.
Spacing   +78 added lines, -78 removed lines patch added patch discarded remove patch
@@ -1,51 +1,51 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 // MUST have WordPress.
3
-if ( ! defined( 'WPINC' ) ) {
3
+if (!defined('WPINC')) {
4 4
     exit;
5 5
 }
6 6
 
7
-add_action( 'manage_wpi_discount_posts_custom_column', 'wpinv_discount_custom_column' );
8
-function wpinv_discount_custom_column( $column ) {
7
+add_action('manage_wpi_discount_posts_custom_column', 'wpinv_discount_custom_column');
8
+function wpinv_discount_custom_column($column) {
9 9
     global $post;
10 10
 
11
-    $discount = new WPInv_Discount( $post );
11
+    $discount = new WPInv_Discount($post);
12 12
 
13
-    switch ( $column ) {
13
+    switch ($column) {
14 14
         case 'code':
15
-            echo esc_html( $discount->get_code() );
15
+            echo esc_html($discount->get_code());
16 16
             break;
17 17
         case 'amount':
18
-            echo wp_kses_post( $discount->get_formatted_amount() );
18
+            echo wp_kses_post($discount->get_formatted_amount());
19 19
             break;
20 20
         case 'usage':
21
-            echo wp_kses_post( $discount->get_usage() );
21
+            echo wp_kses_post($discount->get_usage());
22 22
             break;
23 23
         case 'start_date':
24
-            echo wp_kses_post( getpaid_format_date_value( $discount->get_start_date() ) );
24
+            echo wp_kses_post(getpaid_format_date_value($discount->get_start_date()));
25 25
             break;
26 26
         case 'expiry_date':
27
-            echo wp_kses_post( getpaid_format_date_value( $discount->get_expiration_date(), __( 'Never', 'invoicing' ) ) );
27
+            echo wp_kses_post(getpaid_format_date_value($discount->get_expiration_date(), __('Never', 'invoicing')));
28 28
             break;
29 29
     }
30 30
 }
31 31
 
32
-add_filter( 'post_row_actions', 'wpinv_post_row_actions', 90, 2 );
33
-function wpinv_post_row_actions( $actions, $post ) {
34
-    $post_type = ! empty( $post->post_type ) ? $post->post_type : '';
32
+add_filter('post_row_actions', 'wpinv_post_row_actions', 90, 2);
33
+function wpinv_post_row_actions($actions, $post) {
34
+    $post_type = !empty($post->post_type) ? $post->post_type : '';
35 35
 
36
-    if ( $post_type == 'wpi_discount' ) {
37
-        $actions = wpinv_discount_row_actions( $post, $actions );
36
+    if ($post_type == 'wpi_discount') {
37
+        $actions = wpinv_discount_row_actions($post, $actions);
38 38
     }
39 39
 
40 40
     return $actions;
41 41
 }
42 42
 
43
-function wpinv_discount_row_actions( $discount, $row_actions ) {
44
-    $row_actions  = array();
45
-    $edit_link = get_edit_post_link( $discount->ID );
46
-    $row_actions['edit'] = '<a href="' . esc_url( $edit_link ) . '">' . __( 'Edit', 'invoicing' ) . '</a>';
43
+function wpinv_discount_row_actions($discount, $row_actions) {
44
+    $row_actions = array();
45
+    $edit_link = get_edit_post_link($discount->ID);
46
+    $row_actions['edit'] = '<a href="' . esc_url($edit_link) . '">' . __('Edit', 'invoicing') . '</a>';
47 47
 
48
-    if ( in_array( strtolower( $discount->post_status ), array( 'publish' ) ) && wpinv_current_user_can( 'deactivate_discount', array( 'discount' => (int) $discount->ID ) ) ) {
48
+    if (in_array(strtolower($discount->post_status), array('publish')) && wpinv_current_user_can('deactivate_discount', array('discount' => (int) $discount->ID))) {
49 49
 
50 50
         $url = wp_nonce_url(
51 51
             add_query_arg(
@@ -57,13 +57,13 @@  discard block
 block discarded – undo
57 57
             'getpaid-nonce',
58 58
             'getpaid-nonce'
59 59
         );
60
-		$anchor = __( 'Deactivate', 'invoicing' );
61
-		$title  = esc_attr__( 'Are you sure you want to deactivate this discount?', 'invoicing' );
60
+		$anchor = __('Deactivate', 'invoicing');
61
+		$title  = esc_attr__('Are you sure you want to deactivate this discount?', 'invoicing');
62 62
         $row_actions['deactivate'] = "<a href='$url' onclick='return confirm(\"$title\")'>$anchor</a>";
63 63
 
64
-    } elseif ( in_array( strtolower( $discount->post_status ), array( 'pending', 'draft' ) ) && wpinv_current_user_can( 'activate_discount', array( 'discount' => (int) $discount->ID ) ) ) {
64
+    } elseif (in_array(strtolower($discount->post_status), array('pending', 'draft')) && wpinv_current_user_can('activate_discount', array('discount' => (int) $discount->ID))) {
65 65
 
66
-        $url    = wp_nonce_url(
66
+        $url = wp_nonce_url(
67 67
             add_query_arg(
68 68
                 array(
69 69
                     'getpaid-admin-action' => 'activate_discount',
@@ -73,14 +73,14 @@  discard block
 block discarded – undo
73 73
             'getpaid-nonce',
74 74
             'getpaid-nonce'
75 75
         );
76
-		$anchor = __( 'Activate', 'invoicing' );
77
-		$title  = esc_attr__( 'Are you sure you want to activate this discount?', 'invoicing' );
76
+		$anchor = __('Activate', 'invoicing');
77
+		$title  = esc_attr__('Are you sure you want to activate this discount?', 'invoicing');
78 78
         $row_actions['activate'] = "<a href='$url' onclick='return confirm(\"$title\")'>$anchor</a>";
79 79
 
80 80
     }
81 81
 
82
-    if ( wpinv_current_user_can( 'delete_discount', array( 'discount' => (int) $discount->ID ) ) ) {
83
-        $url    = esc_url(
82
+    if (wpinv_current_user_can('delete_discount', array('discount' => (int) $discount->ID))) {
83
+        $url = esc_url(
84 84
             wp_nonce_url(
85 85
                 add_query_arg(
86 86
                     array(
@@ -93,12 +93,12 @@  discard block
 block discarded – undo
93 93
             )
94 94
     );
95 95
 
96
-        $anchor = __( 'Delete', 'invoicing' );
97
-        $title  = esc_attr__( 'Are you sure you want to delete this discount?', 'invoicing' );
96
+        $anchor = __('Delete', 'invoicing');
97
+        $title  = esc_attr__('Are you sure you want to delete this discount?', 'invoicing');
98 98
         $row_actions['delete'] = "<a href='$url' onclick='return confirm(\"$title\")'>$anchor</a>";
99 99
     }
100 100
 
101
-    $row_actions = apply_filters( 'wpinv_discount_row_actions', $row_actions, $discount );
101
+    $row_actions = apply_filters('wpinv_discount_row_actions', $row_actions, $discount);
102 102
 
103 103
     return $row_actions;
104 104
 }
@@ -106,68 +106,68 @@  discard block
 block discarded – undo
106 106
 function wpinv_restrict_manage_posts() {
107 107
     global $typenow;
108 108
 
109
-    if ( 'wpi_discount' == $typenow ) {
109
+    if ('wpi_discount' == $typenow) {
110 110
         wpinv_discount_filters();
111 111
     }
112 112
 }
113
-add_action( 'restrict_manage_posts', 'wpinv_restrict_manage_posts', 10 );
113
+add_action('restrict_manage_posts', 'wpinv_restrict_manage_posts', 10);
114 114
 
115 115
 function wpinv_discount_filters() {
116 116
 
117 117
     ?>
118 118
     <select name="discount_type" id="dropdown_wpinv_discount_type">
119
-        <option value=""><?php esc_html_e( 'Show all types', 'invoicing' ); ?></option>
119
+        <option value=""><?php esc_html_e('Show all types', 'invoicing'); ?></option>
120 120
         <?php
121 121
             $types = wpinv_get_discount_types();
122 122
 
123
-            foreach ( $types as $name => $type ) {
124
-			echo '<option value="' . esc_attr( $name ) . '"';
123
+            foreach ($types as $name => $type) {
124
+			echo '<option value="' . esc_attr($name) . '"';
125 125
 
126
-			if ( isset( $_GET['discount_type'] ) ) {
127
-				selected( $name, sanitize_text_field( $_GET['discount_type'] ) );
126
+			if (isset($_GET['discount_type'])) {
127
+				selected($name, sanitize_text_field($_GET['discount_type']));
128 128
                 }
129 129
 
130
-			echo '>' . esc_html__( $type, 'invoicing' ) . '</option>';
130
+			echo '>' . esc_html__($type, 'invoicing') . '</option>';
131 131
             }
132 132
         ?>
133 133
     </select>
134 134
     <?php
135 135
 }
136 136
 
137
-function wpinv_request( $vars ) {
137
+function wpinv_request($vars) {
138 138
     global $typenow, $wp_post_statuses;
139 139
 
140
-    if ( getpaid_is_invoice_post_type( $typenow ) ) {
141
-        if ( ! isset( $vars['post_status'] ) ) {
142
-            $post_statuses = wpinv_get_invoice_statuses( false, false, $typenow );
140
+    if (getpaid_is_invoice_post_type($typenow)) {
141
+        if (!isset($vars['post_status'])) {
142
+            $post_statuses = wpinv_get_invoice_statuses(false, false, $typenow);
143 143
 
144
-            foreach ( $post_statuses as $status => $value ) {
145
-                if ( isset( $wp_post_statuses[ $status ] ) && false === $wp_post_statuses[ $status ]->show_in_admin_all_list ) {
146
-                    unset( $post_statuses[ $status ] );
144
+            foreach ($post_statuses as $status => $value) {
145
+                if (isset($wp_post_statuses[$status]) && false === $wp_post_statuses[$status]->show_in_admin_all_list) {
146
+                    unset($post_statuses[$status]);
147 147
                 }
148 148
             }
149 149
 
150
-            $vars['post_status'] = array_keys( $post_statuses );
150
+            $vars['post_status'] = array_keys($post_statuses);
151 151
         }
152
-} elseif ( 'wpi_discount' == $typenow ) {
153
-        $meta_query = ! empty( $vars['meta_query'] ) ? $vars['meta_query'] : array();
152
+} elseif ('wpi_discount' == $typenow) {
153
+        $meta_query = !empty($vars['meta_query']) ? $vars['meta_query'] : array();
154 154
         // Filter vat rule type
155
-        if ( isset( $_GET['discount_type'] ) && $_GET['discount_type'] !== '' ) {
155
+        if (isset($_GET['discount_type']) && $_GET['discount_type'] !== '') {
156 156
             $meta_query[] = array(
157 157
 				'key'     => '_wpi_discount_type',
158
-				'value'   => sanitize_key( urldecode( $_GET['discount_type'] ) ),
158
+				'value'   => sanitize_key(urldecode($_GET['discount_type'])),
159 159
 				'compare' => '=',
160 160
 			);
161 161
 			}
162 162
 
163
-        if ( ! empty( $meta_query ) ) {
163
+        if (!empty($meta_query)) {
164 164
             $vars['meta_query'] = $meta_query;
165 165
 			}
166 166
     }
167 167
 
168 168
     return $vars;
169 169
 }
170
-add_filter( 'request', 'wpinv_request' );
170
+add_filter('request', 'wpinv_request');
171 171
 
172 172
 /**
173 173
  * Create a page and store the ID in an option.
@@ -179,61 +179,61 @@  discard block
 block discarded – undo
179 179
  * @param int $post_parent (default: 0) Parent for the new page
180 180
  * @return int page ID
181 181
  */
182
-function wpinv_create_page( $slug, $option = '', $page_title = '', $page_content = '', $post_parent = 0 ) {
182
+function wpinv_create_page($slug, $option = '', $page_title = '', $page_content = '', $post_parent = 0) {
183 183
     global $wpdb;
184 184
 
185
-    $option_value = wpinv_get_option( $option );
185
+    $option_value = wpinv_get_option($option);
186 186
 
187
-    if ( ! empty( $option_value ) && ( $page_object = get_post( $option_value ) ) ) {
188
-        if ( 'page' === $page_object->post_type && ! in_array( $page_object->post_status, array( 'pending', 'trash', 'future', 'auto-draft' ) ) ) {
187
+    if (!empty($option_value) && ($page_object = get_post($option_value))) {
188
+        if ('page' === $page_object->post_type && !in_array($page_object->post_status, array('pending', 'trash', 'future', 'auto-draft'))) {
189 189
             // Valid page is already in place
190 190
             return $page_object->ID;
191 191
         }
192 192
     }
193 193
 
194
-    if ( ! empty( $post_parent ) ) {
195
-        $page = get_page_by_path( $post_parent );
196
-        if ( $page ) {
194
+    if (!empty($post_parent)) {
195
+        $page = get_page_by_path($post_parent);
196
+        if ($page) {
197 197
             $post_parent = $page->ID;
198 198
         } else {
199 199
             $post_parent = '';
200 200
         }
201 201
     }
202 202
 
203
-    if ( strlen( $page_content ) > 0 ) {
203
+    if (strlen($page_content) > 0) {
204 204
         // Search for an existing page with the specified page content (typically a shortcode)
205
-        $valid_page_found = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_type='page' AND post_status NOT IN ( 'pending', 'trash', 'future', 'auto-draft' ) AND post_content LIKE %s LIMIT 1;", "%{$page_content}%" ) );
205
+        $valid_page_found = $wpdb->get_var($wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE post_type='page' AND post_status NOT IN ( 'pending', 'trash', 'future', 'auto-draft' ) AND post_content LIKE %s LIMIT 1;", "%{$page_content}%"));
206 206
     } else {
207 207
         // Search for an existing page with the specified page slug
208
-        $valid_page_found = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_type='page' AND post_status NOT IN ( 'pending', 'trash', 'future', 'auto-draft' )  AND post_name = %s LIMIT 1;", $slug ) );
208
+        $valid_page_found = $wpdb->get_var($wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE post_type='page' AND post_status NOT IN ( 'pending', 'trash', 'future', 'auto-draft' )  AND post_name = %s LIMIT 1;", $slug));
209 209
     }
210 210
 
211
-    $valid_page_found = apply_filters( 'wpinv_create_page_id', $valid_page_found, $slug, $page_content );
211
+    $valid_page_found = apply_filters('wpinv_create_page_id', $valid_page_found, $slug, $page_content);
212 212
 
213
-    if ( $valid_page_found ) {
214
-        if ( $option ) {
215
-            wpinv_update_option( $option, $valid_page_found );
213
+    if ($valid_page_found) {
214
+        if ($option) {
215
+            wpinv_update_option($option, $valid_page_found);
216 216
         }
217 217
         return $valid_page_found;
218 218
     }
219 219
 
220 220
     // Search for a matching valid trashed page
221
-    if ( strlen( $page_content ) > 0 ) {
221
+    if (strlen($page_content) > 0) {
222 222
         // Search for an existing page with the specified page content (typically a shortcode)
223
-        $trashed_page_found = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_type='page' AND post_status = 'trash' AND post_content LIKE %s LIMIT 1;", "%{$page_content}%" ) );
223
+        $trashed_page_found = $wpdb->get_var($wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE post_type='page' AND post_status = 'trash' AND post_content LIKE %s LIMIT 1;", "%{$page_content}%"));
224 224
     } else {
225 225
         // Search for an existing page with the specified page slug
226
-        $trashed_page_found = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_type='page' AND post_status = 'trash' AND post_name = %s LIMIT 1;", $slug ) );
226
+        $trashed_page_found = $wpdb->get_var($wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE post_type='page' AND post_status = 'trash' AND post_name = %s LIMIT 1;", $slug));
227 227
     }
228 228
 
229
-    if ( $trashed_page_found ) {
229
+    if ($trashed_page_found) {
230 230
         $page_id   = $trashed_page_found;
231 231
         $page_data = array(
232 232
             'ID'          => $page_id,
233 233
             'post_status' => 'publish',
234 234
             'post_parent' => $post_parent,
235 235
         );
236
-        wp_update_post( $page_data );
236
+        wp_update_post($page_data);
237 237
     } else {
238 238
         $page_data = array(
239 239
             'post_status'    => 'publish',
@@ -245,11 +245,11 @@  discard block
 block discarded – undo
245 245
             'post_parent'    => $post_parent,
246 246
             'comment_status' => 'closed',
247 247
         );
248
-        $page_id = wp_insert_post( $page_data );
248
+        $page_id = wp_insert_post($page_data);
249 249
     }
250 250
 
251
-    if ( $option ) {
252
-        wpinv_update_option( $option, (int) $page_id );
251
+    if ($option) {
252
+        wpinv_update_option($option, (int) $page_id);
253 253
     }
254 254
 
255 255
     return $page_id;
@@ -262,11 +262,11 @@  discard block
 block discarded – undo
262 262
  *
263 263
  * @return array
264 264
  */
265
-function wpinv_add_aui_screens( $screen_ids ) {
265
+function wpinv_add_aui_screens($screen_ids) {
266 266
 
267 267
     // load on these pages if set
268
-    $screen_ids = array_merge( $screen_ids, wpinv_get_screen_ids() );
268
+    $screen_ids = array_merge($screen_ids, wpinv_get_screen_ids());
269 269
 
270 270
     return $screen_ids;
271 271
 }
272
-add_filter( 'aui_screen_ids', 'wpinv_add_aui_screens' );
272
+add_filter('aui_screen_ids', 'wpinv_add_aui_screens');
Please login to merge, or discard this patch.
includes/wpinv-item-functions.php 2 patches
Indentation   +20 added lines, -20 removed lines patch added patch discarded remove patch
@@ -57,21 +57,21 @@  discard block
 block discarded – undo
57 57
     $args = wp_parse_args(
58 58
         $args,
59 59
         array(
60
-			'status'     => array( 'publish' ),
61
-			'limit'      => get_option( 'posts_per_page' ),
62
-			'page'       => 1,
63
-			'exclude'    => array(),
64
-			'orderby'    => 'date',
65
-			'order'      => 'DESC',
66
-			'type'       => wpinv_item_types(),
67
-			'meta_query' => array(
60
+            'status'     => array( 'publish' ),
61
+            'limit'      => get_option( 'posts_per_page' ),
62
+            'page'       => 1,
63
+            'exclude'    => array(),
64
+            'orderby'    => 'date',
65
+            'order'      => 'DESC',
66
+            'type'       => wpinv_item_types(),
67
+            'meta_query' => array(
68 68
                 array(
69 69
                     'key'     => '_wpinv_one_time',
70 70
                     'compare' => 'NOT EXISTS',
71 71
                 ),
72 72
             ),
73
-			'return'     => 'objects',
74
-			'paginate'   => false,
73
+            'return'     => 'objects',
74
+            'paginate'   => false,
75 75
         )
76 76
     );
77 77
 
@@ -211,9 +211,9 @@  discard block
 block discarded – undo
211 211
 
212 212
 function wpinv_get_item_types() {
213 213
     $item_types = array(
214
-		'custom' => __( 'Standard', 'invoicing' ),
215
-		'fee'    => __( 'Fee', 'invoicing' ),
216
-	);
214
+        'custom' => __( 'Standard', 'invoicing' ),
215
+        'fee'    => __( 'Fee', 'invoicing' ),
216
+    );
217 217
     return apply_filters( 'wpinv_get_item_types', $item_types );
218 218
 }
219 219
 
@@ -255,16 +255,16 @@  discard block
 block discarded – undo
255 255
     $args = array();
256 256
     if ( $post_ids ) {
257 257
         $args = array(
258
-			'fields' => 'ids',
259
-		);
258
+            'fields' => 'ids',
259
+        );
260 260
     }
261 261
 
262 262
     $args = array_merge(
263 263
         $args,
264 264
         array(
265 265
             'post_type'  => 'wpi_item',
266
-			'orderby'    => 'rand',
267
-			'post_count' => $num,
266
+            'orderby'    => 'rand',
267
+            'post_count' => $num,
268 268
             'meta_query' => array(
269 269
                 array(
270 270
                     'key'     => '_wpinv_one_time',
@@ -439,10 +439,10 @@  discard block
 block discarded – undo
439 439
     $bill_times_less = $bill_times - 1;
440 440
 
441 441
     if ( ! empty( $bill_times ) ) {
442
-		$bill_times = $item->get_recurring_interval() * $bill_times;
442
+        $bill_times = $item->get_recurring_interval() * $bill_times;
443 443
         $bill_times_less = getpaid_get_subscription_period_label( $item->get_recurring_period(), $bill_times - $item->get_recurring_interval() );
444
-		$bill_times = getpaid_get_subscription_period_label( $item->get_recurring_period(), $bill_times );
445
-	}
444
+        $bill_times = getpaid_get_subscription_period_label( $item->get_recurring_period(), $bill_times );
445
+    }
446 446
 
447 447
     if ( $item instanceof GetPaid_Form_Item && false === $_initial_price ) {
448 448
         $initial_price   = wpinv_price( $item->get_sub_total(), $currency );
Please login to merge, or discard this patch.
Spacing   +131 added lines, -131 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  * @package Invoicing
7 7
  */
8 8
 
9
-defined( 'ABSPATH' ) || exit;
9
+defined('ABSPATH') || exit;
10 10
 
11 11
 /**
12 12
  * Retrieves an item by it's ID.
@@ -14,9 +14,9 @@  discard block
 block discarded – undo
14 14
  * @param int the item ID to retrieve.
15 15
  * @return WPInv_Item|false
16 16
  */
17
-function wpinv_get_item_by_id( $id ) {
18
-    $item = wpinv_get_item( $id );
19
-    return empty( $item ) || $id != $item->get_id() ? false : $item;
17
+function wpinv_get_item_by_id($id) {
18
+    $item = wpinv_get_item($id);
19
+    return empty($item) || $id != $item->get_id() ? false : $item;
20 20
 }
21 21
 
22 22
 /**
@@ -24,14 +24,14 @@  discard block
 block discarded – undo
24 24
  *
25 25
  * @return WPInv_Item|false
26 26
  */
27
-function wpinv_get_item_by( $field = '', $value = '', $type = '' ) {
27
+function wpinv_get_item_by($field = '', $value = '', $type = '') {
28 28
 
29
-    if ( 'id' === strtolower( $field ) ) {
30
-        return wpinv_get_item_by_id( $value );
29
+    if ('id' === strtolower($field)) {
30
+        return wpinv_get_item_by_id($value);
31 31
     }
32 32
 
33
-    $id = WPInv_Item::get_item_id_by_field( $value, strtolower( $field ), $type );
34
-    return empty( $id ) ? false : wpinv_get_item( $id );
33
+    $id = WPInv_Item::get_item_id_by_field($value, strtolower($field), $type);
34
+    return empty($id) ? false : wpinv_get_item($id);
35 35
 
36 36
 }
37 37
 
@@ -41,24 +41,24 @@  discard block
 block discarded – undo
41 41
  * @param int|WPInv_Item the item to retrieve.
42 42
  * @return WPInv_Item|false
43 43
  */
44
-function wpinv_get_item( $item = 0 ) {
44
+function wpinv_get_item($item = 0) {
45 45
 
46
-    if ( empty( $item ) ) {
46
+    if (empty($item)) {
47 47
         return false;
48 48
     }
49 49
 
50
-    $item = new WPInv_Item( $item );
50
+    $item = new WPInv_Item($item);
51 51
     return $item->exists() ? $item : false;
52 52
 
53 53
 }
54 54
 
55
-function wpinv_get_all_items( $args = array() ) {
55
+function wpinv_get_all_items($args = array()) {
56 56
 
57 57
     $args = wp_parse_args(
58 58
         $args,
59 59
         array(
60
-			'status'     => array( 'publish' ),
61
-			'limit'      => get_option( 'posts_per_page' ),
60
+			'status'     => array('publish'),
61
+			'limit'      => get_option('posts_per_page'),
62 62
 			'page'       => 1,
63 63
 			'exclude'    => array(),
64 64
 			'orderby'    => 'date',
@@ -83,44 +83,44 @@  discard block
 block discarded – undo
83 83
         'fields'         => 'ids',
84 84
         'orderby'        => $args['orderby'],
85 85
         'order'          => $args['order'],
86
-        'paged'          => absint( $args['page'] ),
86
+        'paged'          => absint($args['page']),
87 87
     );
88 88
 
89
-    if ( ! empty( $args['exclude'] ) ) {
90
-        $wp_query_args['post__not_in'] = array_map( 'absint', $args['exclude'] );
89
+    if (!empty($args['exclude'])) {
90
+        $wp_query_args['post__not_in'] = array_map('absint', $args['exclude']);
91 91
     }
92 92
 
93
-    if ( ! $args['paginate'] ) {
93
+    if (!$args['paginate']) {
94 94
         $wp_query_args['no_found_rows'] = true;
95 95
     }
96 96
 
97
-    if ( ! empty( $args['search'] ) ) {
97
+    if (!empty($args['search'])) {
98 98
         $wp_query_args['s'] = $args['search'];
99 99
     }
100 100
 
101
-    if ( ! empty( $args['type'] ) && $args['type'] !== wpinv_item_types() ) {
102
-        $types = wpinv_parse_list( $args['type'] );
101
+    if (!empty($args['type']) && $args['type'] !== wpinv_item_types()) {
102
+        $types = wpinv_parse_list($args['type']);
103 103
         $wp_query_args['meta_query'][] = array(
104 104
             'key'     => '_wpinv_type',
105
-            'value'   => implode( ',', $types ),
105
+            'value'   => implode(',', $types),
106 106
             'compare' => 'IN',
107 107
         );
108 108
     }
109 109
 
110
-    $wp_query_args = apply_filters( 'wpinv_get_items_args', $wp_query_args, $args );
110
+    $wp_query_args = apply_filters('wpinv_get_items_args', $wp_query_args, $args);
111 111
 
112 112
     // Get results.
113
-    $items = new WP_Query( $wp_query_args );
113
+    $items = new WP_Query($wp_query_args);
114 114
 
115
-    if ( 'objects' === $args['return'] ) {
116
-        $return = array_map( 'wpinv_get_item_by_id', $items->posts );
117
-    } elseif ( 'self' === $args['return'] ) {
115
+    if ('objects' === $args['return']) {
116
+        $return = array_map('wpinv_get_item_by_id', $items->posts);
117
+    } elseif ('self' === $args['return']) {
118 118
         return $items;
119 119
     } else {
120 120
         $return = $items->posts;
121 121
     }
122 122
 
123
-    if ( $args['paginate'] ) {
123
+    if ($args['paginate']) {
124 124
         return (object) array(
125 125
             'items'         => $return,
126 126
             'total'         => $items->found_posts,
@@ -132,12 +132,12 @@  discard block
 block discarded – undo
132 132
 
133 133
 }
134 134
 
135
-function wpinv_is_free_item( $item_id = 0 ) {
136
-    if ( empty( $item_id ) ) {
135
+function wpinv_is_free_item($item_id = 0) {
136
+    if (empty($item_id)) {
137 137
         return false;
138 138
     }
139 139
 
140
-    $item = new WPInv_Item( $item_id );
140
+    $item = new WPInv_Item($item_id);
141 141
 
142 142
     return $item->is_free();
143 143
 }
@@ -147,21 +147,21 @@  discard block
 block discarded – undo
147 147
  *
148 148
  * @param WP_Post|WPInv_Item|Int $item The item to check for.
149 149
  */
150
-function wpinv_item_is_editable( $item = 0 ) {
150
+function wpinv_item_is_editable($item = 0) {
151 151
 
152 152
     // Fetch the item.
153
-    $item = new WPInv_Item( $item );
153
+    $item = new WPInv_Item($item);
154 154
 
155 155
     // Check if it is editable.
156 156
     return $item->is_editable();
157 157
 }
158 158
 
159
-function wpinv_get_item_price( $item_id = 0 ) {
160
-    if ( empty( $item_id ) ) {
159
+function wpinv_get_item_price($item_id = 0) {
160
+    if (empty($item_id)) {
161 161
         return false;
162 162
     }
163 163
 
164
-    $item = new WPInv_Item( $item_id );
164
+    $item = new WPInv_Item($item_id);
165 165
 
166 166
     return $item->get_price();
167 167
 }
@@ -171,89 +171,89 @@  discard block
 block discarded – undo
171 171
  *
172 172
  * @param WPInv_Item|int $item
173 173
  */
174
-function wpinv_is_recurring_item( $item = 0 ) {
175
-    $item = new WPInv_Item( $item );
174
+function wpinv_is_recurring_item($item = 0) {
175
+    $item = new WPInv_Item($item);
176 176
     return $item->is_recurring();
177 177
 }
178 178
 
179
-function wpinv_item_price( $item_id = 0 ) {
180
-    if ( empty( $item_id ) ) {
179
+function wpinv_item_price($item_id = 0) {
180
+    if (empty($item_id)) {
181 181
         return false;
182 182
     }
183 183
 
184
-    $price = wpinv_get_item_price( $item_id );
185
-    $price = wpinv_price( $price );
184
+    $price = wpinv_get_item_price($item_id);
185
+    $price = wpinv_price($price);
186 186
 
187
-    return apply_filters( 'wpinv_item_price', $price, $item_id );
187
+    return apply_filters('wpinv_item_price', $price, $item_id);
188 188
 }
189 189
 
190
-function wpinv_get_item_final_price( $item_id = 0, $amount_override = null ) {
191
-    if ( is_null( $amount_override ) ) {
192
-        $original_price = get_post_meta( $item_id, '_wpinv_price', true );
190
+function wpinv_get_item_final_price($item_id = 0, $amount_override = null) {
191
+    if (is_null($amount_override)) {
192
+        $original_price = get_post_meta($item_id, '_wpinv_price', true);
193 193
     } else {
194 194
         $original_price = $amount_override;
195 195
     }
196 196
 
197 197
     $price = $original_price;
198 198
 
199
-    return apply_filters( 'wpinv_get_item_final_price', $price, $item_id );
199
+    return apply_filters('wpinv_get_item_final_price', $price, $item_id);
200 200
 }
201 201
 
202
-function wpinv_item_custom_singular_name( $item_id ) {
203
-    if ( empty( $item_id ) ) {
202
+function wpinv_item_custom_singular_name($item_id) {
203
+    if (empty($item_id)) {
204 204
         return false;
205 205
     }
206 206
 
207
-    $item = new WPInv_Item( $item_id );
207
+    $item = new WPInv_Item($item_id);
208 208
 
209 209
     return $item->get_custom_singular_name();
210 210
 }
211 211
 
212 212
 function wpinv_get_item_types() {
213 213
     $item_types = array(
214
-		'custom' => __( 'Standard', 'invoicing' ),
215
-		'fee'    => __( 'Fee', 'invoicing' ),
214
+		'custom' => __('Standard', 'invoicing'),
215
+		'fee'    => __('Fee', 'invoicing'),
216 216
 	);
217
-    return apply_filters( 'wpinv_get_item_types', $item_types );
217
+    return apply_filters('wpinv_get_item_types', $item_types);
218 218
 }
219 219
 
220 220
 function wpinv_item_types() {
221 221
     $item_types = wpinv_get_item_types();
222 222
 
223
-    return ( ! empty( $item_types ) ? array_keys( $item_types ) : array() );
223
+    return (!empty($item_types) ? array_keys($item_types) : array());
224 224
 }
225 225
 
226
-function wpinv_get_item_type( $item_id ) {
227
-    if ( empty( $item_id ) ) {
226
+function wpinv_get_item_type($item_id) {
227
+    if (empty($item_id)) {
228 228
         return false;
229 229
     }
230 230
 
231
-    $item = new WPInv_Item( $item_id );
231
+    $item = new WPInv_Item($item_id);
232 232
 
233 233
     return $item->get_type();
234 234
 }
235 235
 
236
-function wpinv_item_type( $item_id ) {
236
+function wpinv_item_type($item_id) {
237 237
     $item_types = wpinv_get_item_types();
238 238
 
239
-    $item_type = wpinv_get_item_type( $item_id );
239
+    $item_type = wpinv_get_item_type($item_id);
240 240
 
241
-    if ( empty( $item_type ) ) {
241
+    if (empty($item_type)) {
242 242
         $item_type = '-';
243 243
     }
244 244
 
245
-    $item_type = isset( $item_types[ $item_type ] ) ? $item_types[ $item_type ] : __( $item_type, 'invoicing' );
245
+    $item_type = isset($item_types[$item_type]) ? $item_types[$item_type] : __($item_type, 'invoicing');
246 246
 
247
-    return apply_filters( 'wpinv_item_type', $item_type, $item_id );
247
+    return apply_filters('wpinv_item_type', $item_type, $item_id);
248 248
 }
249 249
 
250
-function wpinv_get_random_item( $post_ids = true ) {
251
-    wpinv_get_random_items( 1, $post_ids );
250
+function wpinv_get_random_item($post_ids = true) {
251
+    wpinv_get_random_items(1, $post_ids);
252 252
 }
253 253
 
254
-function wpinv_get_random_items( $num = 3, $post_ids = true ) {
254
+function wpinv_get_random_items($num = 3, $post_ids = true) {
255 255
     $args = array();
256
-    if ( $post_ids ) {
256
+    if ($post_ids) {
257 257
         $args = array(
258 258
 			'fields' => 'ids',
259 259
 		);
@@ -274,9 +274,9 @@  discard block
 block discarded – undo
274 274
         )
275 275
     );
276 276
 
277
-    $args  = apply_filters( 'wpinv_get_random_items', $args );
277
+    $args = apply_filters('wpinv_get_random_items', $args);
278 278
 
279
-    return get_posts( $args );
279
+    return get_posts($args);
280 280
 }
281 281
 
282 282
 /**
@@ -285,13 +285,13 @@  discard block
 block discarded – undo
285 285
  * @param WPInv_Item|int $item
286 286
  * @param bool $html
287 287
  */
288
-function wpinv_get_item_suffix( $item, $html = true ) {
288
+function wpinv_get_item_suffix($item, $html = true) {
289 289
 
290
-    $item   = new WPInv_Item( $item );
291
-    $suffix = $item->is_recurring() ? ' ' . __( '(r)', 'invoicing' ) : '';
292
-    $suffix = $html ? $suffix : wp_strip_all_tags( $suffix );
290
+    $item   = new WPInv_Item($item);
291
+    $suffix = $item->is_recurring() ? ' ' . __('(r)', 'invoicing') : '';
292
+    $suffix = $html ? $suffix : wp_strip_all_tags($suffix);
293 293
 
294
-    return apply_filters( 'wpinv_get_item_suffix', $suffix, $item, $html );
294
+    return apply_filters('wpinv_get_item_suffix', $suffix, $item, $html);
295 295
 }
296 296
 
297 297
 /**
@@ -300,9 +300,9 @@  discard block
 block discarded – undo
300 300
  * @param WPInv_Item|int $item
301 301
  * @param bool $force_delete
302 302
  */
303
-function wpinv_remove_item( $item = 0, $force_delete = false ) {
304
-    $item = new WPInv_Item( $item );
305
-    $item->delete( $force_delete );
303
+function wpinv_remove_item($item = 0, $force_delete = false) {
304
+    $item = new WPInv_Item($item);
305
+    $item->delete($force_delete);
306 306
 }
307 307
 
308 308
 /**
@@ -341,44 +341,44 @@  discard block
 block discarded – undo
341 341
  * @param bool $wp_error whether or not to return a WP_Error on failure.
342 342
  * @return bool|WP_Error|WPInv_Item
343 343
  */
344
-function wpinv_create_item( $args = array(), $wp_error = false ) {
344
+function wpinv_create_item($args = array(), $wp_error = false) {
345 345
 
346 346
     // Prepare the item.
347
-    if ( ! empty( $args['custom_id'] ) && empty( $args['ID'] ) ) {
348
-        $type = empty( $args['type'] ) ? 'custom' : $args['type'];
349
-        $item = wpinv_get_item_by( 'custom_id', $args['custom_id'], $type );
347
+    if (!empty($args['custom_id']) && empty($args['ID'])) {
348
+        $type = empty($args['type']) ? 'custom' : $args['type'];
349
+        $item = wpinv_get_item_by('custom_id', $args['custom_id'], $type);
350 350
 
351
-        if ( ! empty( $item ) ) {
351
+        if (!empty($item)) {
352 352
             $args['ID'] = $item->get_id();
353 353
         }
354 354
     }
355 355
 
356 356
     // Do we have an item?
357
-    if ( ! empty( $args['ID'] ) ) {
358
-        $item = new WPInv_Item( $args['ID'] );
357
+    if (!empty($args['ID'])) {
358
+        $item = new WPInv_Item($args['ID']);
359 359
     } else {
360 360
         $item = new WPInv_Item();
361 361
     }
362 362
 
363 363
     // Do we have an error?
364
-    if ( ! empty( $item->last_error ) ) {
365
-        return $wp_error ? new WP_Error( 'invalid_item', $item->last_error ) : false;
364
+    if (!empty($item->last_error)) {
365
+        return $wp_error ? new WP_Error('invalid_item', $item->last_error) : false;
366 366
     }
367 367
 
368 368
     // Update item props.
369
-    $item->set_props( $args );
369
+    $item->set_props($args);
370 370
 
371 371
     // Save the item.
372 372
     $item->save();
373 373
 
374 374
     // Do we have an error?
375
-    if ( ! empty( $item->last_error ) ) {
376
-        return $wp_error ? new WP_Error( 'not_saved', $item->last_error ) : false;
375
+    if (!empty($item->last_error)) {
376
+        return $wp_error ? new WP_Error('not_saved', $item->last_error) : false;
377 377
     }
378 378
 
379 379
     // Was the item saved?
380
-    if ( ! $item->get_id() ) {
381
-        return $wp_error ? new WP_Error( 'not_saved', __( 'An error occured while saving the item', 'invoicing' ) ) : false;
380
+    if (!$item->get_id()) {
381
+        return $wp_error ? new WP_Error('not_saved', __('An error occured while saving the item', 'invoicing')) : false;
382 382
     }
383 383
 
384 384
     return $item;
@@ -390,14 +390,14 @@  discard block
 block discarded – undo
390 390
  *
391 391
  * @see wpinv_create_item()
392 392
  */
393
-function wpinv_update_item( $args = array(), $wp_error = false ) {
394
-    return wpinv_create_item( $args, $wp_error );
393
+function wpinv_update_item($args = array(), $wp_error = false) {
394
+    return wpinv_create_item($args, $wp_error);
395 395
 }
396 396
 
397 397
 /**
398 398
  * Sanitizes a recurring period
399 399
  */
400
-function getpaid_sanitize_recurring_period( $period, $full = false ) {
400
+function getpaid_sanitize_recurring_period($period, $full = false) {
401 401
 
402 402
     $periods = array(
403 403
         'D' => 'day',
@@ -406,16 +406,16 @@  discard block
 block discarded – undo
406 406
         'Y' => 'year',
407 407
     );
408 408
 
409
-    if ( ! isset( $periods[ $period ] ) ) {
409
+    if (!isset($periods[$period])) {
410 410
         $period = 'D';
411 411
     }
412 412
 
413
-    return $full ? $periods[ $period ] : $period;
413
+    return $full ? $periods[$period] : $period;
414 414
 
415 415
 }
416 416
 
417
-function wpinv_item_max_buyable_quantity( $item_id ) {
418
-    return apply_filters( 'wpinv_item_max_buyable_quantity', 5, $item_id );
417
+function wpinv_item_max_buyable_quantity($item_id) {
418
+    return apply_filters('wpinv_item_max_buyable_quantity', 5, $item_id);
419 419
 }
420 420
 
421 421
 /**
@@ -423,47 +423,47 @@  discard block
 block discarded – undo
423 423
  *
424 424
  * @param WPInv_Item|GetPaid_Form_Item $item
425 425
  */
426
-function getpaid_item_recurring_price_help_text( $item, $currency = '', $_initial_price = false, $_recurring_price = false ) {
426
+function getpaid_item_recurring_price_help_text($item, $currency = '', $_initial_price = false, $_recurring_price = false) {
427 427
 
428 428
     // Abort if it is not recurring.
429
-    if ( ! $item->is_recurring() ) {
429
+    if (!$item->is_recurring()) {
430 430
         return '';
431 431
     }
432 432
 
433
-    $initial_price   = false === $_initial_price ? wpinv_price( $item->get_initial_price(), $currency ) : $_initial_price;
434
-    $recurring_price = false === $_recurring_price ? wpinv_price( $item->get_recurring_price(), $currency ) : $_recurring_price;
435
-    $period          = getpaid_get_subscription_period_label( $item->get_recurring_period(), $item->get_recurring_interval(), '' );
433
+    $initial_price   = false === $_initial_price ? wpinv_price($item->get_initial_price(), $currency) : $_initial_price;
434
+    $recurring_price = false === $_recurring_price ? wpinv_price($item->get_recurring_price(), $currency) : $_recurring_price;
435
+    $period          = getpaid_get_subscription_period_label($item->get_recurring_period(), $item->get_recurring_interval(), '');
436 436
     $initial_class   = 'getpaid-item-initial-price';
437 437
     $recurring_class = 'getpaid-item-recurring-price';
438 438
     $bill_times      = $item->get_recurring_limit();
439 439
     $bill_times_less = $bill_times - 1;
440 440
 
441
-    if ( ! empty( $bill_times ) ) {
441
+    if (!empty($bill_times)) {
442 442
 		$bill_times = $item->get_recurring_interval() * $bill_times;
443
-        $bill_times_less = getpaid_get_subscription_period_label( $item->get_recurring_period(), $bill_times - $item->get_recurring_interval() );
444
-		$bill_times = getpaid_get_subscription_period_label( $item->get_recurring_period(), $bill_times );
443
+        $bill_times_less = getpaid_get_subscription_period_label($item->get_recurring_period(), $bill_times - $item->get_recurring_interval());
444
+		$bill_times = getpaid_get_subscription_period_label($item->get_recurring_period(), $bill_times);
445 445
 	}
446 446
 
447
-    if ( $item instanceof GetPaid_Form_Item && false === $_initial_price ) {
448
-        $initial_price   = wpinv_price( $item->get_sub_total(), $currency );
449
-        $recurring_price = wpinv_price( $item->get_recurring_sub_total(), $currency );
447
+    if ($item instanceof GetPaid_Form_Item && false === $_initial_price) {
448
+        $initial_price   = wpinv_price($item->get_sub_total(), $currency);
449
+        $recurring_price = wpinv_price($item->get_recurring_sub_total(), $currency);
450 450
     }
451 451
 
452
-    if ( wpinv_price( 0, $currency ) == $initial_price && wpinv_price( 0, $currency ) == $recurring_price ) {
453
-        return __( 'Free forever', 'invoicing' );
452
+    if (wpinv_price(0, $currency) == $initial_price && wpinv_price(0, $currency) == $recurring_price) {
453
+        return __('Free forever', 'invoicing');
454 454
     }
455 455
 
456 456
     // For free trial items.
457
-    if ( $item->has_free_trial() ) {
458
-        $trial_period = getpaid_get_subscription_period_label( $item->get_trial_period(), $item->get_trial_interval() );
457
+    if ($item->has_free_trial()) {
458
+        $trial_period = getpaid_get_subscription_period_label($item->get_trial_period(), $item->get_trial_interval());
459 459
 
460
-        if ( wpinv_price( 0, $currency ) == $initial_price ) {
460
+        if (wpinv_price(0, $currency) == $initial_price) {
461 461
 
462
-            if ( empty( $bill_times ) ) {
462
+            if (empty($bill_times)) {
463 463
 
464 464
                 return sprintf(
465 465
                     // translators: $1: is the trial period, $2: is the recurring price, $3: is the susbcription period
466
-                    _x( 'Free for %1$s then %2$s / %3$s', 'Item subscription amount. (e.g.: Free for 1 month then $120 / year)', 'invoicing' ),
466
+                    _x('Free for %1$s then %2$s / %3$s', 'Item subscription amount. (e.g.: Free for 1 month then $120 / year)', 'invoicing'),
467 467
                     "<span class='getpaid-item-trial-period'>$trial_period</span>",
468 468
                     "<span class='$recurring_class'>$recurring_price</span>",
469 469
                     "<span class='getpaid-item-recurring-period'>$period</span>"
@@ -473,7 +473,7 @@  discard block
 block discarded – undo
473 473
 
474 474
             return sprintf(
475 475
                 // translators: $1: is the trial period, $2: is the recurring price, $3: is the susbcription period, $4: is the bill times
476
-                _x( 'Free for %1$s then %2$s / %3$s for %4$s', 'Item subscription amount. (e.g.: Free for 1 month then $120 / year for 4 years)', 'invoicing' ),
476
+                _x('Free for %1$s then %2$s / %3$s for %4$s', 'Item subscription amount. (e.g.: Free for 1 month then $120 / year for 4 years)', 'invoicing'),
477 477
                 "<span class='getpaid-item-trial-period'>$trial_period</span>",
478 478
                 "<span class='$recurring_class'>$recurring_price</span>",
479 479
                 "<span class='getpaid-item-recurring-period'>$period</span>",
@@ -482,11 +482,11 @@  discard block
 block discarded – undo
482 482
 
483 483
         }
484 484
 
485
-        if ( empty( $bill_times ) ) {
485
+        if (empty($bill_times)) {
486 486
 
487 487
             return sprintf(
488 488
                 // translators: $1: is the initial price, $2: is the trial period, $3: is the recurring price, $4: is the susbcription period
489
-                _x( '%1$s for %2$s then %3$s / %4$s', 'Item subscription amount. (e.g.: $7 for 1 month then $120 / year)', 'invoicing' ),
489
+                _x('%1$s for %2$s then %3$s / %4$s', 'Item subscription amount. (e.g.: $7 for 1 month then $120 / year)', 'invoicing'),
490 490
                 "<span class='$initial_class'>$initial_price</span>",
491 491
                 "<span class='getpaid-item-trial-period'>$trial_period</span>",
492 492
                 "<span class='$recurring_class'>$recurring_price</span>",
@@ -497,7 +497,7 @@  discard block
 block discarded – undo
497 497
 
498 498
         return sprintf(
499 499
             // translators: $1: is the initial price, $2: is the trial period, $3: is the recurring price, $4: is the susbcription period, $4: is the susbcription bill times
500
-            _x( '%1$s for %2$s then %3$s / %4$s for %5$s', 'Item subscription amount. (e.g.: $7 for 1 month then $120 / year for 5 years)', 'invoicing' ),
500
+            _x('%1$s for %2$s then %3$s / %4$s for %5$s', 'Item subscription amount. (e.g.: $7 for 1 month then $120 / year for 5 years)', 'invoicing'),
501 501
             "<span class='$initial_class'>$initial_price</span>",
502 502
             "<span class='getpaid-item-trial-period'>$trial_period</span>",
503 503
             "<span class='$recurring_class'>$recurring_price</span>",
@@ -507,13 +507,13 @@  discard block
 block discarded – undo
507 507
 
508 508
     }
509 509
 
510
-    if ( $initial_price == $recurring_price ) {
510
+    if ($initial_price == $recurring_price) {
511 511
 
512
-        if ( empty( $bill_times ) ) {
512
+        if (empty($bill_times)) {
513 513
 
514 514
             return sprintf(
515 515
                 // translators: $1: is the recurring price, $2: is the susbcription period
516
-                _x( '%1$s / %2$s', 'Item subscription amount. (e.g.: $120 / year)', 'invoicing' ),
516
+                _x('%1$s / %2$s', 'Item subscription amount. (e.g.: $120 / year)', 'invoicing'),
517 517
                 "<span class='$recurring_class'>$recurring_price</span>",
518 518
                 "<span class='getpaid-item-recurring-period'>$period</span>"
519 519
             );
@@ -522,7 +522,7 @@  discard block
 block discarded – undo
522 522
 
523 523
         return sprintf(
524 524
             // translators: $1: is the recurring price, $2: is the susbcription period, $3: is the susbcription bill times
525
-            _x( '%1$s / %2$s for %3$s', 'Item subscription amount. (e.g.: $120 / year for 5 years)', 'invoicing' ),
525
+            _x('%1$s / %2$s for %3$s', 'Item subscription amount. (e.g.: $120 / year for 5 years)', 'invoicing'),
526 526
             "<span class='$recurring_class'>$recurring_price</span>",
527 527
             "<span class='getpaid-item-recurring-period'>$period</span>",
528 528
             "<span class='getpaid-item-recurring-bill-times'>$bill_times</span>"
@@ -530,13 +530,13 @@  discard block
 block discarded – undo
530 530
 
531 531
     }
532 532
 
533
-    if ( $initial_price == wpinv_price( 0, $currency ) ) {
533
+    if ($initial_price == wpinv_price(0, $currency)) {
534 534
 
535
-        if ( empty( $bill_times ) ) {
535
+        if (empty($bill_times)) {
536 536
 
537 537
             return sprintf(
538 538
                 // translators: $1: is the recurring period, $2: is the recurring price
539
-                _x( 'Free for %1$s then %2$s / %1$s', 'Item subscription amount. (e.g.: Free for 3 months then $7 / 3 months)', 'invoicing' ),
539
+                _x('Free for %1$s then %2$s / %1$s', 'Item subscription amount. (e.g.: Free for 3 months then $7 / 3 months)', 'invoicing'),
540 540
                 "<span class='getpaid-item-recurring-period'>$period</span>",
541 541
                 "<span class='$recurring_class'>$recurring_price</span>"
542 542
             );
@@ -545,7 +545,7 @@  discard block
 block discarded – undo
545 545
 
546 546
         return sprintf(
547 547
             // translators: $1: is the recurring period, $2: is the recurring price, $3: is the bill times
548
-            _x( 'Free for %1$s then %2$s / %1$s for %3$s', 'Item subscription amount. (e.g.: Free for 3 months then $7 / 3 months for 12 months)', 'invoicing' ),
548
+            _x('Free for %1$s then %2$s / %1$s for %3$s', 'Item subscription amount. (e.g.: Free for 3 months then $7 / 3 months for 12 months)', 'invoicing'),
549 549
             "<span class='getpaid-item-recurring-period'>$period</span>",
550 550
             "<span class='$recurring_class'>$recurring_price</span>",
551 551
             "<span class='getpaid-item-recurring-bill-times'>$bill_times_less</span>"
@@ -553,11 +553,11 @@  discard block
 block discarded – undo
553 553
 
554 554
     }
555 555
 
556
-    if ( empty( $bill_times ) ) {
556
+    if (empty($bill_times)) {
557 557
 
558 558
         return sprintf(
559 559
             // translators: $1: is the initial price, $2: is the recurring price, $3: is the susbcription period
560
-            _x( 'Initial payment of %1$s then %2$s / %3$s', 'Item subscription amount. (e.g.: Initial payment of $7 then $120 / year)', 'invoicing' ),
560
+            _x('Initial payment of %1$s then %2$s / %3$s', 'Item subscription amount. (e.g.: Initial payment of $7 then $120 / year)', 'invoicing'),
561 561
             "<span class='$initial_class'>$initial_price</span>",
562 562
             "<span class='$recurring_class'>$recurring_price</span>",
563 563
             "<span class='getpaid-item-recurring-period'>$period</span>"
@@ -567,7 +567,7 @@  discard block
 block discarded – undo
567 567
 
568 568
     return sprintf(
569 569
         // translators: $1: is the initial price, $2: is the recurring price, $3: is the susbcription period, $4: is the susbcription bill times
570
-        _x( 'Initial payment of %1$s then %2$s / %3$s for %4$s', 'Item subscription amount. (e.g.: Initial payment of $7 then $120 / year for 4 years)', 'invoicing' ),
570
+        _x('Initial payment of %1$s then %2$s / %3$s for %4$s', 'Item subscription amount. (e.g.: Initial payment of $7 then $120 / year for 4 years)', 'invoicing'),
571 571
         "<span class='$initial_class'>$initial_price</span>",
572 572
         "<span class='$recurring_class'>$recurring_price</span>",
573 573
         "<span class='getpaid-item-recurring-period'>$period</span>",
Please login to merge, or discard this patch.
includes/gateways/class-getpaid-authorize-net-gateway.php 2 patches
Indentation   +232 added lines, -232 removed lines patch added patch discarded remove patch
@@ -13,17 +13,17 @@  discard block
 block discarded – undo
13 13
 class GetPaid_Authorize_Net_Gateway extends GetPaid_Authorize_Net_Legacy_Gateway {
14 14
 
15 15
     /**
16
-	 * Payment method id.
17
-	 *
18
-	 * @var string
19
-	 */
16
+     * Payment method id.
17
+     *
18
+     * @var string
19
+     */
20 20
     public $id = 'authorizenet';
21 21
 
22 22
     /**
23
-	 * An array of features that this gateway supports.
24
-	 *
25
-	 * @var array
26
-	 */
23
+     * An array of features that this gateway supports.
24
+     *
25
+     * @var array
26
+     */
27 27
     protected $supports = array(
28 28
         'subscription',
29 29
         'sandbox',
@@ -36,44 +36,44 @@  discard block
 block discarded – undo
36 36
     );
37 37
 
38 38
     /**
39
-	 * Payment method order.
40
-	 *
41
-	 * @var int
42
-	 */
39
+     * Payment method order.
40
+     *
41
+     * @var int
42
+     */
43 43
     public $order = 4;
44 44
 
45 45
     /**
46
-	 * Endpoint for requests from Authorize.net.
47
-	 *
48
-	 * @var string
49
-	 */
50
-	protected $notify_url;
51
-
52
-	/**
53
-	 * Endpoint for requests to Authorize.net.
54
-	 *
55
-	 * @var string
56
-	 */
46
+     * Endpoint for requests from Authorize.net.
47
+     *
48
+     * @var string
49
+     */
50
+    protected $notify_url;
51
+
52
+    /**
53
+     * Endpoint for requests to Authorize.net.
54
+     *
55
+     * @var string
56
+     */
57 57
     protected $endpoint;
58 58
 
59 59
     /**
60
-	 * Currencies this gateway is allowed for.
61
-	 *
62
-	 * @var array
63
-	 */
64
-	public $currencies = array( 'USD', 'CAD', 'GBP', 'DKK', 'NOK', 'PLN', 'SEK', 'AUD', 'EUR', 'NZD' );
60
+     * Currencies this gateway is allowed for.
61
+     *
62
+     * @var array
63
+     */
64
+    public $currencies = array( 'USD', 'CAD', 'GBP', 'DKK', 'NOK', 'PLN', 'SEK', 'AUD', 'EUR', 'NZD' );
65 65
 
66 66
     /**
67
-	 * URL to view a transaction.
68
-	 *
69
-	 * @var string
70
-	 */
67
+     * URL to view a transaction.
68
+     *
69
+     * @var string
70
+     */
71 71
     public $view_transaction_url = 'https://{sandbox}authorize.net/ui/themes/sandbox/Transaction/TransactionReceipt.aspx?transid=%s';
72 72
 
73 73
     /**
74
-	 * Class constructor.
75
-	 */
76
-	public function __construct() {
74
+     * Class constructor.
75
+     */
76
+    public function __construct() {
77 77
 
78 78
         $this->title                = __( 'Credit Card / Debit Card', 'invoicing' );
79 79
         $this->method_title         = __( 'Authorize.Net', 'invoicing' );
@@ -85,11 +85,11 @@  discard block
 block discarded – undo
85 85
     }
86 86
 
87 87
     /**
88
-	 * Displays the payment method select field.
89
-	 *
90
-	 * @param int $invoice_id 0 or invoice id.
91
-	 * @param GetPaid_Payment_Form $form Current payment form.
92
-	 */
88
+     * Displays the payment method select field.
89
+     *
90
+     * @param int $invoice_id 0 or invoice id.
91
+     * @param GetPaid_Payment_Form $form Current payment form.
92
+     */
93 93
     public function payment_fields( $invoice_id, $form ) {
94 94
 
95 95
         // Let the user select a payment method.
@@ -100,16 +100,16 @@  discard block
 block discarded – undo
100 100
     }
101 101
 
102 102
     /**
103
-	 * Creates a customer profile.
104
-	 *
105
-	 *
106
-	 * @param WPInv_Invoice $invoice Invoice.
103
+     * Creates a customer profile.
104
+     *
105
+     *
106
+     * @param WPInv_Invoice $invoice Invoice.
107 107
      * @param array $submission_data Posted checkout fields.
108 108
      * @param bool $save Whether or not to save the payment as a token.
109 109
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-profile
110
-	 * @return string|WP_Error Payment profile id.
111
-	 */
112
-	public function create_customer_profile( $invoice, $submission_data, $save = true ) {
110
+     * @return string|WP_Error Payment profile id.
111
+     */
112
+    public function create_customer_profile( $invoice, $submission_data, $save = true ) {
113 113
 
114 114
         // Remove non-digits from the number
115 115
         $submission_data['authorizenet']['cc_number'] = preg_replace( '/\D/', '', $submission_data['authorizenet']['cc_number'] );
@@ -191,14 +191,14 @@  discard block
 block discarded – undo
191 191
     }
192 192
 
193 193
     /**
194
-	 * Retrieves a customer profile.
195
-	 *
196
-	 *
197
-	 * @param string $profile_id profile id.
198
-	 * @return string|WP_Error Profile id.
194
+     * Retrieves a customer profile.
195
+     *
196
+     *
197
+     * @param string $profile_id profile id.
198
+     * @return string|WP_Error Profile id.
199 199
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-profile
200
-	 */
201
-	public function get_customer_profile( $profile_id ) {
200
+     */
201
+    public function get_customer_profile( $profile_id ) {
202 202
 
203 203
         // Generate args.
204 204
         $args = array(
@@ -213,17 +213,17 @@  discard block
 block discarded – undo
213 213
     }
214 214
 
215 215
     /**
216
-	 * Creates a customer profile.
217
-	 *
218
-	 *
216
+     * Creates a customer profile.
217
+     *
218
+     *
219 219
      * @param string $profile_id profile id.
220
-	 * @param WPInv_Invoice $invoice Invoice.
220
+     * @param WPInv_Invoice $invoice Invoice.
221 221
      * @param array $submission_data Posted checkout fields.
222 222
      * @param bool $save Whether or not to save the payment as a token.
223 223
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-profile
224
-	 * @return string|WP_Error Profile id.
225
-	 */
226
-	public function create_customer_payment_profile( $customer_profile, $invoice, $submission_data, $save ) {
224
+     * @return string|WP_Error Profile id.
225
+     */
226
+    public function create_customer_payment_profile( $customer_profile, $invoice, $submission_data, $save ) {
227 227
 
228 228
         // Remove non-digits from the number
229 229
         $submission_data['authorizenet']['cc_number'] = preg_replace( '/\D/', '', $submission_data['authorizenet']['cc_number'] );
@@ -311,13 +311,13 @@  discard block
 block discarded – undo
311 311
     }
312 312
 
313 313
     /**
314
-	 * Retrieves payment details from cache.
315
-	 *
316
-	 *
314
+     * Retrieves payment details from cache.
315
+     *
316
+     *
317 317
      * @param array $payment_details.
318
-	 * @return array|false Profile id.
319
-	 */
320
-	public function retrieve_payment_profile_from_cache( $payment_details, $customer_profile, $invoice ) {
318
+     * @return array|false Profile id.
319
+     */
320
+    public function retrieve_payment_profile_from_cache( $payment_details, $customer_profile, $invoice ) {
321 321
 
322 322
         $cached_information = get_option( 'getpaid_authorize_net_cached_profiles', array() );
323 323
         $payment_details    = hash_hmac( 'sha256', json_encode( $payment_details ), SECURE_AUTH_KEY );
@@ -342,13 +342,13 @@  discard block
 block discarded – undo
342 342
     }
343 343
 
344 344
     /**
345
-	 * Securely adds payment details to cache.
346
-	 *
347
-	 *
345
+     * Securely adds payment details to cache.
346
+     *
347
+     *
348 348
      * @param array $payment_details.
349 349
      * @param string $payment_profile_id.
350
-	 */
351
-	public function add_payment_profile_to_cache( $payment_details, $payment_profile_id ) {
350
+     */
351
+    public function add_payment_profile_to_cache( $payment_details, $payment_profile_id ) {
352 352
 
353 353
         $cached_information = get_option( 'getpaid_authorize_net_cached_profiles', array() );
354 354
         $cached_information = is_array( $cached_information ) ? $cached_information : array();
@@ -360,15 +360,15 @@  discard block
 block discarded – undo
360 360
     }
361 361
 
362 362
     /**
363
-	 * Retrieves a customer payment profile.
364
-	 *
365
-	 *
366
-	 * @param string $customer_profile_id customer profile id.
363
+     * Retrieves a customer payment profile.
364
+     *
365
+     *
366
+     * @param string $customer_profile_id customer profile id.
367 367
      * @param string $payment_profile_id payment profile id.
368
-	 * @return string|WP_Error Profile id.
368
+     * @return string|WP_Error Profile id.
369 369
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-payment-profile
370
-	 */
371
-	public function get_customer_payment_profile( $customer_profile_id, $payment_profile_id ) {
370
+     */
371
+    public function get_customer_payment_profile( $customer_profile_id, $payment_profile_id ) {
372 372
 
373 373
         // Generate args.
374 374
         $args = array(
@@ -384,15 +384,15 @@  discard block
 block discarded – undo
384 384
     }
385 385
 
386 386
     /**
387
-	 * Charges a customer payment profile.
388
-	 *
387
+     * Charges a customer payment profile.
388
+     *
389 389
      * @param string $customer_profile_id customer profile id.
390 390
      * @param string $payment_profile_id payment profile id.
391
-	 * @param WPInv_Invoice $invoice Invoice.
391
+     * @param WPInv_Invoice $invoice Invoice.
392 392
      * @link https://developer.authorize.net/api/reference/index.html#payment-transactions-charge-a-customer-profile
393
-	 * @return WP_Error|object
394
-	 */
395
-	public function charge_customer_payment_profile( $customer_profile_id, $payment_profile_id, $invoice ) {
393
+     * @return WP_Error|object
394
+     */
395
+    public function charge_customer_payment_profile( $customer_profile_id, $payment_profile_id, $invoice ) {
396 396
 
397 397
         // Generate args.
398 398
         $args = array(
@@ -438,43 +438,43 @@  discard block
 block discarded – undo
438 438
     }
439 439
 
440 440
     /**
441
-	 * Processes a customer charge.
442
-	 *
441
+     * Processes a customer charge.
442
+     *
443 443
      * @param stdClass $result Api response.
444
-	 * @param WPInv_Invoice $invoice Invoice.
445
-	 */
446
-	public function process_charge_response( $result, $invoice ) {
444
+     * @param WPInv_Invoice $invoice Invoice.
445
+     */
446
+    public function process_charge_response( $result, $invoice ) {
447 447
 
448 448
         wpinv_clear_errors();
449
-		$response_code = (int) $result->transactionResponse->responseCode;
449
+        $response_code = (int) $result->transactionResponse->responseCode;
450 450
 
451 451
         $invoice->add_note( 'Transaction Response: ' . print_r( $result->transactionResponse, true ), false, false, true );
452 452
 
453
-		// Succeeded.
454
-		if ( 1 == $response_code || 4 == $response_code ) {
453
+        // Succeeded.
454
+        if ( 1 == $response_code || 4 == $response_code ) {
455 455
 
456
-			// Maybe set a transaction id.
457
-			if ( ! empty( $result->transactionResponse->transId ) ) {
458
-				$invoice->set_transaction_id( $result->transactionResponse->transId );
459
-			}
456
+            // Maybe set a transaction id.
457
+            if ( ! empty( $result->transactionResponse->transId ) ) {
458
+                $invoice->set_transaction_id( $result->transactionResponse->transId );
459
+            }
460 460
 
461
-			$invoice->add_note( sprintf( __( 'Authentication code: %1$s (%2$s).', 'invoicing' ), $result->transactionResponse->authCode, $result->transactionResponse->accountNumber ), false, false, true );
461
+            $invoice->add_note( sprintf( __( 'Authentication code: %1$s (%2$s).', 'invoicing' ), $result->transactionResponse->authCode, $result->transactionResponse->accountNumber ), false, false, true );
462 462
 
463
-			if ( 1 == $response_code ) {
464
-				return $invoice->mark_paid();
465
-			}
463
+            if ( 1 == $response_code ) {
464
+                return $invoice->mark_paid();
465
+            }
466 466
 
467
-			$invoice->set_status( 'wpi-onhold' );
468
-        	$invoice->add_note(
467
+            $invoice->set_status( 'wpi-onhold' );
468
+            $invoice->add_note(
469 469
                 sprintf(
470 470
                     __( 'Held for review: %s', 'invoicing' ),
471 471
                     $result->transactionResponse->messages->message[0]->description
472 472
                 )
473
-			);
473
+            );
474 474
 
475
-			return $invoice->save();
475
+            return $invoice->save();
476 476
 
477
-		}
477
+        }
478 478
 
479 479
         wpinv_set_error( 'card_declined' );
480 480
 
@@ -486,13 +486,13 @@  discard block
 block discarded – undo
486 486
     }
487 487
 
488 488
     /**
489
-	 * Returns payment information.
490
-	 *
491
-	 *
492
-	 * @param array $card Card details.
493
-	 * @return array
494
-	 */
495
-	public function get_payment_information( $card ) {
489
+     * Returns payment information.
490
+     *
491
+     *
492
+     * @param array $card Card details.
493
+     * @return array
494
+     */
495
+    public function get_payment_information( $card ) {
496 496
         return array(
497 497
 
498 498
             'creditCard' => array(
@@ -505,25 +505,25 @@  discard block
 block discarded – undo
505 505
     }
506 506
 
507 507
     /**
508
-	 * Returns the customer profile meta name.
509
-	 *
510
-	 *
511
-	 * @param WPInv_Invoice $invoice Invoice.
512
-	 * @return string
513
-	 */
514
-	public function get_customer_profile_meta_name( $invoice ) {
508
+     * Returns the customer profile meta name.
509
+     *
510
+     *
511
+     * @param WPInv_Invoice $invoice Invoice.
512
+     * @return string
513
+     */
514
+    public function get_customer_profile_meta_name( $invoice ) {
515 515
         return $this->is_sandbox( $invoice ) ? 'getpaid_authorizenet_sandbox_customer_profile_id' : 'getpaid_authorizenet_customer_profile_id';
516 516
     }
517 517
 
518 518
     /**
519
-	 * Validates the submitted data.
520
-	 *
521
-	 *
522
-	 * @param array $submission_data Posted checkout fields.
519
+     * Validates the submitted data.
520
+     *
521
+     *
522
+     * @param array $submission_data Posted checkout fields.
523 523
      * @param WPInv_Invoice $invoice
524
-	 * @return WP_Error|string The payment profile id
525
-	 */
526
-	public function validate_submission_data( $submission_data, $invoice ) {
524
+     * @return WP_Error|string The payment profile id
525
+     */
526
+    public function validate_submission_data( $submission_data, $invoice ) {
527 527
 
528 528
         // Validate authentication details.
529 529
         $auth = $this->get_auth_params();
@@ -555,13 +555,13 @@  discard block
 block discarded – undo
555 555
     }
556 556
 
557 557
     /**
558
-	 * Returns invoice line items.
559
-	 *
560
-	 *
561
-	 * @param WPInv_Invoice $invoice Invoice.
562
-	 * @return array
563
-	 */
564
-	public function get_line_items( $invoice ) {
558
+     * Returns invoice line items.
559
+     *
560
+     *
561
+     * @param WPInv_Invoice $invoice Invoice.
562
+     * @return array
563
+     */
564
+    public function get_line_items( $invoice ) {
565 565
         $items = array();
566 566
 
567 567
         foreach ( $invoice->get_items() as $item ) {
@@ -598,15 +598,15 @@  discard block
 block discarded – undo
598 598
     }
599 599
 
600 600
     /**
601
-	 * Process Payment.
602
-	 *
603
-	 *
604
-	 * @param WPInv_Invoice $invoice Invoice.
605
-	 * @param array $submission_data Posted checkout fields.
606
-	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
607
-	 * @return array
608
-	 */
609
-	public function process_payment( $invoice, $submission_data, $submission ) {
601
+     * Process Payment.
602
+     *
603
+     *
604
+     * @param WPInv_Invoice $invoice Invoice.
605
+     * @param array $submission_data Posted checkout fields.
606
+     * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
607
+     * @return array
608
+     */
609
+    public function process_payment( $invoice, $submission_data, $submission ) {
610 610
 
611 611
         // Validate the submitted data.
612 612
         $payment_profile_id = $this->validate_submission_data( $submission_data, $invoice );
@@ -639,45 +639,45 @@  discard block
 block discarded – undo
639 639
 
640 640
         exit;
641 641
 
642
-	}
642
+    }
643 643
 
644
-	/**
645
-	 * Processes the initial payment.
646
-	 *
644
+    /**
645
+     * Processes the initial payment.
646
+     *
647 647
      * @param WPInv_Invoice $invoice Invoice.
648
-	 */
649
-	protected function process_initial_payment( $invoice ) {
648
+     */
649
+    protected function process_initial_payment( $invoice ) {
650 650
 
651
-		$payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
651
+        $payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
652 652
         $customer_profile   = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
653
-		$result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice );
653
+        $result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice );
654 654
 
655
-		// Do we have an error?
656
-		if ( is_wp_error( $result ) ) {
657
-			wpinv_set_error( $result->get_error_code(), $result->get_error_message() );
658
-			wpinv_send_back_to_checkout( $invoice );
659
-		}
655
+        // Do we have an error?
656
+        if ( is_wp_error( $result ) ) {
657
+            wpinv_set_error( $result->get_error_code(), $result->get_error_message() );
658
+            wpinv_send_back_to_checkout( $invoice );
659
+        }
660 660
 
661
-		// Process the response.
662
-		$this->process_charge_response( $result, $invoice );
661
+        // Process the response.
662
+        $this->process_charge_response( $result, $invoice );
663 663
 
664
-		if ( wpinv_get_errors() ) {
665
-			wpinv_send_back_to_checkout( $invoice );
666
-		}
664
+        if ( wpinv_get_errors() ) {
665
+            wpinv_send_back_to_checkout( $invoice );
666
+        }
667 667
 
668
-	}
668
+    }
669 669
 
670 670
     /**
671
-	 * Processes recurring payments.
672
-	 *
671
+     * Processes recurring payments.
672
+     *
673 673
      * @param WPInv_Invoice $invoice Invoice.
674 674
      * @param WPInv_Subscription[]|WPInv_Subscription $subscriptions Subscriptions.
675
-	 */
676
-	public function process_subscription( $invoice, $subscriptions ) {
675
+     */
676
+    public function process_subscription( $invoice, $subscriptions ) {
677 677
 
678 678
         // Check if there is an initial amount to charge.
679 679
         if ( (float) $invoice->get_total() > 0 ) {
680
-			$this->process_initial_payment( $invoice );
680
+            $this->process_initial_payment( $invoice );
681 681
         }
682 682
 
683 683
         // Activate the subscriptions.
@@ -695,36 +695,36 @@  discard block
 block discarded – undo
695 695
             }
696 696
         }
697 697
 
698
-		// Redirect to the success page.
698
+        // Redirect to the success page.
699 699
         wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
700 700
 
701 701
     }
702 702
 
703
-	/**
704
-	 * (Maybe) renews an authorize.net subscription profile.
705
-	 *
706
-	 *
703
+    /**
704
+     * (Maybe) renews an authorize.net subscription profile.
705
+     *
706
+     *
707 707
      * @param WPInv_Subscription $subscription
708
-	 */
709
-	public function maybe_renew_subscription( $subscription ) {
708
+     */
709
+    public function maybe_renew_subscription( $subscription ) {
710 710
 
711 711
         // Ensure its our subscription && it's active.
712 712
         if ( $this->id === $subscription->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
713 713
             $this->renew_subscription( $subscription );
714 714
         }
715 715
 
716
-	}
716
+    }
717 717
 
718 718
     /**
719
-	 * Renews a subscription.
720
-	 *
719
+     * Renews a subscription.
720
+     *
721 721
      * @param WPInv_Subscription $subscription
722
-	 */
723
-	public function renew_subscription( $subscription ) {
722
+     */
723
+    public function renew_subscription( $subscription ) {
724 724
 
725
-		// Generate the renewal invoice.
726
-		$new_invoice = $subscription->create_payment();
727
-		$old_invoice = $subscription->get_parent_payment();
725
+        // Generate the renewal invoice.
726
+        $new_invoice = $subscription->create_payment();
727
+        $old_invoice = $subscription->get_parent_payment();
728 728
 
729 729
         if ( empty( $new_invoice ) ) {
730 730
             $old_invoice->add_note( __( 'Error generating a renewal invoice.', 'invoicing' ), false, false, false );
@@ -733,37 +733,37 @@  discard block
 block discarded – undo
733 733
         }
734 734
 
735 735
         // Charge the payment method.
736
-		$payment_profile_id = get_post_meta( $old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
737
-		$customer_profile   = get_user_meta( $old_invoice->get_user_id(), $this->get_customer_profile_meta_name( $old_invoice ), true );
738
-		$result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $new_invoice );
739
-
740
-		// Do we have an error?
741
-		if ( is_wp_error( $result ) ) {
742
-
743
-			$old_invoice->add_note(
744
-				sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), $result->get_error_message() ),
745
-				true,
746
-				false,
747
-				true
748
-			);
749
-			$subscription->failing();
750
-			return;
751
-
752
-		}
753
-
754
-		// Process the response.
755
-		$this->process_charge_response( $result, $new_invoice );
756
-
757
-		if ( wpinv_get_errors() ) {
758
-
759
-			$old_invoice->add_note(
760
-				sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), getpaid_get_errors_html() ),
761
-				true,
762
-				false,
763
-				true
764
-			);
765
-			$subscription->failing();
766
-			return;
736
+        $payment_profile_id = get_post_meta( $old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
737
+        $customer_profile   = get_user_meta( $old_invoice->get_user_id(), $this->get_customer_profile_meta_name( $old_invoice ), true );
738
+        $result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $new_invoice );
739
+
740
+        // Do we have an error?
741
+        if ( is_wp_error( $result ) ) {
742
+
743
+            $old_invoice->add_note(
744
+                sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), $result->get_error_message() ),
745
+                true,
746
+                false,
747
+                true
748
+            );
749
+            $subscription->failing();
750
+            return;
751
+
752
+        }
753
+
754
+        // Process the response.
755
+        $this->process_charge_response( $result, $new_invoice );
756
+
757
+        if ( wpinv_get_errors() ) {
758
+
759
+            $old_invoice->add_note(
760
+                sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), getpaid_get_errors_html() ),
761
+                true,
762
+                false,
763
+                true
764
+            );
765
+            $subscription->failing();
766
+            return;
767 767
 
768 768
         }
769 769
 
@@ -776,13 +776,13 @@  discard block
 block discarded – undo
776 776
     }
777 777
 
778 778
     /**
779
-	 * Processes invoice addons.
780
-	 *
781
-	 * @param WPInv_Invoice $invoice
782
-	 * @param GetPaid_Form_Item[] $items
783
-	 * @return WPInv_Invoice
784
-	 */
785
-	public function process_addons( $invoice, $items ) {
779
+     * Processes invoice addons.
780
+     *
781
+     * @param WPInv_Invoice $invoice
782
+     * @param GetPaid_Form_Item[] $items
783
+     * @return WPInv_Invoice
784
+     */
785
+    public function process_addons( $invoice, $items ) {
786 786
 
787 787
         global $getpaid_authorize_addons;
788 788
 
@@ -801,7 +801,7 @@  discard block
 block discarded – undo
801 801
         $invoice->recalculate_total();
802 802
 
803 803
         $payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
804
-		$customer_profile   = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
804
+        $customer_profile   = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
805 805
 
806 806
         add_filter( 'getpaid_authorizenet_charge_customer_payment_profile_args', array( $this, 'filter_addons_request' ), 10, 2 );
807 807
         $result = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice );
@@ -816,11 +816,11 @@  discard block
 block discarded – undo
816 816
     }
817 817
 
818 818
     /**
819
-	 * Processes invoice addons.
820
-	 *
819
+     * Processes invoice addons.
820
+     *
821 821
      * @param array $args
822
-	 * @return array
823
-	 */
822
+     * @return array
823
+     */
824 824
     public function filter_addons_request( $args ) {
825 825
 
826 826
         global $getpaid_authorize_addons;
@@ -854,11 +854,11 @@  discard block
 block discarded – undo
854 854
     }
855 855
 
856 856
     /**
857
-	 * Filters the gateway settings.
858
-	 *
859
-	 * @param array $admin_settings
860
-	 */
861
-	public function admin_settings( $admin_settings ) {
857
+     * Filters the gateway settings.
858
+     *
859
+     * @param array $admin_settings
860
+     */
861
+    public function admin_settings( $admin_settings ) {
862 862
 
863 863
         $currencies = sprintf(
864 864
             __( 'Supported Currencies: %s', 'invoicing' ),
@@ -898,7 +898,7 @@  discard block
 block discarded – undo
898 898
             'readonly' => true,
899 899
         );
900 900
 
901
-		return $admin_settings;
902
-	}
901
+        return $admin_settings;
902
+    }
903 903
 
904 904
 }
Please login to merge, or discard this patch.
Spacing   +206 added lines, -206 removed lines patch added patch discarded remove patch
@@ -4,7 +4,7 @@  discard block
 block discarded – undo
4 4
  *
5 5
  */
6 6
 
7
-defined( 'ABSPATH' ) || exit;
7
+defined('ABSPATH') || exit;
8 8
 
9 9
 /**
10 10
  * Authorize.net Payment Gateway class.
@@ -61,7 +61,7 @@  discard block
 block discarded – undo
61 61
 	 *
62 62
 	 * @var array
63 63
 	 */
64
-	public $currencies = array( 'USD', 'CAD', 'GBP', 'DKK', 'NOK', 'PLN', 'SEK', 'AUD', 'EUR', 'NZD' );
64
+	public $currencies = array('USD', 'CAD', 'GBP', 'DKK', 'NOK', 'PLN', 'SEK', 'AUD', 'EUR', 'NZD');
65 65
 
66 66
     /**
67 67
 	 * URL to view a transaction.
@@ -75,12 +75,12 @@  discard block
 block discarded – undo
75 75
 	 */
76 76
 	public function __construct() {
77 77
 
78
-        $this->title                = __( 'Credit Card / Debit Card', 'invoicing' );
79
-        $this->method_title         = __( 'Authorize.Net', 'invoicing' );
80
-        $this->notify_url           = getpaid_get_non_query_string_ipn_url( $this->id );
78
+        $this->title                = __('Credit Card / Debit Card', 'invoicing');
79
+        $this->method_title         = __('Authorize.Net', 'invoicing');
80
+        $this->notify_url           = getpaid_get_non_query_string_ipn_url($this->id);
81 81
 
82
-        add_action( 'getpaid_should_renew_subscription', array( $this, 'maybe_renew_subscription' ) );
83
-        add_filter( 'getpaid_authorizenet_sandbox_notice', array( $this, 'sandbox_notice' ) );
82
+        add_action('getpaid_should_renew_subscription', array($this, 'maybe_renew_subscription'));
83
+        add_filter('getpaid_authorizenet_sandbox_notice', array($this, 'sandbox_notice'));
84 84
         parent::__construct();
85 85
     }
86 86
 
@@ -90,13 +90,13 @@  discard block
 block discarded – undo
90 90
 	 * @param int $invoice_id 0 or invoice id.
91 91
 	 * @param GetPaid_Payment_Form $form Current payment form.
92 92
 	 */
93
-    public function payment_fields( $invoice_id, $form ) {
93
+    public function payment_fields($invoice_id, $form) {
94 94
 
95 95
         // Let the user select a payment method.
96 96
         $this->saved_payment_methods();
97 97
 
98 98
         // Show the credit card entry form.
99
-        $this->new_payment_method_entry( $this->get_cc_form( true ) );
99
+        $this->new_payment_method_entry($this->get_cc_form(true));
100 100
     }
101 101
 
102 102
     /**
@@ -109,79 +109,79 @@  discard block
 block discarded – undo
109 109
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-profile
110 110
 	 * @return string|WP_Error Payment profile id.
111 111
 	 */
112
-	public function create_customer_profile( $invoice, $submission_data, $save = true ) {
112
+	public function create_customer_profile($invoice, $submission_data, $save = true) {
113 113
 
114 114
         // Remove non-digits from the number
115
-        $submission_data['authorizenet']['cc_number'] = preg_replace( '/\D/', '', $submission_data['authorizenet']['cc_number'] );
115
+        $submission_data['authorizenet']['cc_number'] = preg_replace('/\D/', '', $submission_data['authorizenet']['cc_number']);
116 116
 
117 117
         // Generate args.
118 118
         $args = array(
119 119
             'createCustomerProfileRequest' => array(
120 120
                 'merchantAuthentication' => $this->get_auth_params(),
121 121
                 'profile'                => array(
122
-                    'merchantCustomerId' => getpaid_limit_length( $invoice->get_user_id(), 20 ),
123
-                    'description'        => getpaid_limit_length( $invoice->get_full_name(), 255 ),
124
-                    'email'              => getpaid_limit_length( $invoice->get_email(), 255 ),
122
+                    'merchantCustomerId' => getpaid_limit_length($invoice->get_user_id(), 20),
123
+                    'description'        => getpaid_limit_length($invoice->get_full_name(), 255),
124
+                    'email'              => getpaid_limit_length($invoice->get_email(), 255),
125 125
                     'paymentProfiles'    => array(
126 126
                         'customerType' => 'individual',
127 127
 
128 128
                         // Billing information.
129 129
                         'billTo'       => array(
130
-                            'firstName' => getpaid_limit_length( $invoice->get_first_name(), 50 ),
131
-                            'lastName'  => getpaid_limit_length( $invoice->get_last_name(), 50 ),
132
-                            'address'   => getpaid_limit_length( $invoice->get_address(), 60 ),
133
-                            'city'      => getpaid_limit_length( $invoice->get_city(), 40 ),
134
-                            'state'     => getpaid_limit_length( $invoice->get_state(), 40 ),
135
-                            'zip'       => getpaid_limit_length( $invoice->get_zip(), 20 ),
136
-                            'country'   => getpaid_limit_length( $invoice->get_country(), 60 ),
130
+                            'firstName' => getpaid_limit_length($invoice->get_first_name(), 50),
131
+                            'lastName'  => getpaid_limit_length($invoice->get_last_name(), 50),
132
+                            'address'   => getpaid_limit_length($invoice->get_address(), 60),
133
+                            'city'      => getpaid_limit_length($invoice->get_city(), 40),
134
+                            'state'     => getpaid_limit_length($invoice->get_state(), 40),
135
+                            'zip'       => getpaid_limit_length($invoice->get_zip(), 20),
136
+                            'country'   => getpaid_limit_length($invoice->get_country(), 60),
137 137
                         ),
138 138
 
139 139
                         // Payment information.
140
-                        'payment'      => $this->get_payment_information( $submission_data['authorizenet'] ),
140
+                        'payment'      => $this->get_payment_information($submission_data['authorizenet']),
141 141
                     ),
142 142
                 ),
143
-                'validationMode'         => $this->is_sandbox( $invoice ) ? 'testMode' : 'liveMode',
143
+                'validationMode'         => $this->is_sandbox($invoice) ? 'testMode' : 'liveMode',
144 144
             ),
145 145
         );
146 146
 
147
-        $response = $this->post( apply_filters( 'getpaid_authorizenet_customer_profile_args', $args, $invoice ), $invoice );
147
+        $response = $this->post(apply_filters('getpaid_authorizenet_customer_profile_args', $args, $invoice), $invoice);
148 148
 
149
-        if ( is_wp_error( $response ) ) {
149
+        if (is_wp_error($response)) {
150 150
 
151 151
             // In case the payment profile already exists remotely.
152
-            if ( 'dup_payment_profile' === $response->get_error_code() ) {
153
-                $customer_profile_id = strtok( $response->get_error_message(), '.' );
154
-                update_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), $customer_profile_id );
155
-                return strtok( '.' );
152
+            if ('dup_payment_profile' === $response->get_error_code()) {
153
+                $customer_profile_id = strtok($response->get_error_message(), '.');
154
+                update_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), $customer_profile_id);
155
+                return strtok('.');
156 156
             }
157 157
 
158 158
             // In case the customer profile already exists remotely.
159
-            if ( 'E00039' === $response->get_error_code() ) {
160
-                $customer_profile_id = str_replace( 'A duplicate record with ID ', '', $response->get_error_message() );
161
-                $customer_profile_id = str_replace( ' already exists.', '', $customer_profile_id );
162
-                return $this->create_customer_payment_profile( trim( $customer_profile_id ), $invoice, $submission_data, $save );
159
+            if ('E00039' === $response->get_error_code()) {
160
+                $customer_profile_id = str_replace('A duplicate record with ID ', '', $response->get_error_message());
161
+                $customer_profile_id = str_replace(' already exists.', '', $customer_profile_id);
162
+                return $this->create_customer_payment_profile(trim($customer_profile_id), $invoice, $submission_data, $save);
163 163
             }
164 164
 
165 165
             return $response;
166 166
         }
167 167
 
168
-        update_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), $response->customerProfileId );
168
+        update_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), $response->customerProfileId);
169 169
 
170 170
         // Save the payment token.
171
-        if ( $save ) {
171
+        if ($save) {
172 172
             $this->save_token(
173 173
                 array(
174 174
                     'id'      => $response->customerPaymentProfileIdList[0],
175
-                    'name'    => getpaid_get_card_name( $submission_data['authorizenet']['cc_number'] ) . '&middot;&middot;&middot;&middot;' . substr( $submission_data['authorizenet']['cc_number'], -4 ),
175
+                    'name'    => getpaid_get_card_name($submission_data['authorizenet']['cc_number']) . '&middot;&middot;&middot;&middot;' . substr($submission_data['authorizenet']['cc_number'], -4),
176 176
                     'default' => true,
177
-                    'type'    => $this->is_sandbox( $invoice ) ? 'sandbox' : 'live',
177
+                    'type'    => $this->is_sandbox($invoice) ? 'sandbox' : 'live',
178 178
                 )
179 179
             );
180 180
         }
181 181
 
182 182
         // Add a note about the validation response.
183 183
         $invoice->add_note(
184
-            sprintf( __( 'Created Authorize.NET customer profile: %s', 'invoicing' ), $response->validationDirectResponseList[0] ),
184
+            sprintf(__('Created Authorize.NET customer profile: %s', 'invoicing'), $response->validationDirectResponseList[0]),
185 185
             false,
186 186
             false,
187 187
             true
@@ -198,7 +198,7 @@  discard block
 block discarded – undo
198 198
 	 * @return string|WP_Error Profile id.
199 199
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-profile
200 200
 	 */
201
-	public function get_customer_profile( $profile_id ) {
201
+	public function get_customer_profile($profile_id) {
202 202
 
203 203
         // Generate args.
204 204
         $args = array(
@@ -208,7 +208,7 @@  discard block
 block discarded – undo
208 208
             ),
209 209
         );
210 210
 
211
-        return $this->post( $args, false );
211
+        return $this->post($args, false);
212 212
 
213 213
     }
214 214
 
@@ -223,18 +223,18 @@  discard block
 block discarded – undo
223 223
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-profile
224 224
 	 * @return string|WP_Error Profile id.
225 225
 	 */
226
-	public function create_customer_payment_profile( $customer_profile, $invoice, $submission_data, $save ) {
226
+	public function create_customer_payment_profile($customer_profile, $invoice, $submission_data, $save) {
227 227
 
228 228
         // Remove non-digits from the number
229
-        $submission_data['authorizenet']['cc_number'] = preg_replace( '/\D/', '', $submission_data['authorizenet']['cc_number'] );
229
+        $submission_data['authorizenet']['cc_number'] = preg_replace('/\D/', '', $submission_data['authorizenet']['cc_number']);
230 230
 
231 231
         // Prepare card details.
232
-        $payment_information                          = $this->get_payment_information( $submission_data['authorizenet'] );
232
+        $payment_information                          = $this->get_payment_information($submission_data['authorizenet']);
233 233
 
234 234
         // Authorize.NET does not support saving the same card twice.
235
-        $cached_information                           = $this->retrieve_payment_profile_from_cache( $payment_information, $customer_profile, $invoice );
235
+        $cached_information                           = $this->retrieve_payment_profile_from_cache($payment_information, $customer_profile, $invoice);
236 236
 
237
-        if ( $cached_information ) {
237
+        if ($cached_information) {
238 238
             return $cached_information;
239 239
         }
240 240
 
@@ -247,34 +247,34 @@  discard block
 block discarded – undo
247 247
 
248 248
                     // Billing information.
249 249
                     'billTo'  => array(
250
-                        'firstName' => getpaid_limit_length( $invoice->get_first_name(), 50 ),
251
-                        'lastName'  => getpaid_limit_length( $invoice->get_last_name(), 50 ),
252
-                        'address'   => getpaid_limit_length( $invoice->get_address(), 60 ),
253
-                        'city'      => getpaid_limit_length( $invoice->get_city(), 40 ),
254
-                        'state'     => getpaid_limit_length( $invoice->get_state(), 40 ),
255
-                        'zip'       => getpaid_limit_length( $invoice->get_zip(), 20 ),
256
-                        'country'   => getpaid_limit_length( $invoice->get_country(), 60 ),
250
+                        'firstName' => getpaid_limit_length($invoice->get_first_name(), 50),
251
+                        'lastName'  => getpaid_limit_length($invoice->get_last_name(), 50),
252
+                        'address'   => getpaid_limit_length($invoice->get_address(), 60),
253
+                        'city'      => getpaid_limit_length($invoice->get_city(), 40),
254
+                        'state'     => getpaid_limit_length($invoice->get_state(), 40),
255
+                        'zip'       => getpaid_limit_length($invoice->get_zip(), 20),
256
+                        'country'   => getpaid_limit_length($invoice->get_country(), 60),
257 257
                     ),
258 258
 
259 259
                     // Payment information.
260 260
                     'payment' => $payment_information,
261 261
                 ),
262
-                'validationMode'         => $this->is_sandbox( $invoice ) ? 'testMode' : 'liveMode',
262
+                'validationMode'         => $this->is_sandbox($invoice) ? 'testMode' : 'liveMode',
263 263
             ),
264 264
         );
265 265
 
266
-        $response = $this->post( apply_filters( 'getpaid_authorizenet_create_customer_payment_profile_args', $args, $invoice ), $invoice );
266
+        $response = $this->post(apply_filters('getpaid_authorizenet_create_customer_payment_profile_args', $args, $invoice), $invoice);
267 267
 
268
-        if ( is_wp_error( $response ) ) {
268
+        if (is_wp_error($response)) {
269 269
 
270 270
             // In case the payment profile already exists remotely.
271
-            if ( 'dup_payment_profile' == $response->get_error_code() ) {
272
-                $customer_profile_id = strtok( $response->get_error_message(), '.' );
273
-                $payment_profile_id  = strtok( '.' );
274
-                update_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), $customer_profile_id );
271
+            if ('dup_payment_profile' == $response->get_error_code()) {
272
+                $customer_profile_id = strtok($response->get_error_message(), '.');
273
+                $payment_profile_id  = strtok('.');
274
+                update_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), $customer_profile_id);
275 275
 
276 276
                 // Cache payment profile id.
277
-                $this->add_payment_profile_to_cache( $payment_information, $payment_profile_id );
277
+                $this->add_payment_profile_to_cache($payment_information, $payment_profile_id);
278 278
 
279 279
                 return $payment_profile_id;
280 280
             }
@@ -283,29 +283,29 @@  discard block
 block discarded – undo
283 283
         }
284 284
 
285 285
         // Save the payment token.
286
-        if ( $save ) {
286
+        if ($save) {
287 287
             $this->save_token(
288 288
                 array(
289 289
                     'id'      => $response->customerPaymentProfileId,
290
-                    'name'    => getpaid_get_card_name( $submission_data['authorizenet']['cc_number'] ) . ' &middot;&middot;&middot;&middot; ' . substr( $submission_data['authorizenet']['cc_number'], -4 ),
290
+                    'name'    => getpaid_get_card_name($submission_data['authorizenet']['cc_number']) . ' &middot;&middot;&middot;&middot; ' . substr($submission_data['authorizenet']['cc_number'], -4),
291 291
                     'default' => true,
292
-                    'type'    => $this->is_sandbox( $invoice ) ? 'sandbox' : 'live',
292
+                    'type'    => $this->is_sandbox($invoice) ? 'sandbox' : 'live',
293 293
                 )
294 294
             );
295 295
         }
296 296
 
297 297
         // Cache payment profile id.
298
-        $this->add_payment_profile_to_cache( $payment_information, $response->customerPaymentProfileId );
298
+        $this->add_payment_profile_to_cache($payment_information, $response->customerPaymentProfileId);
299 299
 
300 300
         // Add a note about the validation response.
301 301
         $invoice->add_note(
302
-            sprintf( __( 'Saved Authorize.NET payment profile: %s', 'invoicing' ), $response->validationDirectResponse ),
302
+            sprintf(__('Saved Authorize.NET payment profile: %s', 'invoicing'), $response->validationDirectResponse),
303 303
             false,
304 304
             false,
305 305
             true
306 306
         );
307 307
 
308
-        update_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), $customer_profile );
308
+        update_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), $customer_profile);
309 309
 
310 310
         return $response->customerPaymentProfileId;
311 311
     }
@@ -317,12 +317,12 @@  discard block
 block discarded – undo
317 317
      * @param array $payment_details.
318 318
 	 * @return array|false Profile id.
319 319
 	 */
320
-	public function retrieve_payment_profile_from_cache( $payment_details, $customer_profile, $invoice ) {
320
+	public function retrieve_payment_profile_from_cache($payment_details, $customer_profile, $invoice) {
321 321
 
322
-        $cached_information = get_option( 'getpaid_authorize_net_cached_profiles', array() );
323
-        $payment_details    = hash_hmac( 'sha256', json_encode( $payment_details ), SECURE_AUTH_KEY );
322
+        $cached_information = get_option('getpaid_authorize_net_cached_profiles', array());
323
+        $payment_details    = hash_hmac('sha256', json_encode($payment_details), SECURE_AUTH_KEY);
324 324
 
325
-        if ( ! is_array( $cached_information ) || ! array_key_exists( $payment_details, $cached_information ) ) {
325
+        if (!is_array($cached_information) || !array_key_exists($payment_details, $cached_information)) {
326 326
             return false;
327 327
         }
328 328
 
@@ -331,13 +331,13 @@  discard block
 block discarded – undo
331 331
             'getCustomerPaymentProfileRequest' => array(
332 332
                 'merchantAuthentication'   => $this->get_auth_params(),
333 333
                 'customerProfileId'        => $customer_profile,
334
-                'customerPaymentProfileId' => $cached_information[ $payment_details ],
334
+                'customerPaymentProfileId' => $cached_information[$payment_details],
335 335
             ),
336 336
         );
337 337
 
338
-        $response = $this->post( $args, $invoice );
338
+        $response = $this->post($args, $invoice);
339 339
 
340
-        return is_wp_error( $response ) ? false : $cached_information[ $payment_details ];
340
+        return is_wp_error($response) ? false : $cached_information[$payment_details];
341 341
 
342 342
     }
343 343
 
@@ -348,14 +348,14 @@  discard block
 block discarded – undo
348 348
      * @param array $payment_details.
349 349
      * @param string $payment_profile_id.
350 350
 	 */
351
-	public function add_payment_profile_to_cache( $payment_details, $payment_profile_id ) {
351
+	public function add_payment_profile_to_cache($payment_details, $payment_profile_id) {
352 352
 
353
-        $cached_information = get_option( 'getpaid_authorize_net_cached_profiles', array() );
354
-        $cached_information = is_array( $cached_information ) ? $cached_information : array();
355
-        $payment_details    = hash_hmac( 'sha256', json_encode( $payment_details ), SECURE_AUTH_KEY );
353
+        $cached_information = get_option('getpaid_authorize_net_cached_profiles', array());
354
+        $cached_information = is_array($cached_information) ? $cached_information : array();
355
+        $payment_details    = hash_hmac('sha256', json_encode($payment_details), SECURE_AUTH_KEY);
356 356
 
357
-        $cached_information[ $payment_details ] = $payment_profile_id;
358
-        update_option( 'getpaid_authorize_net_cached_profiles', $cached_information );
357
+        $cached_information[$payment_details] = $payment_profile_id;
358
+        update_option('getpaid_authorize_net_cached_profiles', $cached_information);
359 359
 
360 360
     }
361 361
 
@@ -368,7 +368,7 @@  discard block
 block discarded – undo
368 368
 	 * @return string|WP_Error Profile id.
369 369
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-payment-profile
370 370
 	 */
371
-	public function get_customer_payment_profile( $customer_profile_id, $payment_profile_id ) {
371
+	public function get_customer_payment_profile($customer_profile_id, $payment_profile_id) {
372 372
 
373 373
         // Generate args.
374 374
         $args = array(
@@ -379,7 +379,7 @@  discard block
 block discarded – undo
379 379
             ),
380 380
         );
381 381
 
382
-        return $this->post( $args, false );
382
+        return $this->post($args, false);
383 383
 
384 384
     }
385 385
 
@@ -392,7 +392,7 @@  discard block
 block discarded – undo
392 392
      * @link https://developer.authorize.net/api/reference/index.html#payment-transactions-charge-a-customer-profile
393 393
 	 * @return WP_Error|object
394 394
 	 */
395
-	public function charge_customer_payment_profile( $customer_profile_id, $payment_profile_id, $invoice ) {
395
+	public function charge_customer_payment_profile($customer_profile_id, $payment_profile_id, $invoice) {
396 396
 
397 397
         // Generate args.
398 398
         $args = array(
@@ -412,28 +412,28 @@  discard block
 block discarded – undo
412 412
                         ),
413 413
                     ),
414 414
                     'order'           => array(
415
-                        'invoiceNumber' => getpaid_limit_length( $invoice->get_number(), 20 ),
415
+                        'invoiceNumber' => getpaid_limit_length($invoice->get_number(), 20),
416 416
                     ),
417
-                    'lineItems'       => array( 'lineItem' => $this->get_line_items( $invoice ) ),
417
+                    'lineItems'       => array('lineItem' => $this->get_line_items($invoice)),
418 418
                     'tax'             => array(
419 419
                         'amount' => $invoice->get_total_tax(),
420
-                        'name'   => __( 'TAX', 'invoicing' ),
420
+                        'name'   => __('TAX', 'invoicing'),
421 421
                     ),
422
-                    'poNumber'        => getpaid_limit_length( $invoice->get_number(), 25 ),
422
+                    'poNumber'        => getpaid_limit_length($invoice->get_number(), 25),
423 423
                     'customer'        => array(
424
-                        'id'    => getpaid_limit_length( $invoice->get_user_id(), 25 ),
425
-                        'email' => getpaid_limit_length( $invoice->get_email(), 25 ),
424
+                        'id'    => getpaid_limit_length($invoice->get_user_id(), 25),
425
+                        'email' => getpaid_limit_length($invoice->get_email(), 25),
426 426
                     ),
427 427
                     'customerIP'      => $invoice->get_ip(),
428 428
                 ),
429 429
             ),
430 430
         );
431 431
 
432
-        if ( 0 == $invoice->get_total_tax() ) {
433
-            unset( $args['createTransactionRequest']['transactionRequest']['tax'] );
432
+        if (0 == $invoice->get_total_tax()) {
433
+            unset($args['createTransactionRequest']['transactionRequest']['tax']);
434 434
         }
435 435
 
436
-        return $this->post( apply_filters( 'getpaid_authorizenet_charge_customer_payment_profile_args', $args, $invoice ), $invoice );
436
+        return $this->post(apply_filters('getpaid_authorizenet_charge_customer_payment_profile_args', $args, $invoice), $invoice);
437 437
 
438 438
     }
439 439
 
@@ -443,31 +443,31 @@  discard block
 block discarded – undo
443 443
      * @param stdClass $result Api response.
444 444
 	 * @param WPInv_Invoice $invoice Invoice.
445 445
 	 */
446
-	public function process_charge_response( $result, $invoice ) {
446
+	public function process_charge_response($result, $invoice) {
447 447
 
448 448
         wpinv_clear_errors();
449 449
 		$response_code = (int) $result->transactionResponse->responseCode;
450 450
 
451
-        $invoice->add_note( 'Transaction Response: ' . print_r( $result->transactionResponse, true ), false, false, true );
451
+        $invoice->add_note('Transaction Response: ' . print_r($result->transactionResponse, true), false, false, true);
452 452
 
453 453
 		// Succeeded.
454
-		if ( 1 == $response_code || 4 == $response_code ) {
454
+		if (1 == $response_code || 4 == $response_code) {
455 455
 
456 456
 			// Maybe set a transaction id.
457
-			if ( ! empty( $result->transactionResponse->transId ) ) {
458
-				$invoice->set_transaction_id( $result->transactionResponse->transId );
457
+			if (!empty($result->transactionResponse->transId)) {
458
+				$invoice->set_transaction_id($result->transactionResponse->transId);
459 459
 			}
460 460
 
461
-			$invoice->add_note( sprintf( __( 'Authentication code: %1$s (%2$s).', 'invoicing' ), $result->transactionResponse->authCode, $result->transactionResponse->accountNumber ), false, false, true );
461
+			$invoice->add_note(sprintf(__('Authentication code: %1$s (%2$s).', 'invoicing'), $result->transactionResponse->authCode, $result->transactionResponse->accountNumber), false, false, true);
462 462
 
463
-			if ( 1 == $response_code ) {
463
+			if (1 == $response_code) {
464 464
 				return $invoice->mark_paid();
465 465
 			}
466 466
 
467
-			$invoice->set_status( 'wpi-onhold' );
467
+			$invoice->set_status('wpi-onhold');
468 468
         	$invoice->add_note(
469 469
                 sprintf(
470
-                    __( 'Held for review: %s', 'invoicing' ),
470
+                    __('Held for review: %s', 'invoicing'),
471 471
                     $result->transactionResponse->messages->message[0]->description
472 472
                 )
473 473
 			);
@@ -476,11 +476,11 @@  discard block
 block discarded – undo
476 476
 
477 477
 		}
478 478
 
479
-        wpinv_set_error( 'card_declined' );
479
+        wpinv_set_error('card_declined');
480 480
 
481
-        if ( ! empty( $result->transactionResponse->errors ) ) {
481
+        if (!empty($result->transactionResponse->errors)) {
482 482
             $errors = (object) $result->transactionResponse->errors;
483
-            wpinv_set_error( $errors->error[0]->errorCode, esc_html( $errors->error[0]->errorText ) );
483
+            wpinv_set_error($errors->error[0]->errorCode, esc_html($errors->error[0]->errorText));
484 484
         }
485 485
 
486 486
     }
@@ -492,7 +492,7 @@  discard block
 block discarded – undo
492 492
 	 * @param array $card Card details.
493 493
 	 * @return array
494 494
 	 */
495
-	public function get_payment_information( $card ) {
495
+	public function get_payment_information($card) {
496 496
         return array(
497 497
 
498 498
             'creditCard' => array(
@@ -511,8 +511,8 @@  discard block
 block discarded – undo
511 511
 	 * @param WPInv_Invoice $invoice Invoice.
512 512
 	 * @return string
513 513
 	 */
514
-	public function get_customer_profile_meta_name( $invoice ) {
515
-        return $this->is_sandbox( $invoice ) ? 'getpaid_authorizenet_sandbox_customer_profile_id' : 'getpaid_authorizenet_customer_profile_id';
514
+	public function get_customer_profile_meta_name($invoice) {
515
+        return $this->is_sandbox($invoice) ? 'getpaid_authorizenet_sandbox_customer_profile_id' : 'getpaid_authorizenet_customer_profile_id';
516 516
     }
517 517
 
518 518
     /**
@@ -523,34 +523,34 @@  discard block
 block discarded – undo
523 523
      * @param WPInv_Invoice $invoice
524 524
 	 * @return WP_Error|string The payment profile id
525 525
 	 */
526
-	public function validate_submission_data( $submission_data, $invoice ) {
526
+	public function validate_submission_data($submission_data, $invoice) {
527 527
 
528 528
         // Validate authentication details.
529 529
         $auth = $this->get_auth_params();
530 530
 
531
-        if ( empty( $auth['name'] ) || empty( $auth['transactionKey'] ) ) {
532
-            return new WP_Error( 'invalid_settings', __( 'Please set-up your login id and transaction key before using this gateway.', 'invoicing' ) );
531
+        if (empty($auth['name']) || empty($auth['transactionKey'])) {
532
+            return new WP_Error('invalid_settings', __('Please set-up your login id and transaction key before using this gateway.', 'invoicing'));
533 533
         }
534 534
 
535 535
         // Validate the payment method.
536
-        if ( empty( $submission_data['getpaid-authorizenet-payment-method'] ) ) {
537
-            return new WP_Error( 'invalid_payment_method', __( 'Please select a different payment method or add a new card.', 'invoicing' ) );
536
+        if (empty($submission_data['getpaid-authorizenet-payment-method'])) {
537
+            return new WP_Error('invalid_payment_method', __('Please select a different payment method or add a new card.', 'invoicing'));
538 538
         }
539 539
 
540 540
         // Are we adding a new payment method?
541
-        if ( 'new' != $submission_data['getpaid-authorizenet-payment-method'] ) {
541
+        if ('new' != $submission_data['getpaid-authorizenet-payment-method']) {
542 542
             return $submission_data['getpaid-authorizenet-payment-method'];
543 543
         }
544 544
 
545 545
         // Retrieve the customer profile id.
546
-        $profile_id = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
546
+        $profile_id = get_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), true);
547 547
 
548 548
         // Create payment method.
549
-        if ( empty( $profile_id ) ) {
550
-            return $this->create_customer_profile( $invoice, $submission_data, ! empty( $submission_data['getpaid-authorizenet-new-payment-method'] ) );
549
+        if (empty($profile_id)) {
550
+            return $this->create_customer_profile($invoice, $submission_data, !empty($submission_data['getpaid-authorizenet-new-payment-method']));
551 551
         }
552 552
 
553
-        return $this->create_customer_payment_profile( $profile_id, $invoice, $submission_data, ! empty( $submission_data['getpaid-authorizenet-new-payment-method'] ) );
553
+        return $this->create_customer_payment_profile($profile_id, $invoice, $submission_data, !empty($submission_data['getpaid-authorizenet-new-payment-method']));
554 554
 
555 555
     }
556 556
 
@@ -561,32 +561,32 @@  discard block
 block discarded – undo
561 561
 	 * @param WPInv_Invoice $invoice Invoice.
562 562
 	 * @return array
563 563
 	 */
564
-	public function get_line_items( $invoice ) {
564
+	public function get_line_items($invoice) {
565 565
         $items = array();
566 566
 
567
-        foreach ( $invoice->get_items() as $item ) {
567
+        foreach ($invoice->get_items() as $item) {
568 568
 
569 569
             $amount  = $invoice->is_renewal() ? $item->get_price() : $item->get_initial_price();
570 570
             $items[] = array(
571
-                'itemId'      => getpaid_limit_length( $item->get_id(), 31 ),
572
-                'name'        => getpaid_limit_length( $item->get_raw_name(), 31 ),
573
-                'description' => getpaid_limit_length( $item->get_description(), 255 ),
574
-                'quantity'    => (string) ( $invoice->get_template() == 'amount' ? 1 : $item->get_quantity() ),
571
+                'itemId'      => getpaid_limit_length($item->get_id(), 31),
572
+                'name'        => getpaid_limit_length($item->get_raw_name(), 31),
573
+                'description' => getpaid_limit_length($item->get_description(), 255),
574
+                'quantity'    => (string) ($invoice->get_template() == 'amount' ? 1 : $item->get_quantity()),
575 575
                 'unitPrice'   => (float) $amount,
576 576
                 'taxable'     => wpinv_use_taxes() && $invoice->is_taxable() && 'tax-exempt' != $item->get_vat_rule(),
577 577
             );
578 578
 
579 579
         }
580 580
 
581
-        foreach ( $invoice->get_fees() as $fee_name => $fee ) {
581
+        foreach ($invoice->get_fees() as $fee_name => $fee) {
582 582
 
583
-            $amount  = $invoice->is_renewal() ? $fee['recurring_fee'] : $fee['initial_fee'];
583
+            $amount = $invoice->is_renewal() ? $fee['recurring_fee'] : $fee['initial_fee'];
584 584
 
585
-            if ( $amount > 0 ) {
585
+            if ($amount > 0) {
586 586
                 $items[] = array(
587
-                    'itemId'      => getpaid_limit_length( $fee_name, 31 ),
588
-                    'name'        => getpaid_limit_length( $fee_name, 31 ),
589
-                    'description' => getpaid_limit_length( $fee_name, 255 ),
587
+                    'itemId'      => getpaid_limit_length($fee_name, 31),
588
+                    'name'        => getpaid_limit_length($fee_name, 31),
589
+                    'description' => getpaid_limit_length($fee_name, 255),
590 590
                     'quantity'    => '1',
591 591
                     'unitPrice'   => (float) $amount,
592 592
                     'taxable'     => false,
@@ -606,36 +606,36 @@  discard block
 block discarded – undo
606 606
 	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
607 607
 	 * @return array
608 608
 	 */
609
-	public function process_payment( $invoice, $submission_data, $submission ) {
609
+	public function process_payment($invoice, $submission_data, $submission) {
610 610
 
611 611
         // Validate the submitted data.
612
-        $payment_profile_id = $this->validate_submission_data( $submission_data, $invoice );
612
+        $payment_profile_id = $this->validate_submission_data($submission_data, $invoice);
613 613
 
614 614
         // Do we have an error?
615
-        if ( is_wp_error( $payment_profile_id ) ) {
616
-            wpinv_set_error( $payment_profile_id->get_error_code(), $payment_profile_id->get_error_message() );
617
-            wpinv_send_back_to_checkout( $invoice );
615
+        if (is_wp_error($payment_profile_id)) {
616
+            wpinv_set_error($payment_profile_id->get_error_code(), $payment_profile_id->get_error_message());
617
+            wpinv_send_back_to_checkout($invoice);
618 618
         }
619 619
 
620 620
         // Save the payment method to the order.
621
-        update_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', $payment_profile_id );
621
+        update_post_meta($invoice->get_id(), 'getpaid_authorizenet_profile_id', $payment_profile_id);
622 622
 
623 623
         // Check if this is a subscription or not.
624
-        $subscriptions = getpaid_get_invoice_subscriptions( $invoice );
625
-        if ( ! empty( $subscriptions ) ) {
626
-            $this->process_subscription( $invoice, $subscriptions );
624
+        $subscriptions = getpaid_get_invoice_subscriptions($invoice);
625
+        if (!empty($subscriptions)) {
626
+            $this->process_subscription($invoice, $subscriptions);
627 627
         }
628 628
 
629 629
         // If it is free, send to the success page.
630
-        if ( ! $invoice->needs_payment() ) {
630
+        if (!$invoice->needs_payment()) {
631 631
             $invoice->mark_paid();
632
-            wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
632
+            wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key()));
633 633
         }
634 634
 
635 635
         // Charge the payment profile.
636
-        $this->process_initial_payment( $invoice );
636
+        $this->process_initial_payment($invoice);
637 637
 
638
-        wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
638
+        wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key()));
639 639
 
640 640
         exit;
641 641
 
@@ -646,23 +646,23 @@  discard block
 block discarded – undo
646 646
 	 *
647 647
      * @param WPInv_Invoice $invoice Invoice.
648 648
 	 */
649
-	protected function process_initial_payment( $invoice ) {
649
+	protected function process_initial_payment($invoice) {
650 650
 
651
-		$payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
652
-        $customer_profile   = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
653
-		$result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice );
651
+		$payment_profile_id = get_post_meta($invoice->get_id(), 'getpaid_authorizenet_profile_id', true);
652
+        $customer_profile = get_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), true);
653
+		$result             = $this->charge_customer_payment_profile($customer_profile, $payment_profile_id, $invoice);
654 654
 
655 655
 		// Do we have an error?
656
-		if ( is_wp_error( $result ) ) {
657
-			wpinv_set_error( $result->get_error_code(), $result->get_error_message() );
658
-			wpinv_send_back_to_checkout( $invoice );
656
+		if (is_wp_error($result)) {
657
+			wpinv_set_error($result->get_error_code(), $result->get_error_message());
658
+			wpinv_send_back_to_checkout($invoice);
659 659
 		}
660 660
 
661 661
 		// Process the response.
662
-		$this->process_charge_response( $result, $invoice );
662
+		$this->process_charge_response($result, $invoice);
663 663
 
664
-		if ( wpinv_get_errors() ) {
665
-			wpinv_send_back_to_checkout( $invoice );
664
+		if (wpinv_get_errors()) {
665
+			wpinv_send_back_to_checkout($invoice);
666 666
 		}
667 667
 
668 668
 	}
@@ -673,30 +673,30 @@  discard block
 block discarded – undo
673 673
      * @param WPInv_Invoice $invoice Invoice.
674 674
      * @param WPInv_Subscription[]|WPInv_Subscription $subscriptions Subscriptions.
675 675
 	 */
676
-	public function process_subscription( $invoice, $subscriptions ) {
676
+	public function process_subscription($invoice, $subscriptions) {
677 677
 
678 678
         // Check if there is an initial amount to charge.
679
-        if ( (float) $invoice->get_total() > 0 ) {
680
-			$this->process_initial_payment( $invoice );
679
+        if ((float) $invoice->get_total() > 0) {
680
+			$this->process_initial_payment($invoice);
681 681
         }
682 682
 
683 683
         // Activate the subscriptions.
684
-        $subscriptions = is_array( $subscriptions ) ? $subscriptions : array( $subscriptions );
684
+        $subscriptions = is_array($subscriptions) ? $subscriptions : array($subscriptions);
685 685
 
686
-        foreach ( $subscriptions as $subscription ) {
687
-            if ( $subscription->exists() ) {
688
-                $duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() );
689
-                $expiry   = date( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) );
686
+        foreach ($subscriptions as $subscription) {
687
+            if ($subscription->exists()) {
688
+                $duration = strtotime($subscription->get_expiration()) - strtotime($subscription->get_date_created());
689
+                $expiry   = date('Y-m-d H:i:s', (current_time('timestamp') + $duration));
690 690
 
691
-                $subscription->set_next_renewal_date( $expiry );
692
-                $subscription->set_date_created( current_time( 'mysql' ) );
693
-                $subscription->set_profile_id( $invoice->generate_key( 'authnet_sub_' . $invoice->get_id() . '_' . $subscription->get_id() ) );
691
+                $subscription->set_next_renewal_date($expiry);
692
+                $subscription->set_date_created(current_time('mysql'));
693
+                $subscription->set_profile_id($invoice->generate_key('authnet_sub_' . $invoice->get_id() . '_' . $subscription->get_id()));
694 694
                 $subscription->activate();
695 695
             }
696 696
         }
697 697
 
698 698
 		// Redirect to the success page.
699
-        wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
699
+        wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key()));
700 700
 
701 701
     }
702 702
 
@@ -706,11 +706,11 @@  discard block
 block discarded – undo
706 706
 	 *
707 707
      * @param WPInv_Subscription $subscription
708 708
 	 */
709
-	public function maybe_renew_subscription( $subscription ) {
709
+	public function maybe_renew_subscription($subscription) {
710 710
 
711 711
         // Ensure its our subscription && it's active.
712
-        if ( $this->id === $subscription->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
713
-            $this->renew_subscription( $subscription );
712
+        if ($this->id === $subscription->get_gateway() && $subscription->has_status('active trialling')) {
713
+            $this->renew_subscription($subscription);
714 714
         }
715 715
 
716 716
 	}
@@ -720,28 +720,28 @@  discard block
 block discarded – undo
720 720
 	 *
721 721
      * @param WPInv_Subscription $subscription
722 722
 	 */
723
-	public function renew_subscription( $subscription ) {
723
+	public function renew_subscription($subscription) {
724 724
 
725 725
 		// Generate the renewal invoice.
726 726
 		$new_invoice = $subscription->create_payment();
727 727
 		$old_invoice = $subscription->get_parent_payment();
728 728
 
729
-        if ( empty( $new_invoice ) ) {
730
-            $old_invoice->add_note( __( 'Error generating a renewal invoice.', 'invoicing' ), false, false, false );
729
+        if (empty($new_invoice)) {
730
+            $old_invoice->add_note(__('Error generating a renewal invoice.', 'invoicing'), false, false, false);
731 731
             $subscription->failing();
732 732
             return;
733 733
         }
734 734
 
735 735
         // Charge the payment method.
736
-		$payment_profile_id = get_post_meta( $old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
737
-		$customer_profile   = get_user_meta( $old_invoice->get_user_id(), $this->get_customer_profile_meta_name( $old_invoice ), true );
738
-		$result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $new_invoice );
736
+		$payment_profile_id = get_post_meta($old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true);
737
+		$customer_profile   = get_user_meta($old_invoice->get_user_id(), $this->get_customer_profile_meta_name($old_invoice), true);
738
+		$result             = $this->charge_customer_payment_profile($customer_profile, $payment_profile_id, $new_invoice);
739 739
 
740 740
 		// Do we have an error?
741
-		if ( is_wp_error( $result ) ) {
741
+		if (is_wp_error($result)) {
742 742
 
743 743
 			$old_invoice->add_note(
744
-				sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), $result->get_error_message() ),
744
+				sprintf(__('Error renewing subscription : ( %s ).', 'invoicing'), $result->get_error_message()),
745 745
 				true,
746 746
 				false,
747 747
 				true
@@ -752,12 +752,12 @@  discard block
 block discarded – undo
752 752
 		}
753 753
 
754 754
 		// Process the response.
755
-		$this->process_charge_response( $result, $new_invoice );
755
+		$this->process_charge_response($result, $new_invoice);
756 756
 
757
-		if ( wpinv_get_errors() ) {
757
+		if (wpinv_get_errors()) {
758 758
 
759 759
 			$old_invoice->add_note(
760
-				sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), getpaid_get_errors_html() ),
760
+				sprintf(__('Error renewing subscription : ( %s ).', 'invoicing'), getpaid_get_errors_html()),
761 761
 				true,
762 762
 				false,
763 763
 				true
@@ -767,9 +767,9 @@  discard block
 block discarded – undo
767 767
 
768 768
         }
769 769
 
770
-        if ( ! $new_invoice->needs_payment() ) {
770
+        if (!$new_invoice->needs_payment()) {
771 771
             $subscription->renew();
772
-            $subscription->after_add_payment( $new_invoice );
772
+            $subscription->after_add_payment($new_invoice);
773 773
         } else {
774 774
             $subscription->failing();
775 775
         }
@@ -782,33 +782,33 @@  discard block
 block discarded – undo
782 782
 	 * @param GetPaid_Form_Item[] $items
783 783
 	 * @return WPInv_Invoice
784 784
 	 */
785
-	public function process_addons( $invoice, $items ) {
785
+	public function process_addons($invoice, $items) {
786 786
 
787 787
         global $getpaid_authorize_addons;
788 788
 
789 789
         $getpaid_authorize_addons = array();
790
-        foreach ( $items as $item ) {
790
+        foreach ($items as $item) {
791 791
 
792
-            if ( is_null( $invoice->get_item( $item->get_id() ) ) && ! is_wp_error( $invoice->add_item( $item ) ) ) {
792
+            if (is_null($invoice->get_item($item->get_id())) && !is_wp_error($invoice->add_item($item))) {
793 793
                 $getpaid_authorize_addons[] = $item;
794 794
             }
795 795
 }
796 796
 
797
-        if ( empty( $getpaid_authorize_addons ) ) {
797
+        if (empty($getpaid_authorize_addons)) {
798 798
             return;
799 799
         }
800 800
 
801 801
         $invoice->recalculate_total();
802 802
 
803
-        $payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
804
-		$customer_profile   = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
803
+        $payment_profile_id = get_post_meta($invoice->get_id(), 'getpaid_authorizenet_profile_id', true);
804
+		$customer_profile = get_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), true);
805 805
 
806
-        add_filter( 'getpaid_authorizenet_charge_customer_payment_profile_args', array( $this, 'filter_addons_request' ), 10, 2 );
807
-        $result = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice );
808
-        remove_filter( 'getpaid_authorizenet_charge_customer_payment_profile_args', array( $this, 'filter_addons_request' ) );
806
+        add_filter('getpaid_authorizenet_charge_customer_payment_profile_args', array($this, 'filter_addons_request'), 10, 2);
807
+        $result = $this->charge_customer_payment_profile($customer_profile, $payment_profile_id, $invoice);
808
+        remove_filter('getpaid_authorizenet_charge_customer_payment_profile_args', array($this, 'filter_addons_request'));
809 809
 
810
-        if ( is_wp_error( $result ) ) {
811
-            wpinv_set_error( $result->get_error_code(), $result->get_error_message() );
810
+        if (is_wp_error($result)) {
811
+            wpinv_set_error($result->get_error_code(), $result->get_error_message());
812 812
             return;
813 813
         }
814 814
 
@@ -821,19 +821,19 @@  discard block
 block discarded – undo
821 821
      * @param array $args
822 822
 	 * @return array
823 823
 	 */
824
-    public function filter_addons_request( $args ) {
824
+    public function filter_addons_request($args) {
825 825
 
826 826
         global $getpaid_authorize_addons;
827 827
         $total = 0;
828 828
 
829
-        foreach ( $getpaid_authorize_addons as $addon ) {
829
+        foreach ($getpaid_authorize_addons as $addon) {
830 830
             $total += $addon->get_sub_total();
831 831
         }
832 832
 
833 833
         $args['createTransactionRequest']['transactionRequest']['amount'] = $total;
834 834
 
835
-        if ( isset( $args['createTransactionRequest']['transactionRequest']['tax'] ) ) {
836
-            unset( $args['createTransactionRequest']['transactionRequest']['tax'] );
835
+        if (isset($args['createTransactionRequest']['transactionRequest']['tax'])) {
836
+            unset($args['createTransactionRequest']['transactionRequest']['tax']);
837 837
         }
838 838
 
839 839
         return $args;
@@ -846,7 +846,7 @@  discard block
 block discarded – undo
846 846
     public function sandbox_notice() {
847 847
 
848 848
         return sprintf(
849
-            __( 'SANDBOX ENABLED. You can use sandbox testing details only. See the %1$sAuthorize.NET Sandbox Testing Guide%2$s for more details.', 'invoicing' ),
849
+            __('SANDBOX ENABLED. You can use sandbox testing details only. See the %1$sAuthorize.NET Sandbox Testing Guide%2$s for more details.', 'invoicing'),
850 850
             '<a href="https://developer.authorize.net/hello_world/testing_guide.html">',
851 851
             '</a>'
852 852
         );
@@ -858,42 +858,42 @@  discard block
 block discarded – undo
858 858
 	 *
859 859
 	 * @param array $admin_settings
860 860
 	 */
861
-	public function admin_settings( $admin_settings ) {
861
+	public function admin_settings($admin_settings) {
862 862
 
863 863
         $currencies = sprintf(
864
-            __( 'Supported Currencies: %s', 'invoicing' ),
865
-            implode( ', ', $this->currencies )
864
+            __('Supported Currencies: %s', 'invoicing'),
865
+            implode(', ', $this->currencies)
866 866
         );
867 867
 
868 868
         $admin_settings['authorizenet_active']['desc'] .= " ($currencies)";
869
-        $admin_settings['authorizenet_desc']['std']     = __( 'Pay securely using your credit or debit card.', 'invoicing' );
869
+        $admin_settings['authorizenet_desc']['std']     = __('Pay securely using your credit or debit card.', 'invoicing');
870 870
 
871 871
         $admin_settings['authorizenet_login_id'] = array(
872 872
             'type' => 'text',
873 873
             'id'   => 'authorizenet_login_id',
874
-            'name' => __( 'API Login ID', 'invoicing' ),
875
-            'desc' => '<a href="https://support.authorize.net/s/article/How-do-I-obtain-my-API-Login-ID-and-Transaction-Key"><em>' . __( 'How do I obtain my API Login ID and Transaction Key?', 'invoicing' ) . '</em></a>',
874
+            'name' => __('API Login ID', 'invoicing'),
875
+            'desc' => '<a href="https://support.authorize.net/s/article/How-do-I-obtain-my-API-Login-ID-and-Transaction-Key"><em>' . __('How do I obtain my API Login ID and Transaction Key?', 'invoicing') . '</em></a>',
876 876
         );
877 877
 
878 878
         $admin_settings['authorizenet_transaction_key'] = array(
879 879
             'type' => 'text',
880 880
             'id'   => 'authorizenet_transaction_key',
881
-            'name' => __( 'Transaction Key', 'invoicing' ),
881
+            'name' => __('Transaction Key', 'invoicing'),
882 882
         );
883 883
 
884 884
         $admin_settings['authorizenet_signature_key'] = array(
885 885
             'type' => 'text',
886 886
             'id'   => 'authorizenet_signature_key',
887
-            'name' => __( 'Signature Key', 'invoicing' ),
888
-            'desc' => '<a href="https://support.authorize.net/s/article/What-is-a-Signature-Key"><em>' . __( 'Learn more.', 'invoicing' ) . '</em></a>',
887
+            'name' => __('Signature Key', 'invoicing'),
888
+            'desc' => '<a href="https://support.authorize.net/s/article/What-is-a-Signature-Key"><em>' . __('Learn more.', 'invoicing') . '</em></a>',
889 889
         );
890 890
 
891 891
         $admin_settings['authorizenet_ipn_url'] = array(
892 892
             'type'     => 'ipn_url',
893 893
             'id'       => 'authorizenet_ipn_url',
894
-            'name'     => __( 'Webhook URL', 'invoicing' ),
894
+            'name'     => __('Webhook URL', 'invoicing'),
895 895
             'std'      => $this->notify_url,
896
-            'desc'     => __( 'Create a new webhook using this URL as the endpoint URL and set it to receive all payment events.', 'invoicing' ) . ' <a href="https://support.authorize.net/s/article/How-do-I-add-edit-Webhook-notification-end-points"><em>' . __( 'Learn more.', 'invoicing' ) . '</em></a>',
896
+            'desc'     => __('Create a new webhook using this URL as the endpoint URL and set it to receive all payment events.', 'invoicing') . ' <a href="https://support.authorize.net/s/article/How-do-I-add-edit-Webhook-notification-end-points"><em>' . __('Learn more.', 'invoicing') . '</em></a>',
897 897
             'custom'   => 'authorizenet',
898 898
             'readonly' => true,
899 899
         );
Please login to merge, or discard this patch.
includes/wpinv-subscription.php 2 patches
Indentation   +1051 added lines, -1051 removed lines patch added patch discarded remove patch
@@ -15,125 +15,125 @@  discard block
 block discarded – undo
15 15
  */
16 16
 class WPInv_Subscription extends GetPaid_Data {
17 17
 
18
-	/**
19
-	 * Which data store to load.
20
-	 *
21
-	 * @var string
22
-	 */
23
-	protected $data_store_name = 'subscription';
24
-
25
-	/**
26
-	 * This is the name of this object type.
27
-	 *
28
-	 * @var string
29
-	 */
30
-	protected $object_type = 'subscription';
31
-
32
-	/**
33
-	 * Item Data array. This is the core item data exposed in APIs.
34
-	 *
35
-	 * @since 1.0.19
36
-	 * @var array
37
-	 */
38
-	protected $data = array(
39
-		'customer_id'       => 0,
40
-		'frequency'         => 1,
41
-		'period'            => 'D',
42
-		'initial_amount'    => null,
43
-		'recurring_amount'  => null,
44
-		'bill_times'        => 0,
45
-		'transaction_id'    => '',
46
-		'parent_payment_id' => null,
47
-		'product_id'        => 0,
48
-		'created'           => '0000-00-00 00:00:00',
49
-		'expiration'        => '0000-00-00 00:00:00',
50
-		'trial_period'      => '',
51
-		'status'            => 'pending',
52
-		'profile_id'        => '',
53
-		'gateway'           => '',
54
-		'customer'          => '',
55
-	);
56
-
57
-	/**
58
-	 * Stores the status transition information.
59
-	 *
60
-	 * @since 1.0.19
61
-	 * @var bool
62
-	 */
63
-	protected $status_transition = false;
64
-
65
-	/**
66
-	 * Get the subscription if ID is passed, otherwise the subscription is new and empty.
67
-	 *
68
-	 * @param  int|string|object|WPInv_Subscription $subscription Subscription id, profile_id, or object to read.
69
-	 * @param  bool $deprecated
70
-	 */
71
-	function __construct( $subscription = 0, $deprecated = false ) {
72
-
73
-		parent::__construct( $subscription );
74
-
75
-		if ( ! $deprecated && ! empty( $subscription ) && is_numeric( $subscription ) ) {
76
-			$this->set_id( $subscription );
77
-		} elseif ( $subscription instanceof self ) {
78
-			$this->set_id( $subscription->get_id() );
79
-		} elseif ( $deprecated && $subscription_id = self::get_subscription_id_by_field( $subscription, 'profile_id' ) ) {
80
-			$this->set_id( $subscription_id );
81
-		} elseif ( ! empty( $subscription->id ) ) {
82
-			$this->set_id( $subscription->id );
83
-		} else {
84
-			$this->set_object_read( true );
85
-		}
86
-
87
-		// Load the datastore.
88
-		$this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
89
-
90
-		if ( $this->get_id() > 0 ) {
91
-			$this->data_store->read( $this );
92
-		}
93
-
94
-	}
95
-
96
-	/**
97
-	 * Given an invoice id, profile id, transaction id, it returns the subscription's id.
98
-	 *
99
-	 *
100
-	 * @static
101
-	 * @param string $value
102
-	 * @param string $field Either invoice_id, transaction_id or profile_id.
103
-	 * @since 1.0.19
104
-	 * @return int
105
-	 */
106
-	public static function get_subscription_id_by_field( $value, $field = 'profile_id' ) {
18
+    /**
19
+     * Which data store to load.
20
+     *
21
+     * @var string
22
+     */
23
+    protected $data_store_name = 'subscription';
24
+
25
+    /**
26
+     * This is the name of this object type.
27
+     *
28
+     * @var string
29
+     */
30
+    protected $object_type = 'subscription';
31
+
32
+    /**
33
+     * Item Data array. This is the core item data exposed in APIs.
34
+     *
35
+     * @since 1.0.19
36
+     * @var array
37
+     */
38
+    protected $data = array(
39
+        'customer_id'       => 0,
40
+        'frequency'         => 1,
41
+        'period'            => 'D',
42
+        'initial_amount'    => null,
43
+        'recurring_amount'  => null,
44
+        'bill_times'        => 0,
45
+        'transaction_id'    => '',
46
+        'parent_payment_id' => null,
47
+        'product_id'        => 0,
48
+        'created'           => '0000-00-00 00:00:00',
49
+        'expiration'        => '0000-00-00 00:00:00',
50
+        'trial_period'      => '',
51
+        'status'            => 'pending',
52
+        'profile_id'        => '',
53
+        'gateway'           => '',
54
+        'customer'          => '',
55
+    );
56
+
57
+    /**
58
+     * Stores the status transition information.
59
+     *
60
+     * @since 1.0.19
61
+     * @var bool
62
+     */
63
+    protected $status_transition = false;
64
+
65
+    /**
66
+     * Get the subscription if ID is passed, otherwise the subscription is new and empty.
67
+     *
68
+     * @param  int|string|object|WPInv_Subscription $subscription Subscription id, profile_id, or object to read.
69
+     * @param  bool $deprecated
70
+     */
71
+    function __construct( $subscription = 0, $deprecated = false ) {
72
+
73
+        parent::__construct( $subscription );
74
+
75
+        if ( ! $deprecated && ! empty( $subscription ) && is_numeric( $subscription ) ) {
76
+            $this->set_id( $subscription );
77
+        } elseif ( $subscription instanceof self ) {
78
+            $this->set_id( $subscription->get_id() );
79
+        } elseif ( $deprecated && $subscription_id = self::get_subscription_id_by_field( $subscription, 'profile_id' ) ) {
80
+            $this->set_id( $subscription_id );
81
+        } elseif ( ! empty( $subscription->id ) ) {
82
+            $this->set_id( $subscription->id );
83
+        } else {
84
+            $this->set_object_read( true );
85
+        }
86
+
87
+        // Load the datastore.
88
+        $this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
89
+
90
+        if ( $this->get_id() > 0 ) {
91
+            $this->data_store->read( $this );
92
+        }
93
+
94
+    }
95
+
96
+    /**
97
+     * Given an invoice id, profile id, transaction id, it returns the subscription's id.
98
+     *
99
+     *
100
+     * @static
101
+     * @param string $value
102
+     * @param string $field Either invoice_id, transaction_id or profile_id.
103
+     * @since 1.0.19
104
+     * @return int
105
+     */
106
+    public static function get_subscription_id_by_field( $value, $field = 'profile_id' ) {
107 107
         global $wpdb;
108 108
 
109
-		// Trim the value.
110
-		$value = trim( $value );
109
+        // Trim the value.
110
+        $value = trim( $value );
111 111
 
112
-		if ( empty( $value ) ) {
113
-			return 0;
114
-		}
112
+        if ( empty( $value ) ) {
113
+            return 0;
114
+        }
115 115
 
116
-		if ( 'invoice_id' == $field ) {
117
-			$field = 'parent_payment_id';
118
-		}
116
+        if ( 'invoice_id' == $field ) {
117
+            $field = 'parent_payment_id';
118
+        }
119 119
 
120 120
         // Valid fields.
121 121
         $fields = array(
122
-			'parent_payment_id',
123
-			'transaction_id',
124
-			'profile_id',
125
-		);
126
-
127
-		// Ensure a field has been passed.
128
-		if ( empty( $field ) || ! in_array( $field, $fields ) ) {
129
-			return 0;
130
-		}
131
-
132
-		// Maybe retrieve from the cache.
133
-		$subscription_id   = wp_cache_get( $value, "getpaid_subscription_{$field}s_to_subscription_ids" );
134
-		if ( ! empty( $subscription_id ) ) {
135
-			return $subscription_id;
136
-		}
122
+            'parent_payment_id',
123
+            'transaction_id',
124
+            'profile_id',
125
+        );
126
+
127
+        // Ensure a field has been passed.
128
+        if ( empty( $field ) || ! in_array( $field, $fields ) ) {
129
+            return 0;
130
+        }
131
+
132
+        // Maybe retrieve from the cache.
133
+        $subscription_id   = wp_cache_get( $value, "getpaid_subscription_{$field}s_to_subscription_ids" );
134
+        if ( ! empty( $subscription_id ) ) {
135
+            return $subscription_id;
136
+        }
137 137
 
138 138
         // Fetch from the db.
139 139
         $table            = $wpdb->prefix . 'wpinv_subscriptions';
@@ -141,42 +141,42 @@  discard block
 block discarded – undo
141 141
             $wpdb->prepare( "SELECT `id` FROM $table WHERE `$field`=%s LIMIT 1", $value )
142 142
         );
143 143
 
144
-		if ( empty( $subscription_id ) ) {
145
-			return 0;
146
-		}
144
+        if ( empty( $subscription_id ) ) {
145
+            return 0;
146
+        }
147 147
 
148
-		// Update the cache with our data.
149
-		wp_cache_set( $value, $subscription_id, "getpaid_subscription_{$field}s_to_subscription_ids" );
148
+        // Update the cache with our data.
149
+        wp_cache_set( $value, $subscription_id, "getpaid_subscription_{$field}s_to_subscription_ids" );
150 150
 
151
-		return $subscription_id;
152
-	}
151
+        return $subscription_id;
152
+    }
153 153
 
154
-	/**
154
+    /**
155 155
      * Clears the subscription's cache.
156 156
      */
157 157
     public function clear_cache() {
158
-		$caches = array(
159
-			'getpaid_subscription_parent_payment_ids_to_subscription_ids' => $this->get_parent_payment_id(),
160
-			'getpaid_subscription_transaction_ids_to_subscription_ids'    => $this->get_transaction_id(),
161
-			'getpaid_subscription_profile_ids_to_subscription_ids'        => $this->get_profile_id(),
162
-			'getpaid_subscriptions'                                       => $this->get_id(),
163
-		);
164
-
165
-		foreach ( $caches as $cache => $value ) {
166
-			if ( '' !== $value && false !== $value ) {
167
-				wp_cache_delete( $value, $cache );
168
-			}
169
-		}
170
-	}
171
-
172
-	/**
158
+        $caches = array(
159
+            'getpaid_subscription_parent_payment_ids_to_subscription_ids' => $this->get_parent_payment_id(),
160
+            'getpaid_subscription_transaction_ids_to_subscription_ids'    => $this->get_transaction_id(),
161
+            'getpaid_subscription_profile_ids_to_subscription_ids'        => $this->get_profile_id(),
162
+            'getpaid_subscriptions'                                       => $this->get_id(),
163
+        );
164
+
165
+        foreach ( $caches as $cache => $value ) {
166
+            if ( '' !== $value && false !== $value ) {
167
+                wp_cache_delete( $value, $cache );
168
+            }
169
+        }
170
+    }
171
+
172
+    /**
173 173
      * Checks if a subscription key is set.
174 174
      */
175 175
     public function _isset( $key ) {
176 176
         return isset( $this->data[ $key ] ) || method_exists( $this, "get_$key" );
177
-	}
177
+    }
178 178
 
179
-	/*
179
+    /*
180 180
 	|--------------------------------------------------------------------------
181 181
 	| CRUD methods
182 182
 	|--------------------------------------------------------------------------
@@ -185,544 +185,544 @@  discard block
 block discarded – undo
185 185
 	|
186 186
     */
187 187
 
188
-	/*
188
+    /*
189 189
 	|--------------------------------------------------------------------------
190 190
 	| Getters
191 191
 	|--------------------------------------------------------------------------
192 192
 	*/
193 193
 
194
-	/**
195
-	 * Get customer id.
196
-	 *
197
-	 * @since 1.0.19
198
-	 * @param  string $context View or edit context.
199
-	 * @return int
200
-	 */
201
-	public function get_customer_id( $context = 'view' ) {
202
-		return (int) $this->get_prop( 'customer_id', $context );
203
-	}
204
-
205
-	/**
206
-	 * Get customer information.
207
-	 *
208
-	 * @since 1.0.19
209
-	 * @param  string $context View or edit context.
210
-	 * @return WP_User|false WP_User object on success, false on failure.
211
-	 */
212
-	public function get_customer( $context = 'view' ) {
213
-		return get_userdata( $this->get_customer_id( $context ) );
214
-	}
215
-
216
-	/**
217
-	 * Get parent invoice id.
218
-	 *
219
-	 * @since 1.0.19
220
-	 * @param  string $context View or edit context.
221
-	 * @return int
222
-	 */
223
-	public function get_parent_invoice_id( $context = 'view' ) {
224
-		return (int) $this->get_prop( 'parent_payment_id', $context );
225
-	}
226
-
227
-	/**
228
-	 * Alias for self::get_parent_invoice_id().
229
-	 *
230
-	 * @since 1.0.19
231
-	 * @param  string $context View or edit context.
232
-	 * @return int
233
-	 */
194
+    /**
195
+     * Get customer id.
196
+     *
197
+     * @since 1.0.19
198
+     * @param  string $context View or edit context.
199
+     * @return int
200
+     */
201
+    public function get_customer_id( $context = 'view' ) {
202
+        return (int) $this->get_prop( 'customer_id', $context );
203
+    }
204
+
205
+    /**
206
+     * Get customer information.
207
+     *
208
+     * @since 1.0.19
209
+     * @param  string $context View or edit context.
210
+     * @return WP_User|false WP_User object on success, false on failure.
211
+     */
212
+    public function get_customer( $context = 'view' ) {
213
+        return get_userdata( $this->get_customer_id( $context ) );
214
+    }
215
+
216
+    /**
217
+     * Get parent invoice id.
218
+     *
219
+     * @since 1.0.19
220
+     * @param  string $context View or edit context.
221
+     * @return int
222
+     */
223
+    public function get_parent_invoice_id( $context = 'view' ) {
224
+        return (int) $this->get_prop( 'parent_payment_id', $context );
225
+    }
226
+
227
+    /**
228
+     * Alias for self::get_parent_invoice_id().
229
+     *
230
+     * @since 1.0.19
231
+     * @param  string $context View or edit context.
232
+     * @return int
233
+     */
234 234
     public function get_parent_payment_id( $context = 'view' ) {
235 235
         return $this->get_parent_invoice_id( $context );
236
-	}
236
+    }
237
+
238
+    /**
239
+     * Alias for self::get_parent_invoice_id().
240
+     *
241
+     * @since  1.0.0
242
+     * @return int
243
+     */
244
+    public function get_original_payment_id( $context = 'view' ) {
245
+        return $this->get_parent_invoice_id( $context );
246
+    }
247
+
248
+    /**
249
+     * Get parent invoice.
250
+     *
251
+     * @since 1.0.19
252
+     * @param  string $context View or edit context.
253
+     * @return WPInv_Invoice
254
+     */
255
+    public function get_parent_invoice( $context = 'view' ) {
256
+        return new WPInv_Invoice( $this->get_parent_invoice_id( $context ) );
257
+    }
258
+
259
+    /**
260
+     * Alias for self::get_parent_invoice().
261
+     *
262
+     * @since 1.0.19
263
+     * @param  string $context View or edit context.
264
+     * @return WPInv_Invoice
265
+     */
266
+    public function get_parent_payment( $context = 'view' ) {
267
+        return $this->get_parent_invoice( $context );
268
+    }
269
+
270
+    /**
271
+     * Get subscription's product id.
272
+     *
273
+     * @since 1.0.19
274
+     * @param  string $context View or edit context.
275
+     * @return int
276
+     */
277
+    public function get_product_id( $context = 'view' ) {
278
+        return (int) $this->get_prop( 'product_id', $context );
279
+    }
280
+
281
+    /**
282
+     * Get the subscription product.
283
+     *
284
+     * @since 1.0.19
285
+     * @param  string $context View or edit context.
286
+     * @return WPInv_Item
287
+     */
288
+    public function get_product( $context = 'view' ) {
289
+        return new WPInv_Item( $this->get_product_id( $context ) );
290
+    }
291
+
292
+    /**
293
+     * Get parent invoice's gateway.
294
+     *
295
+     * Here for backwards compatibility.
296
+     *
297
+     * @since 1.0.19
298
+     * @param  string $context View or edit context.
299
+     * @return string
300
+     */
301
+    public function get_gateway( $context = 'view' ) {
302
+        return $this->get_parent_invoice( $context )->get_gateway();
303
+    }
304
+
305
+    /**
306
+     * Get the period of a renewal.
307
+     *
308
+     * @since 1.0.19
309
+     * @param  string $context View or edit context.
310
+     * @return string
311
+     */
312
+    public function get_period( $context = 'view' ) {
313
+        return $this->get_prop( 'period', $context );
314
+    }
315
+
316
+    /**
317
+     * Get number of periods each renewal is valid for.
318
+     *
319
+     * @since 1.0.19
320
+     * @param  string $context View or edit context.
321
+     * @return int
322
+     */
323
+    public function get_frequency( $context = 'view' ) {
324
+        return (int) $this->get_prop( 'frequency', $context );
325
+    }
326
+
327
+    /**
328
+     * Get the initial amount for the subscription.
329
+     *
330
+     * @since 1.0.19
331
+     * @param  string $context View or edit context.
332
+     * @return float
333
+     */
334
+    public function get_initial_amount( $context = 'view' ) {
335
+        return (float) wpinv_sanitize_amount( $this->get_prop( 'initial_amount', $context ) );
336
+    }
337
+
338
+    /**
339
+     * Get the recurring amount for the subscription.
340
+     *
341
+     * @since 1.0.19
342
+     * @param  string $context View or edit context.
343
+     * @return float
344
+     */
345
+    public function get_recurring_amount( $context = 'view' ) {
346
+        return (float) wpinv_sanitize_amount( $this->get_prop( 'recurring_amount', $context ) );
347
+    }
348
+
349
+    /**
350
+     * Get number of times that this subscription can be renewed.
351
+     *
352
+     * @since 1.0.19
353
+     * @param  string $context View or edit context.
354
+     * @return int
355
+     */
356
+    public function get_bill_times( $context = 'view' ) {
357
+        return (int) $this->get_prop( 'bill_times', $context );
358
+    }
359
+
360
+    /**
361
+     * Get transaction id of this subscription's parent invoice.
362
+     *
363
+     * @since 1.0.19
364
+     * @param  string $context View or edit context.
365
+     * @return string
366
+     */
367
+    public function get_transaction_id( $context = 'view' ) {
368
+        return $this->get_prop( 'transaction_id', $context );
369
+    }
370
+
371
+    /**
372
+     * Get the date that the subscription was created.
373
+     *
374
+     * @since 1.0.19
375
+     * @param  string $context View or edit context.
376
+     * @return string
377
+     */
378
+    public function get_created( $context = 'view' ) {
379
+        return $this->get_prop( 'created', $context );
380
+    }
381
+
382
+    /**
383
+     * Alias for self::get_created().
384
+     *
385
+     * @since 1.0.19
386
+     * @param  string $context View or edit context.
387
+     * @return string
388
+     */
389
+    public function get_date_created( $context = 'view' ) {
390
+        return $this->get_created( $context );
391
+    }
392
+
393
+    /**
394
+     * Retrieves the creation date in a timestamp
395
+     *
396
+     * @since  1.0.0
397
+     * @return int
398
+     */
399
+    public function get_time_created() {
400
+        $created = $this->get_date_created();
401
+        return empty( $created ) ? current_time( 'timestamp' ) : strtotime( $created, current_time( 'timestamp' ) );
402
+    }
403
+
404
+    /**
405
+     * Get GMT date when the subscription was created.
406
+     *
407
+     * @since 1.0.19
408
+     * @param  string $context View or edit context.
409
+     * @return string
410
+     */
411
+    public function get_date_created_gmt( $context = 'view' ) {
412
+        $date = $this->get_date_created( $context );
413
+
414
+        if ( $date ) {
415
+            $date = get_gmt_from_date( $date );
416
+        }
417
+        return $date;
418
+    }
419
+
420
+    /**
421
+     * Get the date that the subscription will renew.
422
+     *
423
+     * @since 1.0.19
424
+     * @param  string $context View or edit context.
425
+     * @return string
426
+     */
427
+    public function get_next_renewal_date( $context = 'view' ) {
428
+        return $this->get_prop( 'expiration', $context );
429
+    }
430
+
431
+    /**
432
+     * Alias for self::get_next_renewal_date().
433
+     *
434
+     * @since 1.0.19
435
+     * @param  string $context View or edit context.
436
+     * @return string
437
+     */
438
+    public function get_expiration( $context = 'view' ) {
439
+        return $this->get_next_renewal_date( $context );
440
+    }
441
+
442
+    /**
443
+     * Retrieves the expiration date in a timestamp
444
+     *
445
+     * @since  1.0.0
446
+     * @return int
447
+     */
448
+    public function get_expiration_time() {
449
+        $expiration = $this->get_expiration();
450
+
451
+        if ( empty( $expiration ) || '0000-00-00 00:00:00' == $expiration ) {
452
+            return current_time( 'timestamp' );
453
+        }
454
+
455
+        $expiration = strtotime( $expiration, current_time( 'timestamp' ) );
456
+        return $expiration < current_time( 'timestamp' ) ? current_time( 'timestamp' ) : $expiration;
457
+    }
458
+
459
+    /**
460
+     * Get GMT date when the subscription will renew.
461
+     *
462
+     * @since 1.0.19
463
+     * @param  string $context View or edit context.
464
+     * @return string
465
+     */
466
+    public function get_next_renewal_date_gmt( $context = 'view' ) {
467
+        $date = $this->get_next_renewal_date( $context );
468
+
469
+        if ( $date ) {
470
+            $date = get_gmt_from_date( $date );
471
+        }
472
+        return $date;
473
+    }
474
+
475
+    /**
476
+     * Get the subscription's trial period.
477
+     *
478
+     * @since 1.0.19
479
+     * @param  string $context View or edit context.
480
+     * @return string
481
+     */
482
+    public function get_trial_period( $context = 'view' ) {
483
+        return $this->get_prop( 'trial_period', $context );
484
+    }
485
+
486
+    /**
487
+     * Get the subscription's status.
488
+     *
489
+     * @since 1.0.19
490
+     * @param  string $context View or edit context.
491
+     * @return string
492
+     */
493
+    public function get_status( $context = 'view' ) {
494
+        return $this->get_prop( 'status', $context );
495
+    }
496
+
497
+    /**
498
+     * Get the subscription's profile id.
499
+     *
500
+     * @since 1.0.19
501
+     * @param  string $context View or edit context.
502
+     * @return string
503
+     */
504
+    public function get_profile_id( $context = 'view' ) {
505
+        return $this->get_prop( 'profile_id', $context );
506
+    }
507
+
508
+    /*
509
+	|--------------------------------------------------------------------------
510
+	| Setters
511
+	|--------------------------------------------------------------------------
512
+	*/
513
+
514
+    /**
515
+     * Set customer id.
516
+     *
517
+     * @since 1.0.19
518
+     * @param  int $value The customer's id.
519
+     */
520
+    public function set_customer_id( $value ) {
521
+        $this->set_prop( 'customer_id', (int) $value );
522
+    }
523
+
524
+    /**
525
+     * Set parent invoice id.
526
+     *
527
+     * @since 1.0.19
528
+     * @param  int $value The parent invoice id.
529
+     */
530
+    public function set_parent_invoice_id( $value ) {
531
+        $this->set_prop( 'parent_payment_id', (int) $value );
532
+    }
533
+
534
+    /**
535
+     * Alias for self::set_parent_invoice_id().
536
+     *
537
+     * @since 1.0.19
538
+     * @param  int $value The parent invoice id.
539
+     */
540
+    public function set_parent_payment_id( $value ) {
541
+        $this->set_parent_invoice_id( $value );
542
+    }
543
+
544
+    /**
545
+     * Alias for self::set_parent_invoice_id().
546
+     *
547
+     * @since 1.0.19
548
+     * @param  int $value The parent invoice id.
549
+     */
550
+    public function set_original_payment_id( $value ) {
551
+        $this->set_parent_invoice_id( $value );
552
+    }
553
+
554
+    /**
555
+     * Set subscription's product id.
556
+     *
557
+     * @since 1.0.19
558
+     * @param  int $value The subscription product id.
559
+     */
560
+    public function set_product_id( $value ) {
561
+        $this->set_prop( 'product_id', (int) $value );
562
+    }
563
+
564
+    /**
565
+     * Set the period of a renewal.
566
+     *
567
+     * @since 1.0.19
568
+     * @param  string $value The renewal period.
569
+     */
570
+    public function set_period( $value ) {
571
+        $this->set_prop( 'period', $value );
572
+    }
573
+
574
+    /**
575
+     * Set number of periods each renewal is valid for.
576
+     *
577
+     * @since 1.0.19
578
+     * @param  int $value The subscription frequency.
579
+     */
580
+    public function set_frequency( $value ) {
581
+        $value = empty( $value ) ? 1 : (int) $value;
582
+        $this->set_prop( 'frequency', absint( $value ) );
583
+    }
584
+
585
+    /**
586
+     * Set the initial amount for the subscription.
587
+     *
588
+     * @since 1.0.19
589
+     * @param  float $value The initial subcription amount.
590
+     */
591
+    public function set_initial_amount( $value ) {
592
+        $this->set_prop( 'initial_amount', wpinv_sanitize_amount( $value ) );
593
+    }
594
+
595
+    /**
596
+     * Set the recurring amount for the subscription.
597
+     *
598
+     * @since 1.0.19
599
+     * @param  float $value The recurring subcription amount.
600
+     */
601
+    public function set_recurring_amount( $value ) {
602
+        $this->set_prop( 'recurring_amount', wpinv_sanitize_amount( $value ) );
603
+    }
604
+
605
+    /**
606
+     * Set number of times that this subscription can be renewed.
607
+     *
608
+     * @since 1.0.19
609
+     * @param  int $value Bill times.
610
+     */
611
+    public function set_bill_times( $value ) {
612
+        $this->set_prop( 'bill_times', (int) $value );
613
+    }
614
+
615
+    /**
616
+     * Get transaction id of this subscription's parent invoice.
617
+     *
618
+     * @since 1.0.19
619
+     * @param string $value Bill times.
620
+     */
621
+    public function set_transaction_id( $value ) {
622
+        $this->set_prop( 'transaction_id', sanitize_text_field( $value ) );
623
+    }
624
+
625
+    /**
626
+     * Set date when this subscription started.
627
+     *
628
+     * @since 1.0.19
629
+     * @param string $value strtotime compliant date.
630
+     */
631
+    public function set_created( $value ) {
632
+        $date = strtotime( $value );
633
+
634
+        if ( $date && $value !== '0000-00-00 00:00:00' ) {
635
+            $this->set_prop( 'created', gmdate( 'Y-m-d H:i:s', $date ) );
636
+            return;
637
+        }
638
+
639
+        $this->set_prop( 'created', '' );
640
+
641
+    }
237 642
 
238
-	/**
239
-     * Alias for self::get_parent_invoice_id().
643
+    /**
644
+     * Alias for self::set_created().
240 645
      *
241
-     * @since  1.0.0
242
-     * @return int
646
+     * @since 1.0.19
647
+     * @param string $value strtotime compliant date.
243 648
      */
244
-    public function get_original_payment_id( $context = 'view' ) {
245
-        return $this->get_parent_invoice_id( $context );
649
+    public function set_date_created( $value ) {
650
+        $this->set_created( $value );
246 651
     }
247 652
 
248
-	/**
249
-	 * Get parent invoice.
250
-	 *
251
-	 * @since 1.0.19
252
-	 * @param  string $context View or edit context.
253
-	 * @return WPInv_Invoice
254
-	 */
255
-	public function get_parent_invoice( $context = 'view' ) {
256
-		return new WPInv_Invoice( $this->get_parent_invoice_id( $context ) );
257
-	}
258
-
259
-	/**
260
-	 * Alias for self::get_parent_invoice().
261
-	 *
262
-	 * @since 1.0.19
263
-	 * @param  string $context View or edit context.
264
-	 * @return WPInv_Invoice
265
-	 */
266
-    public function get_parent_payment( $context = 'view' ) {
267
-        return $this->get_parent_invoice( $context );
268
-	}
269
-
270
-	/**
271
-	 * Get subscription's product id.
272
-	 *
273
-	 * @since 1.0.19
274
-	 * @param  string $context View or edit context.
275
-	 * @return int
276
-	 */
277
-	public function get_product_id( $context = 'view' ) {
278
-		return (int) $this->get_prop( 'product_id', $context );
279
-	}
280
-
281
-	/**
282
-	 * Get the subscription product.
283
-	 *
284
-	 * @since 1.0.19
285
-	 * @param  string $context View or edit context.
286
-	 * @return WPInv_Item
287
-	 */
288
-	public function get_product( $context = 'view' ) {
289
-		return new WPInv_Item( $this->get_product_id( $context ) );
290
-	}
291
-
292
-	/**
293
-	 * Get parent invoice's gateway.
294
-	 *
295
-	 * Here for backwards compatibility.
296
-	 *
297
-	 * @since 1.0.19
298
-	 * @param  string $context View or edit context.
299
-	 * @return string
300
-	 */
301
-	public function get_gateway( $context = 'view' ) {
302
-		return $this->get_parent_invoice( $context )->get_gateway();
303
-	}
304
-
305
-	/**
306
-	 * Get the period of a renewal.
307
-	 *
308
-	 * @since 1.0.19
309
-	 * @param  string $context View or edit context.
310
-	 * @return string
311
-	 */
312
-	public function get_period( $context = 'view' ) {
313
-		return $this->get_prop( 'period', $context );
314
-	}
315
-
316
-	/**
317
-	 * Get number of periods each renewal is valid for.
318
-	 *
319
-	 * @since 1.0.19
320
-	 * @param  string $context View or edit context.
321
-	 * @return int
322
-	 */
323
-	public function get_frequency( $context = 'view' ) {
324
-		return (int) $this->get_prop( 'frequency', $context );
325
-	}
326
-
327
-	/**
328
-	 * Get the initial amount for the subscription.
329
-	 *
330
-	 * @since 1.0.19
331
-	 * @param  string $context View or edit context.
332
-	 * @return float
333
-	 */
334
-	public function get_initial_amount( $context = 'view' ) {
335
-		return (float) wpinv_sanitize_amount( $this->get_prop( 'initial_amount', $context ) );
336
-	}
337
-
338
-	/**
339
-	 * Get the recurring amount for the subscription.
340
-	 *
341
-	 * @since 1.0.19
342
-	 * @param  string $context View or edit context.
343
-	 * @return float
344
-	 */
345
-	public function get_recurring_amount( $context = 'view' ) {
346
-		return (float) wpinv_sanitize_amount( $this->get_prop( 'recurring_amount', $context ) );
347
-	}
348
-
349
-	/**
350
-	 * Get number of times that this subscription can be renewed.
351
-	 *
352
-	 * @since 1.0.19
353
-	 * @param  string $context View or edit context.
354
-	 * @return int
355
-	 */
356
-	public function get_bill_times( $context = 'view' ) {
357
-		return (int) $this->get_prop( 'bill_times', $context );
358
-	}
359
-
360
-	/**
361
-	 * Get transaction id of this subscription's parent invoice.
362
-	 *
363
-	 * @since 1.0.19
364
-	 * @param  string $context View or edit context.
365
-	 * @return string
366
-	 */
367
-	public function get_transaction_id( $context = 'view' ) {
368
-		return $this->get_prop( 'transaction_id', $context );
369
-	}
370
-
371
-	/**
372
-	 * Get the date that the subscription was created.
373
-	 *
374
-	 * @since 1.0.19
375
-	 * @param  string $context View or edit context.
376
-	 * @return string
377
-	 */
378
-	public function get_created( $context = 'view' ) {
379
-		return $this->get_prop( 'created', $context );
380
-	}
381
-
382
-	/**
383
-	 * Alias for self::get_created().
384
-	 *
385
-	 * @since 1.0.19
386
-	 * @param  string $context View or edit context.
387
-	 * @return string
388
-	 */
389
-	public function get_date_created( $context = 'view' ) {
390
-		return $this->get_created( $context );
391
-	}
392
-
393
-	/**
394
-	 * Retrieves the creation date in a timestamp
395
-	 *
396
-	 * @since  1.0.0
397
-	 * @return int
398
-	 */
399
-	public function get_time_created() {
400
-		$created = $this->get_date_created();
401
-		return empty( $created ) ? current_time( 'timestamp' ) : strtotime( $created, current_time( 'timestamp' ) );
402
-	}
403
-
404
-	/**
405
-	 * Get GMT date when the subscription was created.
406
-	 *
407
-	 * @since 1.0.19
408
-	 * @param  string $context View or edit context.
409
-	 * @return string
410
-	 */
411
-	public function get_date_created_gmt( $context = 'view' ) {
412
-        $date = $this->get_date_created( $context );
653
+    /**
654
+     * Set the date that the subscription will renew.
655
+     *
656
+     * @since 1.0.19
657
+     * @param string $value strtotime compliant date.
658
+     */
659
+    public function set_next_renewal_date( $value ) {
660
+        $date = strtotime( $value );
413 661
 
414
-        if ( $date ) {
415
-            $date = get_gmt_from_date( $date );
662
+        if ( $date && $value !== '0000-00-00 00:00:00' ) {
663
+            $this->set_prop( 'expiration', gmdate( 'Y-m-d H:i:s', $date ) );
664
+            return;
416 665
         }
417
-		return $date;
418
-	}
419
-
420
-	/**
421
-	 * Get the date that the subscription will renew.
422
-	 *
423
-	 * @since 1.0.19
424
-	 * @param  string $context View or edit context.
425
-	 * @return string
426
-	 */
427
-	public function get_next_renewal_date( $context = 'view' ) {
428
-		return $this->get_prop( 'expiration', $context );
429
-	}
430
-
431
-	/**
432
-	 * Alias for self::get_next_renewal_date().
433
-	 *
434
-	 * @since 1.0.19
435
-	 * @param  string $context View or edit context.
436
-	 * @return string
437
-	 */
438
-	public function get_expiration( $context = 'view' ) {
439
-		return $this->get_next_renewal_date( $context );
440
-	}
441
-
442
-	/**
443
-	 * Retrieves the expiration date in a timestamp
444
-	 *
445
-	 * @since  1.0.0
446
-	 * @return int
447
-	 */
448
-	public function get_expiration_time() {
449
-		$expiration = $this->get_expiration();
450
-
451
-		if ( empty( $expiration ) || '0000-00-00 00:00:00' == $expiration ) {
452
-			return current_time( 'timestamp' );
453
-		}
454
-
455
-		$expiration = strtotime( $expiration, current_time( 'timestamp' ) );
456
-		return $expiration < current_time( 'timestamp' ) ? current_time( 'timestamp' ) : $expiration;
457
-	}
458
-
459
-	/**
460
-	 * Get GMT date when the subscription will renew.
461
-	 *
462
-	 * @since 1.0.19
463
-	 * @param  string $context View or edit context.
464
-	 * @return string
465
-	 */
466
-	public function get_next_renewal_date_gmt( $context = 'view' ) {
467
-        $date = $this->get_next_renewal_date( $context );
468 666
 
469
-        if ( $date ) {
470
-            $date = get_gmt_from_date( $date );
471
-        }
472
-		return $date;
473
-	}
474
-
475
-	/**
476
-	 * Get the subscription's trial period.
477
-	 *
478
-	 * @since 1.0.19
479
-	 * @param  string $context View or edit context.
480
-	 * @return string
481
-	 */
482
-	public function get_trial_period( $context = 'view' ) {
483
-		return $this->get_prop( 'trial_period', $context );
484
-	}
485
-
486
-	/**
487
-	 * Get the subscription's status.
488
-	 *
489
-	 * @since 1.0.19
490
-	 * @param  string $context View or edit context.
491
-	 * @return string
492
-	 */
493
-	public function get_status( $context = 'view' ) {
494
-		return $this->get_prop( 'status', $context );
495
-	}
496
-
497
-	/**
498
-	 * Get the subscription's profile id.
499
-	 *
500
-	 * @since 1.0.19
501
-	 * @param  string $context View or edit context.
502
-	 * @return string
503
-	 */
504
-	public function get_profile_id( $context = 'view' ) {
505
-		return $this->get_prop( 'profile_id', $context );
506
-	}
507
-
508
-	/*
509
-	|--------------------------------------------------------------------------
510
-	| Setters
511
-	|--------------------------------------------------------------------------
512
-	*/
667
+        $this->set_prop( 'expiration', '' );
513 668
 
514
-	/**
515
-	 * Set customer id.
516
-	 *
517
-	 * @since 1.0.19
518
-	 * @param  int $value The customer's id.
519
-	 */
520
-	public function set_customer_id( $value ) {
521
-		$this->set_prop( 'customer_id', (int) $value );
522
-	}
523
-
524
-	/**
525
-	 * Set parent invoice id.
526
-	 *
527
-	 * @since 1.0.19
528
-	 * @param  int $value The parent invoice id.
529
-	 */
530
-	public function set_parent_invoice_id( $value ) {
531
-		$this->set_prop( 'parent_payment_id', (int) $value );
532
-	}
533
-
534
-	/**
535
-	 * Alias for self::set_parent_invoice_id().
536
-	 *
537
-	 * @since 1.0.19
538
-	 * @param  int $value The parent invoice id.
539
-	 */
540
-    public function set_parent_payment_id( $value ) {
541
-        $this->set_parent_invoice_id( $value );
542
-	}
669
+    }
543 670
 
544
-	/**
545
-     * Alias for self::set_parent_invoice_id().
671
+    /**
672
+     * Alias for self::set_next_renewal_date().
546 673
      *
547 674
      * @since 1.0.19
548
-	 * @param  int $value The parent invoice id.
675
+     * @param string $value strtotime compliant date.
549 676
      */
550
-    public function set_original_payment_id( $value ) {
551
-        $this->set_parent_invoice_id( $value );
552
-	}
553
-
554
-	/**
555
-	 * Set subscription's product id.
556
-	 *
557
-	 * @since 1.0.19
558
-	 * @param  int $value The subscription product id.
559
-	 */
560
-	public function set_product_id( $value ) {
561
-		$this->set_prop( 'product_id', (int) $value );
562
-	}
563
-
564
-	/**
565
-	 * Set the period of a renewal.
566
-	 *
567
-	 * @since 1.0.19
568
-	 * @param  string $value The renewal period.
569
-	 */
570
-	public function set_period( $value ) {
571
-		$this->set_prop( 'period', $value );
572
-	}
573
-
574
-	/**
575
-	 * Set number of periods each renewal is valid for.
576
-	 *
577
-	 * @since 1.0.19
578
-	 * @param  int $value The subscription frequency.
579
-	 */
580
-	public function set_frequency( $value ) {
581
-		$value = empty( $value ) ? 1 : (int) $value;
582
-		$this->set_prop( 'frequency', absint( $value ) );
583
-	}
584
-
585
-	/**
586
-	 * Set the initial amount for the subscription.
587
-	 *
588
-	 * @since 1.0.19
589
-	 * @param  float $value The initial subcription amount.
590
-	 */
591
-	public function set_initial_amount( $value ) {
592
-		$this->set_prop( 'initial_amount', wpinv_sanitize_amount( $value ) );
593
-	}
594
-
595
-	/**
596
-	 * Set the recurring amount for the subscription.
597
-	 *
598
-	 * @since 1.0.19
599
-	 * @param  float $value The recurring subcription amount.
600
-	 */
601
-	public function set_recurring_amount( $value ) {
602
-		$this->set_prop( 'recurring_amount', wpinv_sanitize_amount( $value ) );
603
-	}
604
-
605
-	/**
606
-	 * Set number of times that this subscription can be renewed.
607
-	 *
608
-	 * @since 1.0.19
609
-	 * @param  int $value Bill times.
610
-	 */
611
-	public function set_bill_times( $value ) {
612
-		$this->set_prop( 'bill_times', (int) $value );
613
-	}
614
-
615
-	/**
616
-	 * Get transaction id of this subscription's parent invoice.
617
-	 *
618
-	 * @since 1.0.19
619
-	 * @param string $value Bill times.
620
-	 */
621
-	public function set_transaction_id( $value ) {
622
-		$this->set_prop( 'transaction_id', sanitize_text_field( $value ) );
623
-	}
624
-
625
-	/**
626
-	 * Set date when this subscription started.
627
-	 *
628
-	 * @since 1.0.19
629
-	 * @param string $value strtotime compliant date.
630
-	 */
631
-	public function set_created( $value ) {
632
-        $date = strtotime( $value );
677
+    public function set_expiration( $value ) {
678
+        $this->set_next_renewal_date( $value );
679
+    }
633 680
 
634
-        if ( $date && $value !== '0000-00-00 00:00:00' ) {
635
-            $this->set_prop( 'created', gmdate( 'Y-m-d H:i:s', $date ) );
681
+    /**
682
+     * Set the subscription's trial period.
683
+     *
684
+     * @since 1.0.19
685
+     * @param string $value trial period e.g 1 year.
686
+     */
687
+    public function set_trial_period( $value ) {
688
+        $this->set_prop( 'trial_period', $value );
689
+    }
690
+
691
+    /**
692
+     * Set the subscription's status.
693
+     *
694
+     * @since 1.0.19
695
+     * @param string $new_status    New subscription status.
696
+     */
697
+    public function set_status( $new_status ) {
698
+
699
+        // Abort if this is not a valid status;
700
+        if ( ! array_key_exists( $new_status, getpaid_get_subscription_statuses() ) ) {
636 701
             return;
637 702
         }
638 703
 
639
-		$this->set_prop( 'created', '' );
640
-
641
-	}
704
+        $old_status = ! empty( $this->status_transition['from'] ) ? $this->status_transition['from'] : $this->get_status();
705
+        if ( true === $this->object_read && $old_status !== $new_status ) {
706
+            $this->status_transition = array(
707
+                'from' => $old_status,
708
+                'to'   => $new_status,
709
+            );
710
+        }
642 711
 
643
-	/**
644
-	 * Alias for self::set_created().
645
-	 *
646
-	 * @since 1.0.19
647
-	 * @param string $value strtotime compliant date.
648
-	 */
649
-	public function set_date_created( $value ) {
650
-		$this->set_created( $value );
712
+        $this->set_prop( 'status', $new_status );
651 713
     }
652 714
 
653
-	/**
654
-	 * Set the date that the subscription will renew.
655
-	 *
656
-	 * @since 1.0.19
657
-	 * @param string $value strtotime compliant date.
658
-	 */
659
-	public function set_next_renewal_date( $value ) {
660
-		$date = strtotime( $value );
715
+    /**
716
+     * Set the subscription's (remote) profile id.
717
+     *
718
+     * @since 1.0.19
719
+     * @param  string $value the remote profile id.
720
+     */
721
+    public function set_profile_id( $value ) {
722
+        $this->set_prop( 'profile_id', sanitize_text_field( $value ) );
723
+    }
661 724
 
662
-        if ( $date && $value !== '0000-00-00 00:00:00' ) {
663
-            $this->set_prop( 'expiration', gmdate( 'Y-m-d H:i:s', $date ) );
664
-            return;
665
-		}
666
-
667
-		$this->set_prop( 'expiration', '' );
668
-
669
-	}
670
-
671
-	/**
672
-	 * Alias for self::set_next_renewal_date().
673
-	 *
674
-	 * @since 1.0.19
675
-	 * @param string $value strtotime compliant date.
676
-	 */
677
-	public function set_expiration( $value ) {
678
-		$this->set_next_renewal_date( $value );
679
-    }
680
-
681
-	/**
682
-	 * Set the subscription's trial period.
683
-	 *
684
-	 * @since 1.0.19
685
-	 * @param string $value trial period e.g 1 year.
686
-	 */
687
-	public function set_trial_period( $value ) {
688
-		$this->set_prop( 'trial_period', $value );
689
-	}
690
-
691
-	/**
692
-	 * Set the subscription's status.
693
-	 *
694
-	 * @since 1.0.19
695
-	 * @param string $new_status    New subscription status.
696
-	 */
697
-	public function set_status( $new_status ) {
698
-
699
-		// Abort if this is not a valid status;
700
-		if ( ! array_key_exists( $new_status, getpaid_get_subscription_statuses() ) ) {
701
-			return;
702
-		}
703
-
704
-		$old_status = ! empty( $this->status_transition['from'] ) ? $this->status_transition['from'] : $this->get_status();
705
-		if ( true === $this->object_read && $old_status !== $new_status ) {
706
-			$this->status_transition = array(
707
-				'from' => $old_status,
708
-				'to'   => $new_status,
709
-			);
710
-		}
711
-
712
-		$this->set_prop( 'status', $new_status );
713
-	}
714
-
715
-	/**
716
-	 * Set the subscription's (remote) profile id.
717
-	 *
718
-	 * @since 1.0.19
719
-	 * @param  string $value the remote profile id.
720
-	 */
721
-	public function set_profile_id( $value ) {
722
-		$this->set_prop( 'profile_id', sanitize_text_field( $value ) );
723
-	}
724
-
725
-	/*
725
+    /*
726 726
 	|--------------------------------------------------------------------------
727 727
 	| Boolean methods
728 728
 	|--------------------------------------------------------------------------
@@ -731,55 +731,55 @@  discard block
 block discarded – undo
731 731
 	|
732 732
 	*/
733 733
 
734
-	/**
734
+    /**
735 735
      * Checks if the subscription has a given status.
736
-	 *
737
-	 * @param string|array String or array of strings to check for.
738
-	 * @return bool
736
+     *
737
+     * @param string|array String or array of strings to check for.
738
+     * @return bool
739 739
      */
740 740
     public function has_status( $status ) {
741 741
         return in_array( $this->get_status(), wpinv_clean( wpinv_parse_list( $status ) ) );
742
-	}
742
+    }
743 743
 
744
-	/**
744
+    /**
745 745
      * Checks if the subscription has a trial period.
746
-	 *
747
-	 * @return bool
746
+     *
747
+     * @return bool
748 748
      */
749 749
     public function has_trial_period() {
750
-		$period = $this->get_trial_period();
750
+        $period = $this->get_trial_period();
751 751
         return ! empty( $period );
752
-	}
753
-
754
-	/**
755
-	 * Is the subscription active?
756
-	 *
757
-	 * @return bool
758
-	 */
759
-	public function is_active() {
760
-		return $this->has_status( 'active trialling' ) && ! $this->is_expired();
761
-	}
762
-
763
-	/**
764
-	 * Is the subscription expired?
765
-	 *
766
-	 * @return bool
767
-	 */
768
-	public function is_expired() {
769
-		return $this->has_status( 'expired' ) || ( $this->has_status( 'active cancelled trialling' ) && $this->get_expiration_time() < current_time( 'timestamp' ) );
770
-	}
771
-
772
-	/**
773
-	 * Is this the last renewals?
774
-	 *
775
-	 * @return bool
776
-	 */
777
-	public function is_last_renewal() {
778
-		$max_bills = $this->get_bill_times();
779
-		return ! empty( $max_bills ) && $max_bills <= $this->get_times_billed();
780
-	}
781
-
782
-	/*
752
+    }
753
+
754
+    /**
755
+     * Is the subscription active?
756
+     *
757
+     * @return bool
758
+     */
759
+    public function is_active() {
760
+        return $this->has_status( 'active trialling' ) && ! $this->is_expired();
761
+    }
762
+
763
+    /**
764
+     * Is the subscription expired?
765
+     *
766
+     * @return bool
767
+     */
768
+    public function is_expired() {
769
+        return $this->has_status( 'expired' ) || ( $this->has_status( 'active cancelled trialling' ) && $this->get_expiration_time() < current_time( 'timestamp' ) );
770
+    }
771
+
772
+    /**
773
+     * Is this the last renewals?
774
+     *
775
+     * @return bool
776
+     */
777
+    public function is_last_renewal() {
778
+        $max_bills = $this->get_bill_times();
779
+        return ! empty( $max_bills ) && $max_bills <= $this->get_times_billed();
780
+    }
781
+
782
+    /*
783 783
 	|--------------------------------------------------------------------------
784 784
 	| Additional methods
785 785
 	|--------------------------------------------------------------------------
@@ -788,27 +788,27 @@  discard block
 block discarded – undo
788 788
 	|
789 789
 	*/
790 790
 
791
-	/**
792
-	 * Backwards compatibilty.
793
-	 */
794
-	public function create( $data = array() ) {
791
+    /**
792
+     * Backwards compatibilty.
793
+     */
794
+    public function create( $data = array() ) {
795 795
 
796
-		// Set the properties.
797
-		if ( is_array( $data ) ) {
798
-			$this->set_props( $data );
799
-		}
796
+        // Set the properties.
797
+        if ( is_array( $data ) ) {
798
+            $this->set_props( $data );
799
+        }
800 800
 
801
-		// Save the item.
802
-		return $this->save();
801
+        // Save the item.
802
+        return $this->save();
803 803
 
804
-	}
804
+    }
805 805
 
806
-	/**
807
-	 * Backwards compatibilty.
808
-	 */
809
-	public function update( $args = array() ) {
810
-		return $this->create( $args );
811
-	}
806
+    /**
807
+     * Backwards compatibilty.
808
+     */
809
+    public function update( $args = array() ) {
810
+        return $this->create( $args );
811
+    }
812 812
 
813 813
     /**
814 814
      * Retrieve renewal payments for a subscription
@@ -818,22 +818,22 @@  discard block
 block discarded – undo
818 818
      */
819 819
     public function get_child_payments( $hide_pending = true ) {
820 820
 
821
-		$statuses = array( 'publish', 'wpi-processing', 'wpi-renewal' );
821
+        $statuses = array( 'publish', 'wpi-processing', 'wpi-renewal' );
822 822
 
823
-		if ( ! $hide_pending ) {
824
-			$statuses = array_keys( wpinv_get_invoice_statuses() );
825
-		}
823
+        if ( ! $hide_pending ) {
824
+            $statuses = array_keys( wpinv_get_invoice_statuses() );
825
+        }
826 826
 
827 827
         return get_posts(
828
-			array(
829
-            	'post_parent' => $this->get_parent_payment_id(),
830
-            	'numberposts' => -1,
831
-            	'post_status' => $statuses,
832
-            	'orderby'     => 'ID',
833
-            	'order'       => 'ASC',
834
-            	'post_type'   => 'wpi_invoice',
835
-			)
836
-		);
828
+            array(
829
+                'post_parent' => $this->get_parent_payment_id(),
830
+                'numberposts' => -1,
831
+                'post_status' => $statuses,
832
+                'orderby'     => 'ID',
833
+                'order'       => 'ASC',
834
+                'post_type'   => 'wpi_invoice',
835
+            )
836
+        );
837 837
     }
838 838
 
839 839
     /**
@@ -843,7 +843,7 @@  discard block
 block discarded – undo
843 843
      * @return int
844 844
      */
845 845
     public function get_total_payments() {
846
-		return getpaid_count_subscription_invoices( $this->get_parent_invoice_id(), $this->get_id() );
846
+        return getpaid_count_subscription_invoices( $this->get_parent_invoice_id(), $this->get_id() );
847 847
     }
848 848
 
849 849
     /**
@@ -867,192 +867,192 @@  discard block
 block discarded – undo
867 867
      *
868 868
      * @since  2.4
869 869
      * @param  array $args Array of values for the payment, including amount and transaction ID
870
-	 * @param  WPInv_Invoice $invoice If adding an existing invoice.
870
+     * @param  WPInv_Invoice $invoice If adding an existing invoice.
871 871
      * @return bool
872 872
      */
873 873
     public function add_payment( $args = array(), $invoice = false ) {
874 874
 
875
-		// Process each payment once.
875
+        // Process each payment once.
876 876
         if ( ! empty( $args['transaction_id'] ) && $this->payment_exists( $args['transaction_id'] ) ) {
877 877
             return false;
878 878
         }
879 879
 
880
-		// Are we creating a new invoice?
881
-		if ( empty( $invoice ) ) {
882
-			$invoice = $this->create_payment( false );
880
+        // Are we creating a new invoice?
881
+        if ( empty( $invoice ) ) {
882
+            $invoice = $this->create_payment( false );
883 883
 
884
-			if ( empty( $invoice ) ) {
885
-				return false;
886
-			}
887
-		}
884
+            if ( empty( $invoice ) ) {
885
+                return false;
886
+            }
887
+        }
888 888
 
889
-		// Maybe set a transaction id.
890
-		if ( ! empty( $args['transaction_id'] ) ) {
891
-			$invoice->set_transaction_id( $args['transaction_id'] );
892
-		}
889
+        // Maybe set a transaction id.
890
+        if ( ! empty( $args['transaction_id'] ) ) {
891
+            $invoice->set_transaction_id( $args['transaction_id'] );
892
+        }
893 893
 
894
-		// Set the completed date.
895
-		$invoice->set_completed_date( current_time( 'mysql' ) );
894
+        // Set the completed date.
895
+        $invoice->set_completed_date( current_time( 'mysql' ) );
896 896
 
897
-		// And the gateway.
898
-		if ( ! empty( $args['gateway'] ) ) {
899
-			$invoice->set_gateway( $args['gateway'] );
900
-		}
897
+        // And the gateway.
898
+        if ( ! empty( $args['gateway'] ) ) {
899
+            $invoice->set_gateway( $args['gateway'] );
900
+        }
901 901
 
902
-		$invoice->set_status( 'wpi-renewal' );
903
-		$invoice->save();
902
+        $invoice->set_status( 'wpi-renewal' );
903
+        $invoice->save();
904 904
 
905
-		if ( ! $invoice->exists() ) {
906
-			return false;
907
-		}
905
+        if ( ! $invoice->exists() ) {
906
+            return false;
907
+        }
908 908
 
909
-		return $this->after_add_payment( $invoice );
910
-	}
909
+        return $this->after_add_payment( $invoice );
910
+    }
911 911
 
912 912
     public function after_add_payment( $invoice ) {
913 913
 
914
-		do_action( 'getpaid_after_create_subscription_renewal_invoice', $invoice, $this );
915
-		do_action( 'wpinv_recurring_add_subscription_payment', $invoice, $this );
914
+        do_action( 'getpaid_after_create_subscription_renewal_invoice', $invoice, $this );
915
+        do_action( 'wpinv_recurring_add_subscription_payment', $invoice, $this );
916 916
         do_action( 'wpinv_recurring_record_payment', $invoice->get_id(), $this->get_parent_invoice_id(), $invoice->get_recurring_total(), $invoice->get_transaction_id() );
917 917
 
918 918
         update_post_meta( $invoice->get_id(), '_wpinv_subscription_id', $this->id );
919 919
 
920 920
         return $invoice->get_id();
921
-	}
921
+    }
922 922
 
923
-	/**
923
+    /**
924 924
      * Creates a new invoice and returns it.
925 925
      *
926 926
      * @since  1.0.19
927
-	 * @param bool $save Whether we should save the invoice.
927
+     * @param bool $save Whether we should save the invoice.
928 928
      * @return WPInv_Invoice|bool
929 929
      */
930 930
     public function create_payment( $save = true ) {
931 931
 
932
-		$parent_invoice = $this->get_parent_payment();
933
-
934
-		if ( ! $parent_invoice->exists() ) {
935
-			return false;
936
-		}
937
-
938
-		// Duplicate the parent invoice.
939
-		$invoice = getpaid_duplicate_invoice( $parent_invoice );
940
-		$invoice->set_parent_id( $parent_invoice->get_id() );
941
-		$invoice->set_subscription_id( $this->get_id() );
942
-		$invoice->set_remote_subscription_id( $this->get_profile_id() );
943
-
944
-		// Set invoice items.
945
-		$subscription_group = getpaid_get_invoice_subscription_group( $parent_invoice->get_id(), $this->get_id() );
946
-		$allowed_items      = empty( $subscription_group ) ? array( $this->get_product_id() ) : array_keys( $subscription_group['items'] );
947
-		$invoice_items      = array();
948
-
949
-		foreach ( $invoice->get_items() as $item ) {
950
-			if ( in_array( $item->get_id(), $allowed_items ) ) {
951
-				$invoice_items[] = $item;
952
-			}
953
-		}
954
-
955
-		$invoice->set_items( $invoice_items );
956
-
957
-		if ( ! empty( $subscription_group['fees'] ) ) {
958
-			$invoice->set_fees( $subscription_group['fees'] );
959
-		}
960
-
961
-		// Maybe recalculate discount (Pre-GetPaid Fix).
962
-		$discount = new WPInv_Discount( $invoice->get_discount_code() );
963
-		if ( $discount->exists() && $discount->is_recurring() && 0 == $invoice->get_total_discount() ) {
964
-			$invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
965
-		}
966
-
967
-		$invoice->recalculate_total();
968
-		$invoice->set_status( 'wpi-pending' );
969
-
970
-		if ( ! $save ) {
971
-			return $invoice;
972
-		}
973
-
974
-		$invoice->save();
975
-
976
-		return $invoice->exists() ? $invoice : false;
977
-    }
978
-
979
-	/**
980
-	 * Renews or completes a subscription
981
-	 *
982
-	 * @since  1.0.0
983
-	 * @return int The subscription's id
984
-	 */
985
-	public function renew( $calculate_from = null ) {
986
-
987
-		// Complete subscription if applicable
988
-		if ( $this->is_last_renewal() ) {
989
-			return $this->complete();
990
-		}
991
-
992
-		// Calculate new expiration
993
-		$frequency      = $this->get_frequency();
994
-		$period         = $this->get_period();
995
-		$calculate_from = empty( $calculate_from ) ? $this->get_expiration_time() : $calculate_from;
996
-		$new_expiration = strtotime( "+ $frequency $period", $calculate_from );
997
-
998
-		$this->set_expiration( date( 'Y-m-d H:i:s', $new_expiration ) );
999
-		$this->set_status( 'active' );
1000
-		$this->save();
1001
-
1002
-		do_action( 'getpaid_subscription_renewed', $this );
1003
-
1004
-		return $this->get_id();
1005
-	}
1006
-
1007
-	/**
1008
-	 * Marks a subscription as completed
1009
-	 *
1010
-	 * Subscription is completed when the number of payments matches the billing_times field
1011
-	 *
1012
-	 * @since  1.0.0
1013
-	 * @return int|bool Subscription id or false if the subscription is cancelled.
1014
-	 */
1015
-	public function complete() {
1016
-
1017
-		// Only mark a subscription as complete if it's not already cancelled.
1018
-		if ( $this->has_status( 'cancelled' ) ) {
1019
-			return false;
1020
-		}
1021
-
1022
-		$this->set_status( 'completed' );
1023
-		return $this->save();
1024
-
1025
-	}
1026
-
1027
-	/**
1028
-	 * Marks a subscription as expired
1029
-	 *
1030
-	 * @since  1.0.0
1031
-	 * @param  bool $check_expiration
1032
-	 * @return int|bool Subscription id or false if $check_expiration is true and expiration date is in the future.
1033
-	 */
1034
-	public function expire( $check_expiration = false ) {
1035
-
1036
-		if ( $check_expiration && $this->get_expiration_time() > current_time( 'timestamp' ) ) {
1037
-			// Do not mark as expired since real expiration date is in the future
1038
-			return false;
1039
-		}
1040
-
1041
-		$this->set_status( 'expired' );
1042
-		return $this->save();
1043
-
1044
-	}
1045
-
1046
-	/**
1047
-	 * Marks a subscription as failing
1048
-	 *
1049
-	 * @since  2.4.2
1050
-	 * @return int Subscription id.
1051
-	 */
1052
-	public function failing() {
1053
-		$this->set_status( 'failing' );
1054
-		return $this->save();
1055
-	}
932
+        $parent_invoice = $this->get_parent_payment();
933
+
934
+        if ( ! $parent_invoice->exists() ) {
935
+            return false;
936
+        }
937
+
938
+        // Duplicate the parent invoice.
939
+        $invoice = getpaid_duplicate_invoice( $parent_invoice );
940
+        $invoice->set_parent_id( $parent_invoice->get_id() );
941
+        $invoice->set_subscription_id( $this->get_id() );
942
+        $invoice->set_remote_subscription_id( $this->get_profile_id() );
943
+
944
+        // Set invoice items.
945
+        $subscription_group = getpaid_get_invoice_subscription_group( $parent_invoice->get_id(), $this->get_id() );
946
+        $allowed_items      = empty( $subscription_group ) ? array( $this->get_product_id() ) : array_keys( $subscription_group['items'] );
947
+        $invoice_items      = array();
948
+
949
+        foreach ( $invoice->get_items() as $item ) {
950
+            if ( in_array( $item->get_id(), $allowed_items ) ) {
951
+                $invoice_items[] = $item;
952
+            }
953
+        }
954
+
955
+        $invoice->set_items( $invoice_items );
956
+
957
+        if ( ! empty( $subscription_group['fees'] ) ) {
958
+            $invoice->set_fees( $subscription_group['fees'] );
959
+        }
960
+
961
+        // Maybe recalculate discount (Pre-GetPaid Fix).
962
+        $discount = new WPInv_Discount( $invoice->get_discount_code() );
963
+        if ( $discount->exists() && $discount->is_recurring() && 0 == $invoice->get_total_discount() ) {
964
+            $invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
965
+        }
966
+
967
+        $invoice->recalculate_total();
968
+        $invoice->set_status( 'wpi-pending' );
969
+
970
+        if ( ! $save ) {
971
+            return $invoice;
972
+        }
973
+
974
+        $invoice->save();
975
+
976
+        return $invoice->exists() ? $invoice : false;
977
+    }
978
+
979
+    /**
980
+     * Renews or completes a subscription
981
+     *
982
+     * @since  1.0.0
983
+     * @return int The subscription's id
984
+     */
985
+    public function renew( $calculate_from = null ) {
986
+
987
+        // Complete subscription if applicable
988
+        if ( $this->is_last_renewal() ) {
989
+            return $this->complete();
990
+        }
991
+
992
+        // Calculate new expiration
993
+        $frequency      = $this->get_frequency();
994
+        $period         = $this->get_period();
995
+        $calculate_from = empty( $calculate_from ) ? $this->get_expiration_time() : $calculate_from;
996
+        $new_expiration = strtotime( "+ $frequency $period", $calculate_from );
997
+
998
+        $this->set_expiration( date( 'Y-m-d H:i:s', $new_expiration ) );
999
+        $this->set_status( 'active' );
1000
+        $this->save();
1001
+
1002
+        do_action( 'getpaid_subscription_renewed', $this );
1003
+
1004
+        return $this->get_id();
1005
+    }
1006
+
1007
+    /**
1008
+     * Marks a subscription as completed
1009
+     *
1010
+     * Subscription is completed when the number of payments matches the billing_times field
1011
+     *
1012
+     * @since  1.0.0
1013
+     * @return int|bool Subscription id or false if the subscription is cancelled.
1014
+     */
1015
+    public function complete() {
1016
+
1017
+        // Only mark a subscription as complete if it's not already cancelled.
1018
+        if ( $this->has_status( 'cancelled' ) ) {
1019
+            return false;
1020
+        }
1021
+
1022
+        $this->set_status( 'completed' );
1023
+        return $this->save();
1024
+
1025
+    }
1026
+
1027
+    /**
1028
+     * Marks a subscription as expired
1029
+     *
1030
+     * @since  1.0.0
1031
+     * @param  bool $check_expiration
1032
+     * @return int|bool Subscription id or false if $check_expiration is true and expiration date is in the future.
1033
+     */
1034
+    public function expire( $check_expiration = false ) {
1035
+
1036
+        if ( $check_expiration && $this->get_expiration_time() > current_time( 'timestamp' ) ) {
1037
+            // Do not mark as expired since real expiration date is in the future
1038
+            return false;
1039
+        }
1040
+
1041
+        $this->set_status( 'expired' );
1042
+        return $this->save();
1043
+
1044
+    }
1045
+
1046
+    /**
1047
+     * Marks a subscription as failing
1048
+     *
1049
+     * @since  2.4.2
1050
+     * @return int Subscription id.
1051
+     */
1052
+    public function failing() {
1053
+        $this->set_status( 'failing' );
1054
+        return $this->save();
1055
+    }
1056 1056
 
1057 1057
     /**
1058 1058
      * Marks a subscription as cancelled
@@ -1061,19 +1061,19 @@  discard block
 block discarded – undo
1061 1061
      * @return int Subscription id.
1062 1062
      */
1063 1063
     public function cancel() {
1064
-		$this->set_status( 'cancelled' );
1065
-		return $this->save();
1064
+        $this->set_status( 'cancelled' );
1065
+        return $this->save();
1066 1066
     }
1067 1067
 
1068
-	/**
1069
-	 * Determines if a subscription can be cancelled both locally and with a payment processor.
1070
-	 *
1071
-	 * @since  1.0.0
1072
-	 * @return bool
1073
-	 */
1074
-	public function can_cancel() {
1075
-		return apply_filters( 'wpinv_subscription_can_cancel', $this->has_status( $this->get_cancellable_statuses() ), $this );
1076
-	}
1068
+    /**
1069
+     * Determines if a subscription can be cancelled both locally and with a payment processor.
1070
+     *
1071
+     * @since  1.0.0
1072
+     * @return bool
1073
+     */
1074
+    public function can_cancel() {
1075
+        return apply_filters( 'wpinv_subscription_can_cancel', $this->has_status( $this->get_cancellable_statuses() ), $this );
1076
+    }
1077 1077
 
1078 1078
     /**
1079 1079
      * Returns an array of subscription statuses that can be cancelled
@@ -1086,109 +1086,109 @@  discard block
 block discarded – undo
1086 1086
         return apply_filters( 'wpinv_recurring_cancellable_statuses', array( 'active', 'trialling', 'failing' ) );
1087 1087
     }
1088 1088
 
1089
-	/**
1090
-	 * Retrieves the URL to cancel subscription
1091
-	 *
1092
-	 * @since  1.0.0
1093
-	 * @return string
1094
-	 */
1095
-	public function get_cancel_url() {
1096
-		$url = getpaid_get_authenticated_action_url( 'subscription_cancel', $this->get_view_url() );
1097
-		return apply_filters( 'wpinv_subscription_cancel_url', $url, $this );
1098
-	}
1099
-
1100
-	/**
1101
-	 * Retrieves the URL to view a subscription
1102
-	 *
1103
-	 * @since  1.0.19
1104
-	 * @return string
1105
-	 */
1106
-	public function get_view_url() {
1107
-
1108
-		$url = getpaid_get_tab_url( 'gp-subscriptions', get_permalink( (int) wpinv_get_option( 'invoice_subscription_page' ) ) );
1109
-		$url = add_query_arg( 'subscription', $this->get_id(), $url );
1110
-
1111
-		return apply_filters( 'getpaid_get_subscription_view_url', $url, $this );
1112
-	}
1113
-
1114
-	/**
1115
-	 * Determines if subscription can be manually renewed
1116
-	 *
1117
-	 * This method is filtered by payment gateways in order to return true on subscriptions
1118
-	 * that can be renewed manually
1119
-	 *
1120
-	 * @since  2.5
1121
-	 * @return bool
1122
-	 */
1123
-	public function can_renew() {
1124
-		return apply_filters( 'wpinv_subscription_can_renew', true, $this );
1125
-	}
1126
-
1127
-	/**
1128
-	 * Retrieves the URL to renew a subscription
1129
-	 *
1130
-	 * @since  2.5
1131
-	 * @return string
1132
-	 */
1133
-	public function get_renew_url() {
1134
-		$url = wp_nonce_url(
1089
+    /**
1090
+     * Retrieves the URL to cancel subscription
1091
+     *
1092
+     * @since  1.0.0
1093
+     * @return string
1094
+     */
1095
+    public function get_cancel_url() {
1096
+        $url = getpaid_get_authenticated_action_url( 'subscription_cancel', $this->get_view_url() );
1097
+        return apply_filters( 'wpinv_subscription_cancel_url', $url, $this );
1098
+    }
1099
+
1100
+    /**
1101
+     * Retrieves the URL to view a subscription
1102
+     *
1103
+     * @since  1.0.19
1104
+     * @return string
1105
+     */
1106
+    public function get_view_url() {
1107
+
1108
+        $url = getpaid_get_tab_url( 'gp-subscriptions', get_permalink( (int) wpinv_get_option( 'invoice_subscription_page' ) ) );
1109
+        $url = add_query_arg( 'subscription', $this->get_id(), $url );
1110
+
1111
+        return apply_filters( 'getpaid_get_subscription_view_url', $url, $this );
1112
+    }
1113
+
1114
+    /**
1115
+     * Determines if subscription can be manually renewed
1116
+     *
1117
+     * This method is filtered by payment gateways in order to return true on subscriptions
1118
+     * that can be renewed manually
1119
+     *
1120
+     * @since  2.5
1121
+     * @return bool
1122
+     */
1123
+    public function can_renew() {
1124
+        return apply_filters( 'wpinv_subscription_can_renew', true, $this );
1125
+    }
1126
+
1127
+    /**
1128
+     * Retrieves the URL to renew a subscription
1129
+     *
1130
+     * @since  2.5
1131
+     * @return string
1132
+     */
1133
+    public function get_renew_url() {
1134
+        $url = wp_nonce_url(
1135 1135
             add_query_arg(
1136 1136
                 array(
1137
-					'getpaid-action' => 'renew_subscription',
1138
-					'sub_id'         => $this->get_id,
1137
+                    'getpaid-action' => 'renew_subscription',
1138
+                    'sub_id'         => $this->get_id,
1139 1139
                 )
1140 1140
             ),
1141 1141
             'getpaid-nonce'
1142 1142
         );
1143
-		return apply_filters( 'wpinv_subscription_renew_url', $url, $this );
1144
-	}
1145
-
1146
-	/**
1147
-	 * Determines if subscription can have their payment method updated
1148
-	 *
1149
-	 * @since  1.0.0
1150
-	 * @return bool
1151
-	 */
1152
-	public function can_update() {
1153
-		return apply_filters( 'wpinv_subscription_can_update', false, $this );
1154
-	}
1155
-
1156
-	/**
1157
-	 * Retrieves the URL to update subscription
1158
-	 *
1159
-	 * @since  1.0.0
1160
-	 * @return string
1161
-	 */
1162
-	public function get_update_url() {
1163
-		$url = add_query_arg(
1143
+        return apply_filters( 'wpinv_subscription_renew_url', $url, $this );
1144
+    }
1145
+
1146
+    /**
1147
+     * Determines if subscription can have their payment method updated
1148
+     *
1149
+     * @since  1.0.0
1150
+     * @return bool
1151
+     */
1152
+    public function can_update() {
1153
+        return apply_filters( 'wpinv_subscription_can_update', false, $this );
1154
+    }
1155
+
1156
+    /**
1157
+     * Retrieves the URL to update subscription
1158
+     *
1159
+     * @since  1.0.0
1160
+     * @return string
1161
+     */
1162
+    public function get_update_url() {
1163
+        $url = add_query_arg(
1164 1164
             array(
1165
-				'action'          => 'update',
1166
-				'subscription_id' => $this->get_id(),
1165
+                'action'          => 'update',
1166
+                'subscription_id' => $this->get_id(),
1167 1167
             )
1168 1168
         );
1169
-		return apply_filters( 'wpinv_subscription_update_url', $url, $this );
1170
-	}
1171
-
1172
-	/**
1173
-	 * Retrieves the subscription status label
1174
-	 *
1175
-	 * @since  1.0.0
1176
-	 * @return string
1177
-	 */
1178
-	public function get_status_label() {
1179
-		return getpaid_get_subscription_status_label( $this->get_status() );
1180
-	}
1181
-
1182
-	/**
1183
-	 * Retrieves the subscription status class
1184
-	 *
1185
-	 * @since  1.0.19
1186
-	 * @return string
1187
-	 */
1188
-	public function get_status_class() {
1189
-		$statuses = getpaid_get_subscription_status_classes();
1190
-		return isset( $statuses[ $this->get_status() ] ) ? $statuses[ $this->get_status() ] : 'bg-dark';
1191
-	}
1169
+        return apply_filters( 'wpinv_subscription_update_url', $url, $this );
1170
+    }
1171
+
1172
+    /**
1173
+     * Retrieves the subscription status label
1174
+     *
1175
+     * @since  1.0.0
1176
+     * @return string
1177
+     */
1178
+    public function get_status_label() {
1179
+        return getpaid_get_subscription_status_label( $this->get_status() );
1180
+    }
1181
+
1182
+    /**
1183
+     * Retrieves the subscription status class
1184
+     *
1185
+     * @since  1.0.19
1186
+     * @return string
1187
+     */
1188
+    public function get_status_class() {
1189
+        $statuses = getpaid_get_subscription_status_classes();
1190
+        return isset( $statuses[ $this->get_status() ] ) ? $statuses[ $this->get_status() ] : 'bg-dark';
1191
+    }
1192 1192
 
1193 1193
     /**
1194 1194
      * Retrieves the subscription status label
@@ -1198,11 +1198,11 @@  discard block
 block discarded – undo
1198 1198
      */
1199 1199
     public function get_status_label_html() {
1200 1200
 
1201
-		$status_label = sanitize_text_field( $this->get_status_label() );
1202
-		$class        = esc_attr( $this->get_status_class() );
1203
-		$status       = sanitize_html_class( $this->get_status() );
1201
+        $status_label = sanitize_text_field( $this->get_status_label() );
1202
+        $class        = esc_attr( $this->get_status_class() );
1203
+        $status       = sanitize_html_class( $this->get_status() );
1204 1204
 
1205
-		return "<span class='bsui'><span class='badge $class $status'>$status_label</span></span>";
1205
+        return "<span class='bsui'><span class='badge $class $status'>$status_label</span></span>";
1206 1206
     }
1207 1207
 
1208 1208
     /**
@@ -1213,75 +1213,75 @@  discard block
 block discarded – undo
1213 1213
      * @return bool
1214 1214
      */
1215 1215
     public function payment_exists( $txn_id = '' ) {
1216
-		$invoice_id = WPInv_Invoice::get_invoice_id_by_field( $txn_id, 'transaction_id' );
1216
+        $invoice_id = WPInv_Invoice::get_invoice_id_by_field( $txn_id, 'transaction_id' );
1217 1217
         return ! empty( $invoice_id );
1218
-	}
1219
-
1220
-	/**
1221
-	 * Handle the status transition.
1222
-	 */
1223
-	protected function status_transition() {
1224
-		$status_transition = $this->status_transition;
1225
-
1226
-		// Reset status transition variable.
1227
-		$this->status_transition = false;
1228
-
1229
-		if ( $status_transition ) {
1230
-			try {
1231
-
1232
-				// Fire a hook for the status change.
1233
-				do_action( 'wpinv_subscription_' . $status_transition['to'], $this->get_id(), $this, $status_transition );
1234
-				do_action( 'getpaid_subscription_' . $status_transition['to'], $this, $status_transition );
1235
-
1236
-				if ( ! empty( $status_transition['from'] ) ) {
1237
-
1238
-					/* translators: 1: old subscription status 2: new subscription status */
1239
-					$transition_note = sprintf( __( 'Subscription status changed from %1$s to %2$s.', 'invoicing' ), getpaid_get_subscription_status_label( $status_transition['from'] ), getpaid_get_subscription_status_label( $status_transition['to'] ) );
1240
-
1241
-					// Note the transition occurred.
1242
-					$this->get_parent_payment()->add_note( $transition_note, false, false, true );
1243
-
1244
-					// Fire another hook.
1245
-					do_action( 'getpaid_subscription_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this->get_id(), $this );
1246
-					do_action( 'getpaid_subscription_status_changed', $this, $status_transition['from'], $status_transition['to'] );
1247
-
1248
-				} else {
1249
-					/* translators: %s: new invoice status */
1250
-					$transition_note = sprintf( __( 'Subscription status set to %s.', 'invoicing' ), getpaid_get_subscription_status_label( $status_transition['to'] ) );
1251
-
1252
-					// Note the transition occurred.
1253
-					$this->get_parent_payment()->add_note( $transition_note, false, false, true );
1254
-
1255
-				}
1256
-			} catch ( Exception $e ) {
1257
-				$this->get_parent_payment()->add_note( __( 'Error during subscription status transition.', 'invoicing' ) . ' ' . $e->getMessage() );
1258
-			}
1259
-		}
1260
-
1261
-	}
1262
-
1263
-	/**
1264
-	 * Save data to the database.
1265
-	 *
1266
-	 * @since 1.0.19
1267
-	 * @return int subscription ID
1268
-	 */
1269
-	public function save() {
1270
-		parent::save();
1271
-		$this->status_transition();
1272
-		return $this->get_id();
1273
-	}
1274
-
1275
-	/**
1276
-	 * Activates a subscription.
1277
-	 *
1278
-	 * @since 1.0.19
1279
-	 * @return int subscription ID
1280
-	 */
1281
-	public function activate() {
1282
-		$status = $this->has_trial_period() && 'trialling' === $this->get_status() ? 'trialling' : 'active';
1283
-		$this->set_status( $status );
1284
-		return $this->save();
1285
-	}
1218
+    }
1219
+
1220
+    /**
1221
+     * Handle the status transition.
1222
+     */
1223
+    protected function status_transition() {
1224
+        $status_transition = $this->status_transition;
1225
+
1226
+        // Reset status transition variable.
1227
+        $this->status_transition = false;
1228
+
1229
+        if ( $status_transition ) {
1230
+            try {
1231
+
1232
+                // Fire a hook for the status change.
1233
+                do_action( 'wpinv_subscription_' . $status_transition['to'], $this->get_id(), $this, $status_transition );
1234
+                do_action( 'getpaid_subscription_' . $status_transition['to'], $this, $status_transition );
1235
+
1236
+                if ( ! empty( $status_transition['from'] ) ) {
1237
+
1238
+                    /* translators: 1: old subscription status 2: new subscription status */
1239
+                    $transition_note = sprintf( __( 'Subscription status changed from %1$s to %2$s.', 'invoicing' ), getpaid_get_subscription_status_label( $status_transition['from'] ), getpaid_get_subscription_status_label( $status_transition['to'] ) );
1240
+
1241
+                    // Note the transition occurred.
1242
+                    $this->get_parent_payment()->add_note( $transition_note, false, false, true );
1243
+
1244
+                    // Fire another hook.
1245
+                    do_action( 'getpaid_subscription_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this->get_id(), $this );
1246
+                    do_action( 'getpaid_subscription_status_changed', $this, $status_transition['from'], $status_transition['to'] );
1247
+
1248
+                } else {
1249
+                    /* translators: %s: new invoice status */
1250
+                    $transition_note = sprintf( __( 'Subscription status set to %s.', 'invoicing' ), getpaid_get_subscription_status_label( $status_transition['to'] ) );
1251
+
1252
+                    // Note the transition occurred.
1253
+                    $this->get_parent_payment()->add_note( $transition_note, false, false, true );
1254
+
1255
+                }
1256
+            } catch ( Exception $e ) {
1257
+                $this->get_parent_payment()->add_note( __( 'Error during subscription status transition.', 'invoicing' ) . ' ' . $e->getMessage() );
1258
+            }
1259
+        }
1260
+
1261
+    }
1262
+
1263
+    /**
1264
+     * Save data to the database.
1265
+     *
1266
+     * @since 1.0.19
1267
+     * @return int subscription ID
1268
+     */
1269
+    public function save() {
1270
+        parent::save();
1271
+        $this->status_transition();
1272
+        return $this->get_id();
1273
+    }
1274
+
1275
+    /**
1276
+     * Activates a subscription.
1277
+     *
1278
+     * @since 1.0.19
1279
+     * @return int subscription ID
1280
+     */
1281
+    public function activate() {
1282
+        $status = $this->has_trial_period() && 'trialling' === $this->get_status() ? 'trialling' : 'active';
1283
+        $this->set_status( $status );
1284
+        return $this->save();
1285
+    }
1286 1286
 
1287 1287
 }
Please login to merge, or discard this patch.
Spacing   +234 added lines, -234 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  * @package Invoicing
7 7
  */
8 8
 
9
-defined( 'ABSPATH' ) || exit;
9
+defined('ABSPATH') || exit;
10 10
 
11 11
 /**
12 12
  * The Subscription Class
@@ -68,27 +68,27 @@  discard block
 block discarded – undo
68 68
 	 * @param  int|string|object|WPInv_Subscription $subscription Subscription id, profile_id, or object to read.
69 69
 	 * @param  bool $deprecated
70 70
 	 */
71
-	function __construct( $subscription = 0, $deprecated = false ) {
71
+	function __construct($subscription = 0, $deprecated = false) {
72 72
 
73
-		parent::__construct( $subscription );
73
+		parent::__construct($subscription);
74 74
 
75
-		if ( ! $deprecated && ! empty( $subscription ) && is_numeric( $subscription ) ) {
76
-			$this->set_id( $subscription );
77
-		} elseif ( $subscription instanceof self ) {
78
-			$this->set_id( $subscription->get_id() );
79
-		} elseif ( $deprecated && $subscription_id = self::get_subscription_id_by_field( $subscription, 'profile_id' ) ) {
80
-			$this->set_id( $subscription_id );
81
-		} elseif ( ! empty( $subscription->id ) ) {
82
-			$this->set_id( $subscription->id );
75
+		if (!$deprecated && !empty($subscription) && is_numeric($subscription)) {
76
+			$this->set_id($subscription);
77
+		} elseif ($subscription instanceof self) {
78
+			$this->set_id($subscription->get_id());
79
+		} elseif ($deprecated && $subscription_id = self::get_subscription_id_by_field($subscription, 'profile_id')) {
80
+			$this->set_id($subscription_id);
81
+		} elseif (!empty($subscription->id)) {
82
+			$this->set_id($subscription->id);
83 83
 		} else {
84
-			$this->set_object_read( true );
84
+			$this->set_object_read(true);
85 85
 		}
86 86
 
87 87
 		// Load the datastore.
88
-		$this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
88
+		$this->data_store = GetPaid_Data_Store::load($this->data_store_name);
89 89
 
90
-		if ( $this->get_id() > 0 ) {
91
-			$this->data_store->read( $this );
90
+		if ($this->get_id() > 0) {
91
+			$this->data_store->read($this);
92 92
 		}
93 93
 
94 94
 	}
@@ -103,17 +103,17 @@  discard block
 block discarded – undo
103 103
 	 * @since 1.0.19
104 104
 	 * @return int
105 105
 	 */
106
-	public static function get_subscription_id_by_field( $value, $field = 'profile_id' ) {
106
+	public static function get_subscription_id_by_field($value, $field = 'profile_id') {
107 107
         global $wpdb;
108 108
 
109 109
 		// Trim the value.
110
-		$value = trim( $value );
110
+		$value = trim($value);
111 111
 
112
-		if ( empty( $value ) ) {
112
+		if (empty($value)) {
113 113
 			return 0;
114 114
 		}
115 115
 
116
-		if ( 'invoice_id' == $field ) {
116
+		if ('invoice_id' == $field) {
117 117
 			$field = 'parent_payment_id';
118 118
 		}
119 119
 
@@ -125,28 +125,28 @@  discard block
 block discarded – undo
125 125
 		);
126 126
 
127 127
 		// Ensure a field has been passed.
128
-		if ( empty( $field ) || ! in_array( $field, $fields ) ) {
128
+		if (empty($field) || !in_array($field, $fields)) {
129 129
 			return 0;
130 130
 		}
131 131
 
132 132
 		// Maybe retrieve from the cache.
133
-		$subscription_id   = wp_cache_get( $value, "getpaid_subscription_{$field}s_to_subscription_ids" );
134
-		if ( ! empty( $subscription_id ) ) {
133
+		$subscription_id = wp_cache_get($value, "getpaid_subscription_{$field}s_to_subscription_ids");
134
+		if (!empty($subscription_id)) {
135 135
 			return $subscription_id;
136 136
 		}
137 137
 
138 138
         // Fetch from the db.
139 139
         $table            = $wpdb->prefix . 'wpinv_subscriptions';
140 140
         $subscription_id  = (int) $wpdb->get_var(
141
-            $wpdb->prepare( "SELECT `id` FROM $table WHERE `$field`=%s LIMIT 1", $value )
141
+            $wpdb->prepare("SELECT `id` FROM $table WHERE `$field`=%s LIMIT 1", $value)
142 142
         );
143 143
 
144
-		if ( empty( $subscription_id ) ) {
144
+		if (empty($subscription_id)) {
145 145
 			return 0;
146 146
 		}
147 147
 
148 148
 		// Update the cache with our data.
149
-		wp_cache_set( $value, $subscription_id, "getpaid_subscription_{$field}s_to_subscription_ids" );
149
+		wp_cache_set($value, $subscription_id, "getpaid_subscription_{$field}s_to_subscription_ids");
150 150
 
151 151
 		return $subscription_id;
152 152
 	}
@@ -162,9 +162,9 @@  discard block
 block discarded – undo
162 162
 			'getpaid_subscriptions'                                       => $this->get_id(),
163 163
 		);
164 164
 
165
-		foreach ( $caches as $cache => $value ) {
166
-			if ( '' !== $value && false !== $value ) {
167
-				wp_cache_delete( $value, $cache );
165
+		foreach ($caches as $cache => $value) {
166
+			if ('' !== $value && false !== $value) {
167
+				wp_cache_delete($value, $cache);
168 168
 			}
169 169
 		}
170 170
 	}
@@ -172,8 +172,8 @@  discard block
 block discarded – undo
172 172
 	/**
173 173
      * Checks if a subscription key is set.
174 174
      */
175
-    public function _isset( $key ) {
176
-        return isset( $this->data[ $key ] ) || method_exists( $this, "get_$key" );
175
+    public function _isset($key) {
176
+        return isset($this->data[$key]) || method_exists($this, "get_$key");
177 177
 	}
178 178
 
179 179
 	/*
@@ -198,8 +198,8 @@  discard block
 block discarded – undo
198 198
 	 * @param  string $context View or edit context.
199 199
 	 * @return int
200 200
 	 */
201
-	public function get_customer_id( $context = 'view' ) {
202
-		return (int) $this->get_prop( 'customer_id', $context );
201
+	public function get_customer_id($context = 'view') {
202
+		return (int) $this->get_prop('customer_id', $context);
203 203
 	}
204 204
 
205 205
 	/**
@@ -209,8 +209,8 @@  discard block
 block discarded – undo
209 209
 	 * @param  string $context View or edit context.
210 210
 	 * @return WP_User|false WP_User object on success, false on failure.
211 211
 	 */
212
-	public function get_customer( $context = 'view' ) {
213
-		return get_userdata( $this->get_customer_id( $context ) );
212
+	public function get_customer($context = 'view') {
213
+		return get_userdata($this->get_customer_id($context));
214 214
 	}
215 215
 
216 216
 	/**
@@ -220,8 +220,8 @@  discard block
 block discarded – undo
220 220
 	 * @param  string $context View or edit context.
221 221
 	 * @return int
222 222
 	 */
223
-	public function get_parent_invoice_id( $context = 'view' ) {
224
-		return (int) $this->get_prop( 'parent_payment_id', $context );
223
+	public function get_parent_invoice_id($context = 'view') {
224
+		return (int) $this->get_prop('parent_payment_id', $context);
225 225
 	}
226 226
 
227 227
 	/**
@@ -231,8 +231,8 @@  discard block
 block discarded – undo
231 231
 	 * @param  string $context View or edit context.
232 232
 	 * @return int
233 233
 	 */
234
-    public function get_parent_payment_id( $context = 'view' ) {
235
-        return $this->get_parent_invoice_id( $context );
234
+    public function get_parent_payment_id($context = 'view') {
235
+        return $this->get_parent_invoice_id($context);
236 236
 	}
237 237
 
238 238
 	/**
@@ -241,8 +241,8 @@  discard block
 block discarded – undo
241 241
      * @since  1.0.0
242 242
      * @return int
243 243
      */
244
-    public function get_original_payment_id( $context = 'view' ) {
245
-        return $this->get_parent_invoice_id( $context );
244
+    public function get_original_payment_id($context = 'view') {
245
+        return $this->get_parent_invoice_id($context);
246 246
     }
247 247
 
248 248
 	/**
@@ -252,8 +252,8 @@  discard block
 block discarded – undo
252 252
 	 * @param  string $context View or edit context.
253 253
 	 * @return WPInv_Invoice
254 254
 	 */
255
-	public function get_parent_invoice( $context = 'view' ) {
256
-		return new WPInv_Invoice( $this->get_parent_invoice_id( $context ) );
255
+	public function get_parent_invoice($context = 'view') {
256
+		return new WPInv_Invoice($this->get_parent_invoice_id($context));
257 257
 	}
258 258
 
259 259
 	/**
@@ -263,8 +263,8 @@  discard block
 block discarded – undo
263 263
 	 * @param  string $context View or edit context.
264 264
 	 * @return WPInv_Invoice
265 265
 	 */
266
-    public function get_parent_payment( $context = 'view' ) {
267
-        return $this->get_parent_invoice( $context );
266
+    public function get_parent_payment($context = 'view') {
267
+        return $this->get_parent_invoice($context);
268 268
 	}
269 269
 
270 270
 	/**
@@ -274,8 +274,8 @@  discard block
 block discarded – undo
274 274
 	 * @param  string $context View or edit context.
275 275
 	 * @return int
276 276
 	 */
277
-	public function get_product_id( $context = 'view' ) {
278
-		return (int) $this->get_prop( 'product_id', $context );
277
+	public function get_product_id($context = 'view') {
278
+		return (int) $this->get_prop('product_id', $context);
279 279
 	}
280 280
 
281 281
 	/**
@@ -285,8 +285,8 @@  discard block
 block discarded – undo
285 285
 	 * @param  string $context View or edit context.
286 286
 	 * @return WPInv_Item
287 287
 	 */
288
-	public function get_product( $context = 'view' ) {
289
-		return new WPInv_Item( $this->get_product_id( $context ) );
288
+	public function get_product($context = 'view') {
289
+		return new WPInv_Item($this->get_product_id($context));
290 290
 	}
291 291
 
292 292
 	/**
@@ -298,8 +298,8 @@  discard block
 block discarded – undo
298 298
 	 * @param  string $context View or edit context.
299 299
 	 * @return string
300 300
 	 */
301
-	public function get_gateway( $context = 'view' ) {
302
-		return $this->get_parent_invoice( $context )->get_gateway();
301
+	public function get_gateway($context = 'view') {
302
+		return $this->get_parent_invoice($context)->get_gateway();
303 303
 	}
304 304
 
305 305
 	/**
@@ -309,8 +309,8 @@  discard block
 block discarded – undo
309 309
 	 * @param  string $context View or edit context.
310 310
 	 * @return string
311 311
 	 */
312
-	public function get_period( $context = 'view' ) {
313
-		return $this->get_prop( 'period', $context );
312
+	public function get_period($context = 'view') {
313
+		return $this->get_prop('period', $context);
314 314
 	}
315 315
 
316 316
 	/**
@@ -320,8 +320,8 @@  discard block
 block discarded – undo
320 320
 	 * @param  string $context View or edit context.
321 321
 	 * @return int
322 322
 	 */
323
-	public function get_frequency( $context = 'view' ) {
324
-		return (int) $this->get_prop( 'frequency', $context );
323
+	public function get_frequency($context = 'view') {
324
+		return (int) $this->get_prop('frequency', $context);
325 325
 	}
326 326
 
327 327
 	/**
@@ -331,8 +331,8 @@  discard block
 block discarded – undo
331 331
 	 * @param  string $context View or edit context.
332 332
 	 * @return float
333 333
 	 */
334
-	public function get_initial_amount( $context = 'view' ) {
335
-		return (float) wpinv_sanitize_amount( $this->get_prop( 'initial_amount', $context ) );
334
+	public function get_initial_amount($context = 'view') {
335
+		return (float) wpinv_sanitize_amount($this->get_prop('initial_amount', $context));
336 336
 	}
337 337
 
338 338
 	/**
@@ -342,8 +342,8 @@  discard block
 block discarded – undo
342 342
 	 * @param  string $context View or edit context.
343 343
 	 * @return float
344 344
 	 */
345
-	public function get_recurring_amount( $context = 'view' ) {
346
-		return (float) wpinv_sanitize_amount( $this->get_prop( 'recurring_amount', $context ) );
345
+	public function get_recurring_amount($context = 'view') {
346
+		return (float) wpinv_sanitize_amount($this->get_prop('recurring_amount', $context));
347 347
 	}
348 348
 
349 349
 	/**
@@ -353,8 +353,8 @@  discard block
 block discarded – undo
353 353
 	 * @param  string $context View or edit context.
354 354
 	 * @return int
355 355
 	 */
356
-	public function get_bill_times( $context = 'view' ) {
357
-		return (int) $this->get_prop( 'bill_times', $context );
356
+	public function get_bill_times($context = 'view') {
357
+		return (int) $this->get_prop('bill_times', $context);
358 358
 	}
359 359
 
360 360
 	/**
@@ -364,8 +364,8 @@  discard block
 block discarded – undo
364 364
 	 * @param  string $context View or edit context.
365 365
 	 * @return string
366 366
 	 */
367
-	public function get_transaction_id( $context = 'view' ) {
368
-		return $this->get_prop( 'transaction_id', $context );
367
+	public function get_transaction_id($context = 'view') {
368
+		return $this->get_prop('transaction_id', $context);
369 369
 	}
370 370
 
371 371
 	/**
@@ -375,8 +375,8 @@  discard block
 block discarded – undo
375 375
 	 * @param  string $context View or edit context.
376 376
 	 * @return string
377 377
 	 */
378
-	public function get_created( $context = 'view' ) {
379
-		return $this->get_prop( 'created', $context );
378
+	public function get_created($context = 'view') {
379
+		return $this->get_prop('created', $context);
380 380
 	}
381 381
 
382 382
 	/**
@@ -386,8 +386,8 @@  discard block
 block discarded – undo
386 386
 	 * @param  string $context View or edit context.
387 387
 	 * @return string
388 388
 	 */
389
-	public function get_date_created( $context = 'view' ) {
390
-		return $this->get_created( $context );
389
+	public function get_date_created($context = 'view') {
390
+		return $this->get_created($context);
391 391
 	}
392 392
 
393 393
 	/**
@@ -398,7 +398,7 @@  discard block
 block discarded – undo
398 398
 	 */
399 399
 	public function get_time_created() {
400 400
 		$created = $this->get_date_created();
401
-		return empty( $created ) ? current_time( 'timestamp' ) : strtotime( $created, current_time( 'timestamp' ) );
401
+		return empty($created) ? current_time('timestamp') : strtotime($created, current_time('timestamp'));
402 402
 	}
403 403
 
404 404
 	/**
@@ -408,11 +408,11 @@  discard block
 block discarded – undo
408 408
 	 * @param  string $context View or edit context.
409 409
 	 * @return string
410 410
 	 */
411
-	public function get_date_created_gmt( $context = 'view' ) {
412
-        $date = $this->get_date_created( $context );
411
+	public function get_date_created_gmt($context = 'view') {
412
+        $date = $this->get_date_created($context);
413 413
 
414
-        if ( $date ) {
415
-            $date = get_gmt_from_date( $date );
414
+        if ($date) {
415
+            $date = get_gmt_from_date($date);
416 416
         }
417 417
 		return $date;
418 418
 	}
@@ -424,8 +424,8 @@  discard block
 block discarded – undo
424 424
 	 * @param  string $context View or edit context.
425 425
 	 * @return string
426 426
 	 */
427
-	public function get_next_renewal_date( $context = 'view' ) {
428
-		return $this->get_prop( 'expiration', $context );
427
+	public function get_next_renewal_date($context = 'view') {
428
+		return $this->get_prop('expiration', $context);
429 429
 	}
430 430
 
431 431
 	/**
@@ -435,8 +435,8 @@  discard block
 block discarded – undo
435 435
 	 * @param  string $context View or edit context.
436 436
 	 * @return string
437 437
 	 */
438
-	public function get_expiration( $context = 'view' ) {
439
-		return $this->get_next_renewal_date( $context );
438
+	public function get_expiration($context = 'view') {
439
+		return $this->get_next_renewal_date($context);
440 440
 	}
441 441
 
442 442
 	/**
@@ -448,12 +448,12 @@  discard block
 block discarded – undo
448 448
 	public function get_expiration_time() {
449 449
 		$expiration = $this->get_expiration();
450 450
 
451
-		if ( empty( $expiration ) || '0000-00-00 00:00:00' == $expiration ) {
452
-			return current_time( 'timestamp' );
451
+		if (empty($expiration) || '0000-00-00 00:00:00' == $expiration) {
452
+			return current_time('timestamp');
453 453
 		}
454 454
 
455
-		$expiration = strtotime( $expiration, current_time( 'timestamp' ) );
456
-		return $expiration < current_time( 'timestamp' ) ? current_time( 'timestamp' ) : $expiration;
455
+		$expiration = strtotime($expiration, current_time('timestamp'));
456
+		return $expiration < current_time('timestamp') ? current_time('timestamp') : $expiration;
457 457
 	}
458 458
 
459 459
 	/**
@@ -463,11 +463,11 @@  discard block
 block discarded – undo
463 463
 	 * @param  string $context View or edit context.
464 464
 	 * @return string
465 465
 	 */
466
-	public function get_next_renewal_date_gmt( $context = 'view' ) {
467
-        $date = $this->get_next_renewal_date( $context );
466
+	public function get_next_renewal_date_gmt($context = 'view') {
467
+        $date = $this->get_next_renewal_date($context);
468 468
 
469
-        if ( $date ) {
470
-            $date = get_gmt_from_date( $date );
469
+        if ($date) {
470
+            $date = get_gmt_from_date($date);
471 471
         }
472 472
 		return $date;
473 473
 	}
@@ -479,8 +479,8 @@  discard block
 block discarded – undo
479 479
 	 * @param  string $context View or edit context.
480 480
 	 * @return string
481 481
 	 */
482
-	public function get_trial_period( $context = 'view' ) {
483
-		return $this->get_prop( 'trial_period', $context );
482
+	public function get_trial_period($context = 'view') {
483
+		return $this->get_prop('trial_period', $context);
484 484
 	}
485 485
 
486 486
 	/**
@@ -490,8 +490,8 @@  discard block
 block discarded – undo
490 490
 	 * @param  string $context View or edit context.
491 491
 	 * @return string
492 492
 	 */
493
-	public function get_status( $context = 'view' ) {
494
-		return $this->get_prop( 'status', $context );
493
+	public function get_status($context = 'view') {
494
+		return $this->get_prop('status', $context);
495 495
 	}
496 496
 
497 497
 	/**
@@ -501,8 +501,8 @@  discard block
 block discarded – undo
501 501
 	 * @param  string $context View or edit context.
502 502
 	 * @return string
503 503
 	 */
504
-	public function get_profile_id( $context = 'view' ) {
505
-		return $this->get_prop( 'profile_id', $context );
504
+	public function get_profile_id($context = 'view') {
505
+		return $this->get_prop('profile_id', $context);
506 506
 	}
507 507
 
508 508
 	/*
@@ -517,8 +517,8 @@  discard block
 block discarded – undo
517 517
 	 * @since 1.0.19
518 518
 	 * @param  int $value The customer's id.
519 519
 	 */
520
-	public function set_customer_id( $value ) {
521
-		$this->set_prop( 'customer_id', (int) $value );
520
+	public function set_customer_id($value) {
521
+		$this->set_prop('customer_id', (int) $value);
522 522
 	}
523 523
 
524 524
 	/**
@@ -527,8 +527,8 @@  discard block
 block discarded – undo
527 527
 	 * @since 1.0.19
528 528
 	 * @param  int $value The parent invoice id.
529 529
 	 */
530
-	public function set_parent_invoice_id( $value ) {
531
-		$this->set_prop( 'parent_payment_id', (int) $value );
530
+	public function set_parent_invoice_id($value) {
531
+		$this->set_prop('parent_payment_id', (int) $value);
532 532
 	}
533 533
 
534 534
 	/**
@@ -537,8 +537,8 @@  discard block
 block discarded – undo
537 537
 	 * @since 1.0.19
538 538
 	 * @param  int $value The parent invoice id.
539 539
 	 */
540
-    public function set_parent_payment_id( $value ) {
541
-        $this->set_parent_invoice_id( $value );
540
+    public function set_parent_payment_id($value) {
541
+        $this->set_parent_invoice_id($value);
542 542
 	}
543 543
 
544 544
 	/**
@@ -547,8 +547,8 @@  discard block
 block discarded – undo
547 547
      * @since 1.0.19
548 548
 	 * @param  int $value The parent invoice id.
549 549
      */
550
-    public function set_original_payment_id( $value ) {
551
-        $this->set_parent_invoice_id( $value );
550
+    public function set_original_payment_id($value) {
551
+        $this->set_parent_invoice_id($value);
552 552
 	}
553 553
 
554 554
 	/**
@@ -557,8 +557,8 @@  discard block
 block discarded – undo
557 557
 	 * @since 1.0.19
558 558
 	 * @param  int $value The subscription product id.
559 559
 	 */
560
-	public function set_product_id( $value ) {
561
-		$this->set_prop( 'product_id', (int) $value );
560
+	public function set_product_id($value) {
561
+		$this->set_prop('product_id', (int) $value);
562 562
 	}
563 563
 
564 564
 	/**
@@ -567,8 +567,8 @@  discard block
 block discarded – undo
567 567
 	 * @since 1.0.19
568 568
 	 * @param  string $value The renewal period.
569 569
 	 */
570
-	public function set_period( $value ) {
571
-		$this->set_prop( 'period', $value );
570
+	public function set_period($value) {
571
+		$this->set_prop('period', $value);
572 572
 	}
573 573
 
574 574
 	/**
@@ -577,9 +577,9 @@  discard block
 block discarded – undo
577 577
 	 * @since 1.0.19
578 578
 	 * @param  int $value The subscription frequency.
579 579
 	 */
580
-	public function set_frequency( $value ) {
581
-		$value = empty( $value ) ? 1 : (int) $value;
582
-		$this->set_prop( 'frequency', absint( $value ) );
580
+	public function set_frequency($value) {
581
+		$value = empty($value) ? 1 : (int) $value;
582
+		$this->set_prop('frequency', absint($value));
583 583
 	}
584 584
 
585 585
 	/**
@@ -588,8 +588,8 @@  discard block
 block discarded – undo
588 588
 	 * @since 1.0.19
589 589
 	 * @param  float $value The initial subcription amount.
590 590
 	 */
591
-	public function set_initial_amount( $value ) {
592
-		$this->set_prop( 'initial_amount', wpinv_sanitize_amount( $value ) );
591
+	public function set_initial_amount($value) {
592
+		$this->set_prop('initial_amount', wpinv_sanitize_amount($value));
593 593
 	}
594 594
 
595 595
 	/**
@@ -598,8 +598,8 @@  discard block
 block discarded – undo
598 598
 	 * @since 1.0.19
599 599
 	 * @param  float $value The recurring subcription amount.
600 600
 	 */
601
-	public function set_recurring_amount( $value ) {
602
-		$this->set_prop( 'recurring_amount', wpinv_sanitize_amount( $value ) );
601
+	public function set_recurring_amount($value) {
602
+		$this->set_prop('recurring_amount', wpinv_sanitize_amount($value));
603 603
 	}
604 604
 
605 605
 	/**
@@ -608,8 +608,8 @@  discard block
 block discarded – undo
608 608
 	 * @since 1.0.19
609 609
 	 * @param  int $value Bill times.
610 610
 	 */
611
-	public function set_bill_times( $value ) {
612
-		$this->set_prop( 'bill_times', (int) $value );
611
+	public function set_bill_times($value) {
612
+		$this->set_prop('bill_times', (int) $value);
613 613
 	}
614 614
 
615 615
 	/**
@@ -618,8 +618,8 @@  discard block
 block discarded – undo
618 618
 	 * @since 1.0.19
619 619
 	 * @param string $value Bill times.
620 620
 	 */
621
-	public function set_transaction_id( $value ) {
622
-		$this->set_prop( 'transaction_id', sanitize_text_field( $value ) );
621
+	public function set_transaction_id($value) {
622
+		$this->set_prop('transaction_id', sanitize_text_field($value));
623 623
 	}
624 624
 
625 625
 	/**
@@ -628,15 +628,15 @@  discard block
 block discarded – undo
628 628
 	 * @since 1.0.19
629 629
 	 * @param string $value strtotime compliant date.
630 630
 	 */
631
-	public function set_created( $value ) {
632
-        $date = strtotime( $value );
631
+	public function set_created($value) {
632
+        $date = strtotime($value);
633 633
 
634
-        if ( $date && $value !== '0000-00-00 00:00:00' ) {
635
-            $this->set_prop( 'created', gmdate( 'Y-m-d H:i:s', $date ) );
634
+        if ($date && $value !== '0000-00-00 00:00:00') {
635
+            $this->set_prop('created', gmdate('Y-m-d H:i:s', $date));
636 636
             return;
637 637
         }
638 638
 
639
-		$this->set_prop( 'created', '' );
639
+		$this->set_prop('created', '');
640 640
 
641 641
 	}
642 642
 
@@ -646,8 +646,8 @@  discard block
 block discarded – undo
646 646
 	 * @since 1.0.19
647 647
 	 * @param string $value strtotime compliant date.
648 648
 	 */
649
-	public function set_date_created( $value ) {
650
-		$this->set_created( $value );
649
+	public function set_date_created($value) {
650
+		$this->set_created($value);
651 651
     }
652 652
 
653 653
 	/**
@@ -656,15 +656,15 @@  discard block
 block discarded – undo
656 656
 	 * @since 1.0.19
657 657
 	 * @param string $value strtotime compliant date.
658 658
 	 */
659
-	public function set_next_renewal_date( $value ) {
660
-		$date = strtotime( $value );
659
+	public function set_next_renewal_date($value) {
660
+		$date = strtotime($value);
661 661
 
662
-        if ( $date && $value !== '0000-00-00 00:00:00' ) {
663
-            $this->set_prop( 'expiration', gmdate( 'Y-m-d H:i:s', $date ) );
662
+        if ($date && $value !== '0000-00-00 00:00:00') {
663
+            $this->set_prop('expiration', gmdate('Y-m-d H:i:s', $date));
664 664
             return;
665 665
 		}
666 666
 
667
-		$this->set_prop( 'expiration', '' );
667
+		$this->set_prop('expiration', '');
668 668
 
669 669
 	}
670 670
 
@@ -674,8 +674,8 @@  discard block
 block discarded – undo
674 674
 	 * @since 1.0.19
675 675
 	 * @param string $value strtotime compliant date.
676 676
 	 */
677
-	public function set_expiration( $value ) {
678
-		$this->set_next_renewal_date( $value );
677
+	public function set_expiration($value) {
678
+		$this->set_next_renewal_date($value);
679 679
     }
680 680
 
681 681
 	/**
@@ -684,8 +684,8 @@  discard block
 block discarded – undo
684 684
 	 * @since 1.0.19
685 685
 	 * @param string $value trial period e.g 1 year.
686 686
 	 */
687
-	public function set_trial_period( $value ) {
688
-		$this->set_prop( 'trial_period', $value );
687
+	public function set_trial_period($value) {
688
+		$this->set_prop('trial_period', $value);
689 689
 	}
690 690
 
691 691
 	/**
@@ -694,22 +694,22 @@  discard block
 block discarded – undo
694 694
 	 * @since 1.0.19
695 695
 	 * @param string $new_status    New subscription status.
696 696
 	 */
697
-	public function set_status( $new_status ) {
697
+	public function set_status($new_status) {
698 698
 
699 699
 		// Abort if this is not a valid status;
700
-		if ( ! array_key_exists( $new_status, getpaid_get_subscription_statuses() ) ) {
700
+		if (!array_key_exists($new_status, getpaid_get_subscription_statuses())) {
701 701
 			return;
702 702
 		}
703 703
 
704
-		$old_status = ! empty( $this->status_transition['from'] ) ? $this->status_transition['from'] : $this->get_status();
705
-		if ( true === $this->object_read && $old_status !== $new_status ) {
704
+		$old_status = !empty($this->status_transition['from']) ? $this->status_transition['from'] : $this->get_status();
705
+		if (true === $this->object_read && $old_status !== $new_status) {
706 706
 			$this->status_transition = array(
707 707
 				'from' => $old_status,
708 708
 				'to'   => $new_status,
709 709
 			);
710 710
 		}
711 711
 
712
-		$this->set_prop( 'status', $new_status );
712
+		$this->set_prop('status', $new_status);
713 713
 	}
714 714
 
715 715
 	/**
@@ -718,8 +718,8 @@  discard block
 block discarded – undo
718 718
 	 * @since 1.0.19
719 719
 	 * @param  string $value the remote profile id.
720 720
 	 */
721
-	public function set_profile_id( $value ) {
722
-		$this->set_prop( 'profile_id', sanitize_text_field( $value ) );
721
+	public function set_profile_id($value) {
722
+		$this->set_prop('profile_id', sanitize_text_field($value));
723 723
 	}
724 724
 
725 725
 	/*
@@ -737,8 +737,8 @@  discard block
 block discarded – undo
737 737
 	 * @param string|array String or array of strings to check for.
738 738
 	 * @return bool
739 739
      */
740
-    public function has_status( $status ) {
741
-        return in_array( $this->get_status(), wpinv_clean( wpinv_parse_list( $status ) ) );
740
+    public function has_status($status) {
741
+        return in_array($this->get_status(), wpinv_clean(wpinv_parse_list($status)));
742 742
 	}
743 743
 
744 744
 	/**
@@ -748,7 +748,7 @@  discard block
 block discarded – undo
748 748
      */
749 749
     public function has_trial_period() {
750 750
 		$period = $this->get_trial_period();
751
-        return ! empty( $period );
751
+        return !empty($period);
752 752
 	}
753 753
 
754 754
 	/**
@@ -757,7 +757,7 @@  discard block
 block discarded – undo
757 757
 	 * @return bool
758 758
 	 */
759 759
 	public function is_active() {
760
-		return $this->has_status( 'active trialling' ) && ! $this->is_expired();
760
+		return $this->has_status('active trialling') && !$this->is_expired();
761 761
 	}
762 762
 
763 763
 	/**
@@ -766,7 +766,7 @@  discard block
 block discarded – undo
766 766
 	 * @return bool
767 767
 	 */
768 768
 	public function is_expired() {
769
-		return $this->has_status( 'expired' ) || ( $this->has_status( 'active cancelled trialling' ) && $this->get_expiration_time() < current_time( 'timestamp' ) );
769
+		return $this->has_status('expired') || ($this->has_status('active cancelled trialling') && $this->get_expiration_time() < current_time('timestamp'));
770 770
 	}
771 771
 
772 772
 	/**
@@ -776,7 +776,7 @@  discard block
 block discarded – undo
776 776
 	 */
777 777
 	public function is_last_renewal() {
778 778
 		$max_bills = $this->get_bill_times();
779
-		return ! empty( $max_bills ) && $max_bills <= $this->get_times_billed();
779
+		return !empty($max_bills) && $max_bills <= $this->get_times_billed();
780 780
 	}
781 781
 
782 782
 	/*
@@ -791,11 +791,11 @@  discard block
 block discarded – undo
791 791
 	/**
792 792
 	 * Backwards compatibilty.
793 793
 	 */
794
-	public function create( $data = array() ) {
794
+	public function create($data = array()) {
795 795
 
796 796
 		// Set the properties.
797
-		if ( is_array( $data ) ) {
798
-			$this->set_props( $data );
797
+		if (is_array($data)) {
798
+			$this->set_props($data);
799 799
 		}
800 800
 
801 801
 		// Save the item.
@@ -806,8 +806,8 @@  discard block
 block discarded – undo
806 806
 	/**
807 807
 	 * Backwards compatibilty.
808 808
 	 */
809
-	public function update( $args = array() ) {
810
-		return $this->create( $args );
809
+	public function update($args = array()) {
810
+		return $this->create($args);
811 811
 	}
812 812
 
813 813
     /**
@@ -816,12 +816,12 @@  discard block
 block discarded – undo
816 816
      * @since  1.0.0
817 817
      * @return WP_Post[]
818 818
      */
819
-    public function get_child_payments( $hide_pending = true ) {
819
+    public function get_child_payments($hide_pending = true) {
820 820
 
821
-		$statuses = array( 'publish', 'wpi-processing', 'wpi-renewal' );
821
+		$statuses = array('publish', 'wpi-processing', 'wpi-renewal');
822 822
 
823
-		if ( ! $hide_pending ) {
824
-			$statuses = array_keys( wpinv_get_invoice_statuses() );
823
+		if (!$hide_pending) {
824
+			$statuses = array_keys(wpinv_get_invoice_statuses());
825 825
 		}
826 826
 
827 827
         return get_posts(
@@ -843,7 +843,7 @@  discard block
 block discarded – undo
843 843
      * @return int
844 844
      */
845 845
     public function get_total_payments() {
846
-		return getpaid_count_subscription_invoices( $this->get_parent_invoice_id(), $this->get_id() );
846
+		return getpaid_count_subscription_invoices($this->get_parent_invoice_id(), $this->get_id());
847 847
     }
848 848
 
849 849
     /**
@@ -855,7 +855,7 @@  discard block
 block discarded – undo
855 855
     public function get_times_billed() {
856 856
         $times_billed = $this->get_total_payments();
857 857
 
858
-        if ( (float) $this->get_initial_amount() == 0 && $times_billed > 0 ) {
858
+        if ((float) $this->get_initial_amount() == 0 && $times_billed > 0) {
859 859
             $times_billed--;
860 860
         }
861 861
 
@@ -870,52 +870,52 @@  discard block
 block discarded – undo
870 870
 	 * @param  WPInv_Invoice $invoice If adding an existing invoice.
871 871
      * @return bool
872 872
      */
873
-    public function add_payment( $args = array(), $invoice = false ) {
873
+    public function add_payment($args = array(), $invoice = false) {
874 874
 
875 875
 		// Process each payment once.
876
-        if ( ! empty( $args['transaction_id'] ) && $this->payment_exists( $args['transaction_id'] ) ) {
876
+        if (!empty($args['transaction_id']) && $this->payment_exists($args['transaction_id'])) {
877 877
             return false;
878 878
         }
879 879
 
880 880
 		// Are we creating a new invoice?
881
-		if ( empty( $invoice ) ) {
882
-			$invoice = $this->create_payment( false );
881
+		if (empty($invoice)) {
882
+			$invoice = $this->create_payment(false);
883 883
 
884
-			if ( empty( $invoice ) ) {
884
+			if (empty($invoice)) {
885 885
 				return false;
886 886
 			}
887 887
 		}
888 888
 
889 889
 		// Maybe set a transaction id.
890
-		if ( ! empty( $args['transaction_id'] ) ) {
891
-			$invoice->set_transaction_id( $args['transaction_id'] );
890
+		if (!empty($args['transaction_id'])) {
891
+			$invoice->set_transaction_id($args['transaction_id']);
892 892
 		}
893 893
 
894 894
 		// Set the completed date.
895
-		$invoice->set_completed_date( current_time( 'mysql' ) );
895
+		$invoice->set_completed_date(current_time('mysql'));
896 896
 
897 897
 		// And the gateway.
898
-		if ( ! empty( $args['gateway'] ) ) {
899
-			$invoice->set_gateway( $args['gateway'] );
898
+		if (!empty($args['gateway'])) {
899
+			$invoice->set_gateway($args['gateway']);
900 900
 		}
901 901
 
902
-		$invoice->set_status( 'wpi-renewal' );
902
+		$invoice->set_status('wpi-renewal');
903 903
 		$invoice->save();
904 904
 
905
-		if ( ! $invoice->exists() ) {
905
+		if (!$invoice->exists()) {
906 906
 			return false;
907 907
 		}
908 908
 
909
-		return $this->after_add_payment( $invoice );
909
+		return $this->after_add_payment($invoice);
910 910
 	}
911 911
 
912
-    public function after_add_payment( $invoice ) {
912
+    public function after_add_payment($invoice) {
913 913
 
914
-		do_action( 'getpaid_after_create_subscription_renewal_invoice', $invoice, $this );
915
-		do_action( 'wpinv_recurring_add_subscription_payment', $invoice, $this );
916
-        do_action( 'wpinv_recurring_record_payment', $invoice->get_id(), $this->get_parent_invoice_id(), $invoice->get_recurring_total(), $invoice->get_transaction_id() );
914
+		do_action('getpaid_after_create_subscription_renewal_invoice', $invoice, $this);
915
+		do_action('wpinv_recurring_add_subscription_payment', $invoice, $this);
916
+        do_action('wpinv_recurring_record_payment', $invoice->get_id(), $this->get_parent_invoice_id(), $invoice->get_recurring_total(), $invoice->get_transaction_id());
917 917
 
918
-        update_post_meta( $invoice->get_id(), '_wpinv_subscription_id', $this->id );
918
+        update_post_meta($invoice->get_id(), '_wpinv_subscription_id', $this->id);
919 919
 
920 920
         return $invoice->get_id();
921 921
 	}
@@ -927,47 +927,47 @@  discard block
 block discarded – undo
927 927
 	 * @param bool $save Whether we should save the invoice.
928 928
      * @return WPInv_Invoice|bool
929 929
      */
930
-    public function create_payment( $save = true ) {
930
+    public function create_payment($save = true) {
931 931
 
932 932
 		$parent_invoice = $this->get_parent_payment();
933 933
 
934
-		if ( ! $parent_invoice->exists() ) {
934
+		if (!$parent_invoice->exists()) {
935 935
 			return false;
936 936
 		}
937 937
 
938 938
 		// Duplicate the parent invoice.
939
-		$invoice = getpaid_duplicate_invoice( $parent_invoice );
940
-		$invoice->set_parent_id( $parent_invoice->get_id() );
941
-		$invoice->set_subscription_id( $this->get_id() );
942
-		$invoice->set_remote_subscription_id( $this->get_profile_id() );
939
+		$invoice = getpaid_duplicate_invoice($parent_invoice);
940
+		$invoice->set_parent_id($parent_invoice->get_id());
941
+		$invoice->set_subscription_id($this->get_id());
942
+		$invoice->set_remote_subscription_id($this->get_profile_id());
943 943
 
944 944
 		// Set invoice items.
945
-		$subscription_group = getpaid_get_invoice_subscription_group( $parent_invoice->get_id(), $this->get_id() );
946
-		$allowed_items      = empty( $subscription_group ) ? array( $this->get_product_id() ) : array_keys( $subscription_group['items'] );
945
+		$subscription_group = getpaid_get_invoice_subscription_group($parent_invoice->get_id(), $this->get_id());
946
+		$allowed_items      = empty($subscription_group) ? array($this->get_product_id()) : array_keys($subscription_group['items']);
947 947
 		$invoice_items      = array();
948 948
 
949
-		foreach ( $invoice->get_items() as $item ) {
950
-			if ( in_array( $item->get_id(), $allowed_items ) ) {
949
+		foreach ($invoice->get_items() as $item) {
950
+			if (in_array($item->get_id(), $allowed_items)) {
951 951
 				$invoice_items[] = $item;
952 952
 			}
953 953
 		}
954 954
 
955
-		$invoice->set_items( $invoice_items );
955
+		$invoice->set_items($invoice_items);
956 956
 
957
-		if ( ! empty( $subscription_group['fees'] ) ) {
958
-			$invoice->set_fees( $subscription_group['fees'] );
957
+		if (!empty($subscription_group['fees'])) {
958
+			$invoice->set_fees($subscription_group['fees']);
959 959
 		}
960 960
 
961 961
 		// Maybe recalculate discount (Pre-GetPaid Fix).
962
-		$discount = new WPInv_Discount( $invoice->get_discount_code() );
963
-		if ( $discount->exists() && $discount->is_recurring() && 0 == $invoice->get_total_discount() ) {
964
-			$invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
962
+		$discount = new WPInv_Discount($invoice->get_discount_code());
963
+		if ($discount->exists() && $discount->is_recurring() && 0 == $invoice->get_total_discount()) {
964
+			$invoice->add_discount(getpaid_calculate_invoice_discount($invoice, $discount));
965 965
 		}
966 966
 
967 967
 		$invoice->recalculate_total();
968
-		$invoice->set_status( 'wpi-pending' );
968
+		$invoice->set_status('wpi-pending');
969 969
 
970
-		if ( ! $save ) {
970
+		if (!$save) {
971 971
 			return $invoice;
972 972
 		}
973 973
 
@@ -982,24 +982,24 @@  discard block
 block discarded – undo
982 982
 	 * @since  1.0.0
983 983
 	 * @return int The subscription's id
984 984
 	 */
985
-	public function renew( $calculate_from = null ) {
985
+	public function renew($calculate_from = null) {
986 986
 
987 987
 		// Complete subscription if applicable
988
-		if ( $this->is_last_renewal() ) {
988
+		if ($this->is_last_renewal()) {
989 989
 			return $this->complete();
990 990
 		}
991 991
 
992 992
 		// Calculate new expiration
993 993
 		$frequency      = $this->get_frequency();
994 994
 		$period         = $this->get_period();
995
-		$calculate_from = empty( $calculate_from ) ? $this->get_expiration_time() : $calculate_from;
996
-		$new_expiration = strtotime( "+ $frequency $period", $calculate_from );
995
+		$calculate_from = empty($calculate_from) ? $this->get_expiration_time() : $calculate_from;
996
+		$new_expiration = strtotime("+ $frequency $period", $calculate_from);
997 997
 
998
-		$this->set_expiration( date( 'Y-m-d H:i:s', $new_expiration ) );
999
-		$this->set_status( 'active' );
998
+		$this->set_expiration(date('Y-m-d H:i:s', $new_expiration));
999
+		$this->set_status('active');
1000 1000
 		$this->save();
1001 1001
 
1002
-		do_action( 'getpaid_subscription_renewed', $this );
1002
+		do_action('getpaid_subscription_renewed', $this);
1003 1003
 
1004 1004
 		return $this->get_id();
1005 1005
 	}
@@ -1015,11 +1015,11 @@  discard block
 block discarded – undo
1015 1015
 	public function complete() {
1016 1016
 
1017 1017
 		// Only mark a subscription as complete if it's not already cancelled.
1018
-		if ( $this->has_status( 'cancelled' ) ) {
1018
+		if ($this->has_status('cancelled')) {
1019 1019
 			return false;
1020 1020
 		}
1021 1021
 
1022
-		$this->set_status( 'completed' );
1022
+		$this->set_status('completed');
1023 1023
 		return $this->save();
1024 1024
 
1025 1025
 	}
@@ -1031,14 +1031,14 @@  discard block
 block discarded – undo
1031 1031
 	 * @param  bool $check_expiration
1032 1032
 	 * @return int|bool Subscription id or false if $check_expiration is true and expiration date is in the future.
1033 1033
 	 */
1034
-	public function expire( $check_expiration = false ) {
1034
+	public function expire($check_expiration = false) {
1035 1035
 
1036
-		if ( $check_expiration && $this->get_expiration_time() > current_time( 'timestamp' ) ) {
1036
+		if ($check_expiration && $this->get_expiration_time() > current_time('timestamp')) {
1037 1037
 			// Do not mark as expired since real expiration date is in the future
1038 1038
 			return false;
1039 1039
 		}
1040 1040
 
1041
-		$this->set_status( 'expired' );
1041
+		$this->set_status('expired');
1042 1042
 		return $this->save();
1043 1043
 
1044 1044
 	}
@@ -1050,7 +1050,7 @@  discard block
 block discarded – undo
1050 1050
 	 * @return int Subscription id.
1051 1051
 	 */
1052 1052
 	public function failing() {
1053
-		$this->set_status( 'failing' );
1053
+		$this->set_status('failing');
1054 1054
 		return $this->save();
1055 1055
 	}
1056 1056
 
@@ -1061,7 +1061,7 @@  discard block
 block discarded – undo
1061 1061
      * @return int Subscription id.
1062 1062
      */
1063 1063
     public function cancel() {
1064
-		$this->set_status( 'cancelled' );
1064
+		$this->set_status('cancelled');
1065 1065
 		return $this->save();
1066 1066
     }
1067 1067
 
@@ -1072,7 +1072,7 @@  discard block
 block discarded – undo
1072 1072
 	 * @return bool
1073 1073
 	 */
1074 1074
 	public function can_cancel() {
1075
-		return apply_filters( 'wpinv_subscription_can_cancel', $this->has_status( $this->get_cancellable_statuses() ), $this );
1075
+		return apply_filters('wpinv_subscription_can_cancel', $this->has_status($this->get_cancellable_statuses()), $this);
1076 1076
 	}
1077 1077
 
1078 1078
     /**
@@ -1083,7 +1083,7 @@  discard block
 block discarded – undo
1083 1083
      * @return      array
1084 1084
      */
1085 1085
     public function get_cancellable_statuses() {
1086
-        return apply_filters( 'wpinv_recurring_cancellable_statuses', array( 'active', 'trialling', 'failing' ) );
1086
+        return apply_filters('wpinv_recurring_cancellable_statuses', array('active', 'trialling', 'failing'));
1087 1087
     }
1088 1088
 
1089 1089
 	/**
@@ -1093,8 +1093,8 @@  discard block
 block discarded – undo
1093 1093
 	 * @return string
1094 1094
 	 */
1095 1095
 	public function get_cancel_url() {
1096
-		$url = getpaid_get_authenticated_action_url( 'subscription_cancel', $this->get_view_url() );
1097
-		return apply_filters( 'wpinv_subscription_cancel_url', $url, $this );
1096
+		$url = getpaid_get_authenticated_action_url('subscription_cancel', $this->get_view_url());
1097
+		return apply_filters('wpinv_subscription_cancel_url', $url, $this);
1098 1098
 	}
1099 1099
 
1100 1100
 	/**
@@ -1105,10 +1105,10 @@  discard block
 block discarded – undo
1105 1105
 	 */
1106 1106
 	public function get_view_url() {
1107 1107
 
1108
-		$url = getpaid_get_tab_url( 'gp-subscriptions', get_permalink( (int) wpinv_get_option( 'invoice_subscription_page' ) ) );
1109
-		$url = add_query_arg( 'subscription', $this->get_id(), $url );
1108
+		$url = getpaid_get_tab_url('gp-subscriptions', get_permalink((int) wpinv_get_option('invoice_subscription_page')));
1109
+		$url = add_query_arg('subscription', $this->get_id(), $url);
1110 1110
 
1111
-		return apply_filters( 'getpaid_get_subscription_view_url', $url, $this );
1111
+		return apply_filters('getpaid_get_subscription_view_url', $url, $this);
1112 1112
 	}
1113 1113
 
1114 1114
 	/**
@@ -1121,7 +1121,7 @@  discard block
 block discarded – undo
1121 1121
 	 * @return bool
1122 1122
 	 */
1123 1123
 	public function can_renew() {
1124
-		return apply_filters( 'wpinv_subscription_can_renew', true, $this );
1124
+		return apply_filters('wpinv_subscription_can_renew', true, $this);
1125 1125
 	}
1126 1126
 
1127 1127
 	/**
@@ -1140,7 +1140,7 @@  discard block
 block discarded – undo
1140 1140
             ),
1141 1141
             'getpaid-nonce'
1142 1142
         );
1143
-		return apply_filters( 'wpinv_subscription_renew_url', $url, $this );
1143
+		return apply_filters('wpinv_subscription_renew_url', $url, $this);
1144 1144
 	}
1145 1145
 
1146 1146
 	/**
@@ -1150,7 +1150,7 @@  discard block
 block discarded – undo
1150 1150
 	 * @return bool
1151 1151
 	 */
1152 1152
 	public function can_update() {
1153
-		return apply_filters( 'wpinv_subscription_can_update', false, $this );
1153
+		return apply_filters('wpinv_subscription_can_update', false, $this);
1154 1154
 	}
1155 1155
 
1156 1156
 	/**
@@ -1166,7 +1166,7 @@  discard block
 block discarded – undo
1166 1166
 				'subscription_id' => $this->get_id(),
1167 1167
             )
1168 1168
         );
1169
-		return apply_filters( 'wpinv_subscription_update_url', $url, $this );
1169
+		return apply_filters('wpinv_subscription_update_url', $url, $this);
1170 1170
 	}
1171 1171
 
1172 1172
 	/**
@@ -1176,7 +1176,7 @@  discard block
 block discarded – undo
1176 1176
 	 * @return string
1177 1177
 	 */
1178 1178
 	public function get_status_label() {
1179
-		return getpaid_get_subscription_status_label( $this->get_status() );
1179
+		return getpaid_get_subscription_status_label($this->get_status());
1180 1180
 	}
1181 1181
 
1182 1182
 	/**
@@ -1187,7 +1187,7 @@  discard block
 block discarded – undo
1187 1187
 	 */
1188 1188
 	public function get_status_class() {
1189 1189
 		$statuses = getpaid_get_subscription_status_classes();
1190
-		return isset( $statuses[ $this->get_status() ] ) ? $statuses[ $this->get_status() ] : 'bg-dark';
1190
+		return isset($statuses[$this->get_status()]) ? $statuses[$this->get_status()] : 'bg-dark';
1191 1191
 	}
1192 1192
 
1193 1193
     /**
@@ -1198,9 +1198,9 @@  discard block
 block discarded – undo
1198 1198
      */
1199 1199
     public function get_status_label_html() {
1200 1200
 
1201
-		$status_label = sanitize_text_field( $this->get_status_label() );
1202
-		$class        = esc_attr( $this->get_status_class() );
1203
-		$status       = sanitize_html_class( $this->get_status() );
1201
+		$status_label = sanitize_text_field($this->get_status_label());
1202
+		$class        = esc_attr($this->get_status_class());
1203
+		$status       = sanitize_html_class($this->get_status());
1204 1204
 
1205 1205
 		return "<span class='bsui'><span class='badge $class $status'>$status_label</span></span>";
1206 1206
     }
@@ -1212,9 +1212,9 @@  discard block
 block discarded – undo
1212 1212
      * @param  string $txn_id The transaction ID from the merchant processor
1213 1213
      * @return bool
1214 1214
      */
1215
-    public function payment_exists( $txn_id = '' ) {
1216
-		$invoice_id = WPInv_Invoice::get_invoice_id_by_field( $txn_id, 'transaction_id' );
1217
-        return ! empty( $invoice_id );
1215
+    public function payment_exists($txn_id = '') {
1216
+		$invoice_id = WPInv_Invoice::get_invoice_id_by_field($txn_id, 'transaction_id');
1217
+        return !empty($invoice_id);
1218 1218
 	}
1219 1219
 
1220 1220
 	/**
@@ -1226,35 +1226,35 @@  discard block
 block discarded – undo
1226 1226
 		// Reset status transition variable.
1227 1227
 		$this->status_transition = false;
1228 1228
 
1229
-		if ( $status_transition ) {
1229
+		if ($status_transition) {
1230 1230
 			try {
1231 1231
 
1232 1232
 				// Fire a hook for the status change.
1233
-				do_action( 'wpinv_subscription_' . $status_transition['to'], $this->get_id(), $this, $status_transition );
1234
-				do_action( 'getpaid_subscription_' . $status_transition['to'], $this, $status_transition );
1233
+				do_action('wpinv_subscription_' . $status_transition['to'], $this->get_id(), $this, $status_transition);
1234
+				do_action('getpaid_subscription_' . $status_transition['to'], $this, $status_transition);
1235 1235
 
1236
-				if ( ! empty( $status_transition['from'] ) ) {
1236
+				if (!empty($status_transition['from'])) {
1237 1237
 
1238 1238
 					/* translators: 1: old subscription status 2: new subscription status */
1239
-					$transition_note = sprintf( __( 'Subscription status changed from %1$s to %2$s.', 'invoicing' ), getpaid_get_subscription_status_label( $status_transition['from'] ), getpaid_get_subscription_status_label( $status_transition['to'] ) );
1239
+					$transition_note = sprintf(__('Subscription status changed from %1$s to %2$s.', 'invoicing'), getpaid_get_subscription_status_label($status_transition['from']), getpaid_get_subscription_status_label($status_transition['to']));
1240 1240
 
1241 1241
 					// Note the transition occurred.
1242
-					$this->get_parent_payment()->add_note( $transition_note, false, false, true );
1242
+					$this->get_parent_payment()->add_note($transition_note, false, false, true);
1243 1243
 
1244 1244
 					// Fire another hook.
1245
-					do_action( 'getpaid_subscription_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this->get_id(), $this );
1246
-					do_action( 'getpaid_subscription_status_changed', $this, $status_transition['from'], $status_transition['to'] );
1245
+					do_action('getpaid_subscription_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this->get_id(), $this);
1246
+					do_action('getpaid_subscription_status_changed', $this, $status_transition['from'], $status_transition['to']);
1247 1247
 
1248 1248
 				} else {
1249 1249
 					/* translators: %s: new invoice status */
1250
-					$transition_note = sprintf( __( 'Subscription status set to %s.', 'invoicing' ), getpaid_get_subscription_status_label( $status_transition['to'] ) );
1250
+					$transition_note = sprintf(__('Subscription status set to %s.', 'invoicing'), getpaid_get_subscription_status_label($status_transition['to']));
1251 1251
 
1252 1252
 					// Note the transition occurred.
1253
-					$this->get_parent_payment()->add_note( $transition_note, false, false, true );
1253
+					$this->get_parent_payment()->add_note($transition_note, false, false, true);
1254 1254
 
1255 1255
 				}
1256
-			} catch ( Exception $e ) {
1257
-				$this->get_parent_payment()->add_note( __( 'Error during subscription status transition.', 'invoicing' ) . ' ' . $e->getMessage() );
1256
+			} catch (Exception $e) {
1257
+				$this->get_parent_payment()->add_note(__('Error during subscription status transition.', 'invoicing') . ' ' . $e->getMessage());
1258 1258
 			}
1259 1259
 		}
1260 1260
 
@@ -1280,7 +1280,7 @@  discard block
 block discarded – undo
1280 1280
 	 */
1281 1281
 	public function activate() {
1282 1282
 		$status = $this->has_trial_period() && 'trialling' === $this->get_status() ? 'trialling' : 'active';
1283
-		$this->set_status( $status );
1283
+		$this->set_status($status);
1284 1284
 		return $this->save();
1285 1285
 	}
1286 1286
 
Please login to merge, or discard this patch.
includes/data-stores/class-getpaid-customer-data-store.php 2 patches
Indentation   +184 added lines, -184 removed lines patch added patch discarded remove patch
@@ -5,7 +5,7 @@  discard block
 block discarded – undo
5 5
  *
6 6
  */
7 7
 if ( ! defined( 'ABSPATH' ) ) {
8
-	exit;
8
+    exit;
9 9
 }
10 10
 
11 11
 /**
@@ -15,196 +15,196 @@  discard block
 block discarded – undo
15 15
  */
16 16
 class GetPaid_Customer_Data_Store {
17 17
 
18
-	/*
18
+    /*
19 19
 	|--------------------------------------------------------------------------
20 20
 	| CRUD Methods
21 21
 	|--------------------------------------------------------------------------
22 22
 	*/
23 23
 
24
-	/**
25
-	 * Method to create a new customer in the database.
26
-	 *
27
-	 * @param GetPaid_Customer $customer customer object.
28
-	 */
29
-	public function create( &$customer ) {
30
-		global $wpdb;
31
-
32
-		$values  = array();
33
-		$formats = array();
34
-
35
-		$fields = self::get_database_fields();
36
-		unset( $fields['id'] );
37
-
38
-		foreach ( $fields as $key => $format ) {
39
-			$values[ $key ] = $customer->get( $key, 'edit' );
40
-			$formats[]      = $format;
41
-		}
42
-
43
-		$result = $wpdb->insert( $wpdb->prefix . 'getpaid_customers', $values, $formats );
44
-
45
-		if ( $result ) {
46
-			$customer->set_id( $wpdb->insert_id );
47
-			$customer->apply_changes();
48
-			$customer->clear_cache();
49
-			do_action( 'getpaid_new_customer', $customer );
50
-			return true;
51
-		}
52
-
53
-		return false;
54
-	}
55
-
56
-	/**
57
-	 * Method to read a customer from the database.
58
-	 *
59
-	 * @param GetPaid_Customer $customer customer object.
60
-	 *
61
-	 */
62
-	public function read( &$customer ) {
63
-		global $wpdb;
64
-
65
-		$customer->set_defaults();
66
-
67
-		if ( ! $customer->get_id() ) {
68
-			$customer->last_error = 'Invalid customer.';
69
-			$customer->set_id( 0 );
70
-			return false;
71
-		}
72
-
73
-		// Maybe retrieve from the cache.
74
-		$raw_customer = wp_cache_get( $customer->get_id(), 'getpaid_customers' );
75
-
76
-		// If not found, retrieve from the db.
77
-		if ( false === $raw_customer ) {
78
-
79
-			$raw_customer = $wpdb->get_row(
80
-				$wpdb->prepare(
81
-					"SELECT * FROM {$wpdb->prefix}getpaid_customers WHERE id = %d",
82
-					$customer->get_id()
83
-				)
84
-			);
85
-
86
-			// Update the cache with our data
87
-			wp_cache_set( $customer->get_id(), $raw_customer, 'getpaid_customers' );
88
-
89
-		}
90
-
91
-		if ( ! $raw_customer ) {
92
-			$raw_customer->last_error = 'Invalid customer.';
93
-			return false;
94
-		}
95
-
96
-		// Loop through raw customer fields.
97
-		foreach ( (array) $raw_customer as $key => $value ) {
98
-			$customer->set( $key, $value );
99
-		}
100
-
101
-		$customer->set_object_read( true );
102
-		do_action( 'getpaid_read_customer', $customer );
103
-
104
-	}
105
-
106
-	/**
107
-	 * Method to update a customer in the database.
108
-	 *
109
-	 * @param GetPaid_Customer $customer Customer object.
110
-	 */
111
-	public function update( &$customer ) {
112
-		global $wpdb;
113
-
114
-		do_action( 'getpaid_before_update_customer', $customer, $customer->get_changes() );
115
-
116
-		$changes = $customer->get_changes();
117
-		$values  = array();
118
-		$format  = array();
119
-
120
-		foreach ( self::get_database_fields() as $key => $format ) {
121
-			if ( array_key_exists( $key, $changes ) ) {
122
-				$values[ $key ] = $customer->get( $key, 'edit' );
123
-				$formats[]      = $format;
124
-			}
125
-		}
126
-
127
-		if ( empty( $values ) ) {
128
-			return;
129
-		}
130
-
131
-		$wpdb->update(
132
-			$wpdb->prefix . 'getpaid_customers',
133
-			$values,
134
-			array(
135
-				'id' => $customer->get_id(),
136
-			),
137
-			$formats,
138
-			'%d'
139
-		);
140
-
141
-		// Apply the changes.
142
-		$customer->apply_changes();
143
-
144
-		// Delete cache.
145
-		$customer->clear_cache();
146
-
147
-		// Fire a hook.
148
-		do_action( 'getpaid_update_customer', $customer );
149
-
150
-	}
151
-
152
-	/**
153
-	 * Method to delete a customer from the database.
154
-	 *
155
-	 * @param GetPaid_Customer $customer
156
-	 */
157
-	public function delete( &$customer ) {
158
-		global $wpdb;
159
-
160
-		do_action( 'getpaid_before_delete_customer', $customer );
161
-
162
-		$wpdb->delete(
163
-			$wpdb->prefix . 'getpaid_customers',
164
-			array(
165
-				'id' => $customer->get_id(),
166
-			),
167
-			'%d'
168
-		);
169
-
170
-		// Delete cache.
171
-		$customer->clear_cache();
172
-
173
-		// Fire a hook.
174
-		do_action( 'getpaid_delete_customer', $customer );
175
-
176
-		$customer->set_id( 0 );
177
-	}
178
-
179
-	/*
24
+    /**
25
+     * Method to create a new customer in the database.
26
+     *
27
+     * @param GetPaid_Customer $customer customer object.
28
+     */
29
+    public function create( &$customer ) {
30
+        global $wpdb;
31
+
32
+        $values  = array();
33
+        $formats = array();
34
+
35
+        $fields = self::get_database_fields();
36
+        unset( $fields['id'] );
37
+
38
+        foreach ( $fields as $key => $format ) {
39
+            $values[ $key ] = $customer->get( $key, 'edit' );
40
+            $formats[]      = $format;
41
+        }
42
+
43
+        $result = $wpdb->insert( $wpdb->prefix . 'getpaid_customers', $values, $formats );
44
+
45
+        if ( $result ) {
46
+            $customer->set_id( $wpdb->insert_id );
47
+            $customer->apply_changes();
48
+            $customer->clear_cache();
49
+            do_action( 'getpaid_new_customer', $customer );
50
+            return true;
51
+        }
52
+
53
+        return false;
54
+    }
55
+
56
+    /**
57
+     * Method to read a customer from the database.
58
+     *
59
+     * @param GetPaid_Customer $customer customer object.
60
+     *
61
+     */
62
+    public function read( &$customer ) {
63
+        global $wpdb;
64
+
65
+        $customer->set_defaults();
66
+
67
+        if ( ! $customer->get_id() ) {
68
+            $customer->last_error = 'Invalid customer.';
69
+            $customer->set_id( 0 );
70
+            return false;
71
+        }
72
+
73
+        // Maybe retrieve from the cache.
74
+        $raw_customer = wp_cache_get( $customer->get_id(), 'getpaid_customers' );
75
+
76
+        // If not found, retrieve from the db.
77
+        if ( false === $raw_customer ) {
78
+
79
+            $raw_customer = $wpdb->get_row(
80
+                $wpdb->prepare(
81
+                    "SELECT * FROM {$wpdb->prefix}getpaid_customers WHERE id = %d",
82
+                    $customer->get_id()
83
+                )
84
+            );
85
+
86
+            // Update the cache with our data
87
+            wp_cache_set( $customer->get_id(), $raw_customer, 'getpaid_customers' );
88
+
89
+        }
90
+
91
+        if ( ! $raw_customer ) {
92
+            $raw_customer->last_error = 'Invalid customer.';
93
+            return false;
94
+        }
95
+
96
+        // Loop through raw customer fields.
97
+        foreach ( (array) $raw_customer as $key => $value ) {
98
+            $customer->set( $key, $value );
99
+        }
100
+
101
+        $customer->set_object_read( true );
102
+        do_action( 'getpaid_read_customer', $customer );
103
+
104
+    }
105
+
106
+    /**
107
+     * Method to update a customer in the database.
108
+     *
109
+     * @param GetPaid_Customer $customer Customer object.
110
+     */
111
+    public function update( &$customer ) {
112
+        global $wpdb;
113
+
114
+        do_action( 'getpaid_before_update_customer', $customer, $customer->get_changes() );
115
+
116
+        $changes = $customer->get_changes();
117
+        $values  = array();
118
+        $format  = array();
119
+
120
+        foreach ( self::get_database_fields() as $key => $format ) {
121
+            if ( array_key_exists( $key, $changes ) ) {
122
+                $values[ $key ] = $customer->get( $key, 'edit' );
123
+                $formats[]      = $format;
124
+            }
125
+        }
126
+
127
+        if ( empty( $values ) ) {
128
+            return;
129
+        }
130
+
131
+        $wpdb->update(
132
+            $wpdb->prefix . 'getpaid_customers',
133
+            $values,
134
+            array(
135
+                'id' => $customer->get_id(),
136
+            ),
137
+            $formats,
138
+            '%d'
139
+        );
140
+
141
+        // Apply the changes.
142
+        $customer->apply_changes();
143
+
144
+        // Delete cache.
145
+        $customer->clear_cache();
146
+
147
+        // Fire a hook.
148
+        do_action( 'getpaid_update_customer', $customer );
149
+
150
+    }
151
+
152
+    /**
153
+     * Method to delete a customer from the database.
154
+     *
155
+     * @param GetPaid_Customer $customer
156
+     */
157
+    public function delete( &$customer ) {
158
+        global $wpdb;
159
+
160
+        do_action( 'getpaid_before_delete_customer', $customer );
161
+
162
+        $wpdb->delete(
163
+            $wpdb->prefix . 'getpaid_customers',
164
+            array(
165
+                'id' => $customer->get_id(),
166
+            ),
167
+            '%d'
168
+        );
169
+
170
+        // Delete cache.
171
+        $customer->clear_cache();
172
+
173
+        // Fire a hook.
174
+        do_action( 'getpaid_delete_customer', $customer );
175
+
176
+        $customer->set_id( 0 );
177
+    }
178
+
179
+    /*
180 180
 	|--------------------------------------------------------------------------
181 181
 	| Additional Methods
182 182
 	|--------------------------------------------------------------------------
183 183
 	*/
184
-	public static function get_database_fields() {
185
-
186
-		$fields = array(
187
-			'id'             => '%d',
188
-			'user_id'        => '%d',
189
-			'email'          => '%s',
190
-			'email_cc'       => '%s',
191
-			'status'         => '%s',
192
-			'purchase_value' => '%f',
193
-			'purchase_count' => '%d',
194
-			'date_created'   => '%s',
195
-			'date_modified'  => '%s',
196
-			'uuid'           => '%s',
197
-		);
198
-
199
-		// Add address fields.
200
-		foreach ( array_keys( getpaid_user_address_fields() ) as $field ) {
201
-
202
-			// Skip id, user_id and email.
203
-			if ( ! in_array( $field, array( 'id', 'user_id', 'email', 'purchase_value', 'purchase_count', 'date_created', 'date_modified', 'uuid' ), true ) ) {
204
-				$fields[ $field ] = '%s';
205
-			}
206
-		}
207
-
208
-		return $fields;
209
-	}
184
+    public static function get_database_fields() {
185
+
186
+        $fields = array(
187
+            'id'             => '%d',
188
+            'user_id'        => '%d',
189
+            'email'          => '%s',
190
+            'email_cc'       => '%s',
191
+            'status'         => '%s',
192
+            'purchase_value' => '%f',
193
+            'purchase_count' => '%d',
194
+            'date_created'   => '%s',
195
+            'date_modified'  => '%s',
196
+            'uuid'           => '%s',
197
+        );
198
+
199
+        // Add address fields.
200
+        foreach ( array_keys( getpaid_user_address_fields() ) as $field ) {
201
+
202
+            // Skip id, user_id and email.
203
+            if ( ! in_array( $field, array( 'id', 'user_id', 'email', 'purchase_value', 'purchase_count', 'date_created', 'date_modified', 'uuid' ), true ) ) {
204
+                $fields[ $field ] = '%s';
205
+            }
206
+        }
207
+
208
+        return $fields;
209
+    }
210 210
 }
Please login to merge, or discard this patch.
Spacing   +34 added lines, -34 removed lines patch added patch discarded remove patch
@@ -4,7 +4,7 @@  discard block
 block discarded – undo
4 4
  * GetPaid_Customer_Data_Store class file.
5 5
  *
6 6
  */
7
-if ( ! defined( 'ABSPATH' ) ) {
7
+if (!defined('ABSPATH')) {
8 8
 	exit;
9 9
 }
10 10
 
@@ -26,27 +26,27 @@  discard block
 block discarded – undo
26 26
 	 *
27 27
 	 * @param GetPaid_Customer $customer customer object.
28 28
 	 */
29
-	public function create( &$customer ) {
29
+	public function create(&$customer) {
30 30
 		global $wpdb;
31 31
 
32 32
 		$values  = array();
33 33
 		$formats = array();
34 34
 
35 35
 		$fields = self::get_database_fields();
36
-		unset( $fields['id'] );
36
+		unset($fields['id']);
37 37
 
38
-		foreach ( $fields as $key => $format ) {
39
-			$values[ $key ] = $customer->get( $key, 'edit' );
38
+		foreach ($fields as $key => $format) {
39
+			$values[$key] = $customer->get($key, 'edit');
40 40
 			$formats[]      = $format;
41 41
 		}
42 42
 
43
-		$result = $wpdb->insert( $wpdb->prefix . 'getpaid_customers', $values, $formats );
43
+		$result = $wpdb->insert($wpdb->prefix . 'getpaid_customers', $values, $formats);
44 44
 
45
-		if ( $result ) {
46
-			$customer->set_id( $wpdb->insert_id );
45
+		if ($result) {
46
+			$customer->set_id($wpdb->insert_id);
47 47
 			$customer->apply_changes();
48 48
 			$customer->clear_cache();
49
-			do_action( 'getpaid_new_customer', $customer );
49
+			do_action('getpaid_new_customer', $customer);
50 50
 			return true;
51 51
 		}
52 52
 
@@ -59,22 +59,22 @@  discard block
 block discarded – undo
59 59
 	 * @param GetPaid_Customer $customer customer object.
60 60
 	 *
61 61
 	 */
62
-	public function read( &$customer ) {
62
+	public function read(&$customer) {
63 63
 		global $wpdb;
64 64
 
65 65
 		$customer->set_defaults();
66 66
 
67
-		if ( ! $customer->get_id() ) {
67
+		if (!$customer->get_id()) {
68 68
 			$customer->last_error = 'Invalid customer.';
69
-			$customer->set_id( 0 );
69
+			$customer->set_id(0);
70 70
 			return false;
71 71
 		}
72 72
 
73 73
 		// Maybe retrieve from the cache.
74
-		$raw_customer = wp_cache_get( $customer->get_id(), 'getpaid_customers' );
74
+		$raw_customer = wp_cache_get($customer->get_id(), 'getpaid_customers');
75 75
 
76 76
 		// If not found, retrieve from the db.
77
-		if ( false === $raw_customer ) {
77
+		if (false === $raw_customer) {
78 78
 
79 79
 			$raw_customer = $wpdb->get_row(
80 80
 				$wpdb->prepare(
@@ -84,22 +84,22 @@  discard block
 block discarded – undo
84 84
 			);
85 85
 
86 86
 			// Update the cache with our data
87
-			wp_cache_set( $customer->get_id(), $raw_customer, 'getpaid_customers' );
87
+			wp_cache_set($customer->get_id(), $raw_customer, 'getpaid_customers');
88 88
 
89 89
 		}
90 90
 
91
-		if ( ! $raw_customer ) {
91
+		if (!$raw_customer) {
92 92
 			$raw_customer->last_error = 'Invalid customer.';
93 93
 			return false;
94 94
 		}
95 95
 
96 96
 		// Loop through raw customer fields.
97
-		foreach ( (array) $raw_customer as $key => $value ) {
98
-			$customer->set( $key, $value );
97
+		foreach ((array) $raw_customer as $key => $value) {
98
+			$customer->set($key, $value);
99 99
 		}
100 100
 
101
-		$customer->set_object_read( true );
102
-		do_action( 'getpaid_read_customer', $customer );
101
+		$customer->set_object_read(true);
102
+		do_action('getpaid_read_customer', $customer);
103 103
 
104 104
 	}
105 105
 
@@ -108,23 +108,23 @@  discard block
 block discarded – undo
108 108
 	 *
109 109
 	 * @param GetPaid_Customer $customer Customer object.
110 110
 	 */
111
-	public function update( &$customer ) {
111
+	public function update(&$customer) {
112 112
 		global $wpdb;
113 113
 
114
-		do_action( 'getpaid_before_update_customer', $customer, $customer->get_changes() );
114
+		do_action('getpaid_before_update_customer', $customer, $customer->get_changes());
115 115
 
116 116
 		$changes = $customer->get_changes();
117 117
 		$values  = array();
118 118
 		$format  = array();
119 119
 
120
-		foreach ( self::get_database_fields() as $key => $format ) {
121
-			if ( array_key_exists( $key, $changes ) ) {
122
-				$values[ $key ] = $customer->get( $key, 'edit' );
120
+		foreach (self::get_database_fields() as $key => $format) {
121
+			if (array_key_exists($key, $changes)) {
122
+				$values[$key] = $customer->get($key, 'edit');
123 123
 				$formats[]      = $format;
124 124
 			}
125 125
 		}
126 126
 
127
-		if ( empty( $values ) ) {
127
+		if (empty($values)) {
128 128
 			return;
129 129
 		}
130 130
 
@@ -145,7 +145,7 @@  discard block
 block discarded – undo
145 145
 		$customer->clear_cache();
146 146
 
147 147
 		// Fire a hook.
148
-		do_action( 'getpaid_update_customer', $customer );
148
+		do_action('getpaid_update_customer', $customer);
149 149
 
150 150
 	}
151 151
 
@@ -154,10 +154,10 @@  discard block
 block discarded – undo
154 154
 	 *
155 155
 	 * @param GetPaid_Customer $customer
156 156
 	 */
157
-	public function delete( &$customer ) {
157
+	public function delete(&$customer) {
158 158
 		global $wpdb;
159 159
 
160
-		do_action( 'getpaid_before_delete_customer', $customer );
160
+		do_action('getpaid_before_delete_customer', $customer);
161 161
 
162 162
 		$wpdb->delete(
163 163
 			$wpdb->prefix . 'getpaid_customers',
@@ -171,9 +171,9 @@  discard block
 block discarded – undo
171 171
 		$customer->clear_cache();
172 172
 
173 173
 		// Fire a hook.
174
-		do_action( 'getpaid_delete_customer', $customer );
174
+		do_action('getpaid_delete_customer', $customer);
175 175
 
176
-		$customer->set_id( 0 );
176
+		$customer->set_id(0);
177 177
 	}
178 178
 
179 179
 	/*
@@ -197,11 +197,11 @@  discard block
 block discarded – undo
197 197
 		);
198 198
 
199 199
 		// Add address fields.
200
-		foreach ( array_keys( getpaid_user_address_fields() ) as $field ) {
200
+		foreach (array_keys(getpaid_user_address_fields()) as $field) {
201 201
 
202 202
 			// Skip id, user_id and email.
203
-			if ( ! in_array( $field, array( 'id', 'user_id', 'email', 'purchase_value', 'purchase_count', 'date_created', 'date_modified', 'uuid' ), true ) ) {
204
-				$fields[ $field ] = '%s';
203
+			if (!in_array($field, array('id', 'user_id', 'email', 'purchase_value', 'purchase_count', 'date_created', 'date_modified', 'uuid'), true)) {
204
+				$fields[$field] = '%s';
205 205
 			}
206 206
 		}
207 207
 
Please login to merge, or discard this patch.
includes/class-wpinv.php 2 patches
Indentation   +606 added lines, -606 removed lines patch added patch discarded remove patch
@@ -14,652 +14,652 @@
 block discarded – undo
14 14
  */
15 15
 class WPInv_Plugin {
16 16
 
17
-	/**
18
-	 * GetPaid version.
19
-	 *
20
-	 * @var string
21
-	 */
22
-	public $version;
23
-
24
-	/**
25
-	 * Data container.
26
-	 *
27
-	 * @var array
28
-	 */
29
-	protected $data = array();
30
-
31
-	/**
32
-	 * Form elements instance.
33
-	 *
34
-	 * @var WPInv_Payment_Form_Elements
35
-	 */
36
-	public $form_elements;
37
-
38
-	/**
39
-	 * @var array An array of payment gateways.
40
-	 */
41
-	public $gateways;
42
-
43
-	/**
44
-	 * Class constructor.
45
-	 */
46
-	public function __construct() {
47
-		$this->define_constants();
48
-		$this->includes();
49
-		$this->init_hooks();
50
-		$this->set_properties();
51
-	}
52
-
53
-	/**
54
-	 * Sets a custom data property.
55
-	 *
56
-	 * @param string $prop The prop to set.
57
-	 * @param mixed $value The value to retrieve.
58
-	 */
59
-	public function set( $prop, $value ) {
60
-		$this->data[ $prop ] = $value;
61
-	}
62
-
63
-	/**
64
-	 * Gets a custom data property.
65
-	 *
66
-	 * @param string $prop The prop to set.
67
-	 * @return mixed The value.
68
-	 */
69
-	public function get( $prop ) {
70
-
71
-		if ( isset( $this->data[ $prop ] ) ) {
72
-			return $this->data[ $prop ];
73
-		}
74
-
75
-		return null;
76
-	}
77
-
78
-	/**
79
-	 * Define class properties.
80
-	 */
81
-	public function set_properties() {
82
-
83
-		// Sessions.
84
-		$this->set( 'session', new WPInv_Session_Handler() );
85
-		$GLOBALS['wpi_session'] = $this->get( 'session' ); // Backwards compatibility.
86
-		$GLOBALS['wpinv_euvat'] = new WPInv_EUVat(); // Backwards compatibility.
87
-
88
-		// Init other objects.
89
-		$this->set( 'notes', new WPInv_Notes() );
90
-		$this->set( 'api', new WPInv_API() );
91
-		$this->set( 'post_types', new GetPaid_Post_Types() );
92
-		$this->set( 'template', new GetPaid_Template() );
93
-		$this->set( 'admin', new GetPaid_Admin() );
94
-		$this->set( 'subscriptions', new WPInv_Subscriptions() );
95
-		$this->set( 'invoice_emails', new GetPaid_Invoice_Notification_Emails() );
96
-		$this->set( 'subscription_emails', new GetPaid_Subscription_Notification_Emails() );
97
-		$this->set( 'daily_maintenace', new GetPaid_Daily_Maintenance() );
98
-		$this->set( 'payment_forms', new GetPaid_Payment_Forms() );
99
-		$this->set( 'maxmind', new GetPaid_MaxMind_Geolocation() );
100
-
101
-	}
102
-
103
-	 /**
104
-	 * Define plugin constants.
105
-	 */
106
-	public function define_constants() {
107
-		define( 'WPINV_PLUGIN_DIR', plugin_dir_path( WPINV_PLUGIN_FILE ) );
108
-		define( 'WPINV_PLUGIN_URL', plugin_dir_url( WPINV_PLUGIN_FILE ) );
109
-		$this->version = WPINV_VERSION;
110
-	}
111
-
112
-	/**
113
-	 * Hook into actions and filters.
114
-	 *
115
-	 * @since 1.0.19
116
-	 */
117
-	protected function init_hooks() {
118
-		/* Internationalize the text strings used. */
119
-		add_action( 'plugins_loaded', array( &$this, 'plugins_loaded' ) );
120
-
121
-		// Init the plugin after WordPress inits.
122
-		add_action( 'init', array( $this, 'init' ), 1 );
123
-		add_action( 'init', array( $this, 'maybe_process_ipn' ), 10 );
124
-		add_action( 'init', array( $this, 'wpinv_actions' ) );
125
-		add_action( 'init', array( $this, 'maybe_do_authenticated_action' ), 100 );
126
-		add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 11 );
127
-		add_action( 'wp_footer', array( $this, 'wp_footer' ) );
128
-		add_action( 'wp_head', array( $this, 'wp_head' ) );
129
-		add_action( 'widgets_init', array( $this, 'register_widgets' ) );
130
-		add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', array( $this, 'wpseo_exclude_from_sitemap_by_post_ids' ) );
131
-		add_filter( 'the_seo_framework_sitemap_supported_post_types', array( $this, 'exclude_invoicing_post_types' ) );
132
-		add_filter( 'pre_get_posts', array( &$this, 'pre_get_posts' ) );
133
-
134
-		add_filter( 'query_vars', array( $this, 'custom_query_vars' ) );
17
+    /**
18
+     * GetPaid version.
19
+     *
20
+     * @var string
21
+     */
22
+    public $version;
23
+
24
+    /**
25
+     * Data container.
26
+     *
27
+     * @var array
28
+     */
29
+    protected $data = array();
30
+
31
+    /**
32
+     * Form elements instance.
33
+     *
34
+     * @var WPInv_Payment_Form_Elements
35
+     */
36
+    public $form_elements;
37
+
38
+    /**
39
+     * @var array An array of payment gateways.
40
+     */
41
+    public $gateways;
42
+
43
+    /**
44
+     * Class constructor.
45
+     */
46
+    public function __construct() {
47
+        $this->define_constants();
48
+        $this->includes();
49
+        $this->init_hooks();
50
+        $this->set_properties();
51
+    }
52
+
53
+    /**
54
+     * Sets a custom data property.
55
+     *
56
+     * @param string $prop The prop to set.
57
+     * @param mixed $value The value to retrieve.
58
+     */
59
+    public function set( $prop, $value ) {
60
+        $this->data[ $prop ] = $value;
61
+    }
62
+
63
+    /**
64
+     * Gets a custom data property.
65
+     *
66
+     * @param string $prop The prop to set.
67
+     * @return mixed The value.
68
+     */
69
+    public function get( $prop ) {
70
+
71
+        if ( isset( $this->data[ $prop ] ) ) {
72
+            return $this->data[ $prop ];
73
+        }
74
+
75
+        return null;
76
+    }
77
+
78
+    /**
79
+     * Define class properties.
80
+     */
81
+    public function set_properties() {
82
+
83
+        // Sessions.
84
+        $this->set( 'session', new WPInv_Session_Handler() );
85
+        $GLOBALS['wpi_session'] = $this->get( 'session' ); // Backwards compatibility.
86
+        $GLOBALS['wpinv_euvat'] = new WPInv_EUVat(); // Backwards compatibility.
87
+
88
+        // Init other objects.
89
+        $this->set( 'notes', new WPInv_Notes() );
90
+        $this->set( 'api', new WPInv_API() );
91
+        $this->set( 'post_types', new GetPaid_Post_Types() );
92
+        $this->set( 'template', new GetPaid_Template() );
93
+        $this->set( 'admin', new GetPaid_Admin() );
94
+        $this->set( 'subscriptions', new WPInv_Subscriptions() );
95
+        $this->set( 'invoice_emails', new GetPaid_Invoice_Notification_Emails() );
96
+        $this->set( 'subscription_emails', new GetPaid_Subscription_Notification_Emails() );
97
+        $this->set( 'daily_maintenace', new GetPaid_Daily_Maintenance() );
98
+        $this->set( 'payment_forms', new GetPaid_Payment_Forms() );
99
+        $this->set( 'maxmind', new GetPaid_MaxMind_Geolocation() );
100
+
101
+    }
102
+
103
+        /**
104
+         * Define plugin constants.
105
+         */
106
+    public function define_constants() {
107
+        define( 'WPINV_PLUGIN_DIR', plugin_dir_path( WPINV_PLUGIN_FILE ) );
108
+        define( 'WPINV_PLUGIN_URL', plugin_dir_url( WPINV_PLUGIN_FILE ) );
109
+        $this->version = WPINV_VERSION;
110
+    }
111
+
112
+    /**
113
+     * Hook into actions and filters.
114
+     *
115
+     * @since 1.0.19
116
+     */
117
+    protected function init_hooks() {
118
+        /* Internationalize the text strings used. */
119
+        add_action( 'plugins_loaded', array( &$this, 'plugins_loaded' ) );
120
+
121
+        // Init the plugin after WordPress inits.
122
+        add_action( 'init', array( $this, 'init' ), 1 );
123
+        add_action( 'init', array( $this, 'maybe_process_ipn' ), 10 );
124
+        add_action( 'init', array( $this, 'wpinv_actions' ) );
125
+        add_action( 'init', array( $this, 'maybe_do_authenticated_action' ), 100 );
126
+        add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 11 );
127
+        add_action( 'wp_footer', array( $this, 'wp_footer' ) );
128
+        add_action( 'wp_head', array( $this, 'wp_head' ) );
129
+        add_action( 'widgets_init', array( $this, 'register_widgets' ) );
130
+        add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', array( $this, 'wpseo_exclude_from_sitemap_by_post_ids' ) );
131
+        add_filter( 'the_seo_framework_sitemap_supported_post_types', array( $this, 'exclude_invoicing_post_types' ) );
132
+        add_filter( 'pre_get_posts', array( &$this, 'pre_get_posts' ) );
133
+
134
+        add_filter( 'query_vars', array( $this, 'custom_query_vars' ) );
135 135
         add_action( 'init', array( $this, 'add_rewrite_rule' ), 10, 0 );
136
-		add_action( 'pre_get_posts', array( $this, 'maybe_process_new_ipn' ), 1 );
137
-
138
-		// Fires after registering actions.
139
-		do_action( 'wpinv_actions', $this );
140
-		do_action( 'getpaid_actions', $this );
141
-
142
-	}
143
-
144
-	public function plugins_loaded() {
145
-		/* Internationalize the text strings used. */
146
-		$this->load_textdomain();
147
-
148
-		do_action( 'wpinv_loaded' );
149
-
150
-		// Fix oxygen page builder conflict
151
-		if ( function_exists( 'ct_css_output' ) ) {
152
-			wpinv_oxygen_fix_conflict();
153
-		}
154
-	}
155
-
156
-	/**
157
-	 * Load Localisation files.
158
-	 *
159
-	 * Note: the first-loaded translation file overrides any following ones if the same translation is present.
160
-	 *
161
-	 * Locales found in:
162
-	 *      - WP_LANG_DIR/plugins/invoicing-LOCALE.mo
163
-	 *      - WP_PLUGIN_DIR/invoicing/languages/invoicing-LOCALE.mo
164
-	 *
165
-	 * @since 1.0.0
166
-	 */
167
-	public function load_textdomain() {
168
-
169
-		load_plugin_textdomain(
170
-			'invoicing',
171
-			false,
172
-			plugin_basename( dirname( WPINV_PLUGIN_FILE ) ) . '/languages/'
173
-		);
174
-
175
-	}
176
-
177
-	/**
178
-	 * Include required core files used in admin and on the frontend.
179
-	 */
180
-	public function includes() {
181
-
182
-		// Start with the settings.
183
-		require_once WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php';
184
-
185
-		// Packages/libraries.
186
-		require_once WPINV_PLUGIN_DIR . 'vendor/autoload.php';
187
-		require_once WPINV_PLUGIN_DIR . 'vendor/ayecode/wp-ayecode-ui/ayecode-ui-loader.php';
188
-
189
-		// Load functions.
190
-		require_once WPINV_PLUGIN_DIR . 'includes/deprecated-functions.php';
191
-		require_once WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php';
192
-		require_once WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php';
193
-		require_once WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php';
194
-		require_once WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php';
195
-		require_once WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php';
196
-		require_once WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php';
197
-		require_once WPINV_PLUGIN_DIR . 'includes/invoice-functions.php';
198
-		require_once WPINV_PLUGIN_DIR . 'includes/subscription-functions.php';
199
-		require_once WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php';
200
-		require_once WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php';
201
-		require_once WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php';
202
-		require_once WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php';
203
-		require_once WPINV_PLUGIN_DIR . 'includes/user-functions.php';
204
-		require_once WPINV_PLUGIN_DIR . 'includes/error-functions.php';
205
-
206
-		// Register autoloader.
207
-		try {
208
-			spl_autoload_register( array( $this, 'autoload' ), true );
209
-		} catch ( Exception $e ) {
210
-			wpinv_error_log( $e->getMessage(), '', __FILE__, 149, true );
211
-		}
212
-
213
-		require_once WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php';
214
-		require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php';
215
-		require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php';
216
-		require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php';
217
-		require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php';
218
-		require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php';
219
-		require_once WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php';
220
-		require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php';
221
-		require_once WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php';
222
-		require_once WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php';
223
-		require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php';
224
-		require_once WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php';
225
-		require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php';
226
-		require_once WPINV_PLUGIN_DIR . 'widgets/checkout.php';
227
-		require_once WPINV_PLUGIN_DIR . 'widgets/invoice-history.php';
228
-		require_once WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php';
229
-		require_once WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php';
230
-		require_once WPINV_PLUGIN_DIR . 'widgets/subscriptions.php';
231
-		require_once WPINV_PLUGIN_DIR . 'widgets/buy-item.php';
232
-		require_once WPINV_PLUGIN_DIR . 'widgets/getpaid.php';
233
-		require_once WPINV_PLUGIN_DIR . 'widgets/invoice.php';
234
-		require_once WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php';
235
-
236
-		if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) {
237
-			GetPaid_Post_Types_Admin::init();
238
-
239
-			require_once WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php';
240
-			require_once WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-payment-form.php';
241
-			require_once WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php';
242
-			require_once WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php';
243
-			require_once WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php';
244
-			require_once WPINV_PLUGIN_DIR . 'includes/admin/class-getpaid-admin-profile.php';
245
-			// load the user class only on the users.php page
246
-			global $pagenow;
247
-			if ( $pagenow == 'users.php' ) {
248
-				new WPInv_Admin_Users();
249
-			}
250
-		}
251
-
252
-		// Register cli commands
253
-		if ( defined( 'WP_CLI' ) && WP_CLI ) {
254
-			require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php';
255
-			WP_CLI::add_command( 'invoicing', 'WPInv_CLI' );
256
-		}
257
-
258
-	}
259
-
260
-	/**
261
-	 * Class autoloader
262
-	 *
263
-	 * @param       string $class_name The name of the class to load.
264
-	 * @access      public
265
-	 * @since       1.0.19
266
-	 * @return      void
267
-	 */
268
-	public function autoload( $class_name ) {
269
-
270
-		// Normalize the class name...
271
-		$class_name  = strtolower( $class_name );
272
-
273
-		// ... and make sure it is our class.
274
-		if ( false === strpos( $class_name, 'getpaid_' ) && false === strpos( $class_name, 'wpinv_' ) ) {
275
-			return;
276
-		}
277
-
278
-		// Next, prepare the file name from the class.
279
-		$file_name = 'class-' . str_replace( '_', '-', $class_name ) . '.php';
280
-
281
-		// Base path of the classes.
282
-		$plugin_path = untrailingslashit( WPINV_PLUGIN_DIR );
283
-
284
-		// And an array of possible locations in order of importance.
285
-		$locations = array(
286
-			"$plugin_path/includes",
287
-			"$plugin_path/includes/data-stores",
288
-			"$plugin_path/includes/gateways",
289
-			"$plugin_path/includes/payments",
290
-			"$plugin_path/includes/geolocation",
291
-			"$plugin_path/includes/reports",
292
-			"$plugin_path/includes/api",
293
-			"$plugin_path/includes/admin",
294
-			"$plugin_path/includes/admin/meta-boxes",
295
-		);
296
-
297
-		foreach ( apply_filters( 'getpaid_autoload_locations', $locations ) as $location ) {
298
-
299
-			if ( file_exists( trailingslashit( $location ) . $file_name ) ) {
300
-				include trailingslashit( $location ) . $file_name;
301
-				break;
302
-			}
136
+        add_action( 'pre_get_posts', array( $this, 'maybe_process_new_ipn' ), 1 );
137
+
138
+        // Fires after registering actions.
139
+        do_action( 'wpinv_actions', $this );
140
+        do_action( 'getpaid_actions', $this );
141
+
142
+    }
143
+
144
+    public function plugins_loaded() {
145
+        /* Internationalize the text strings used. */
146
+        $this->load_textdomain();
147
+
148
+        do_action( 'wpinv_loaded' );
149
+
150
+        // Fix oxygen page builder conflict
151
+        if ( function_exists( 'ct_css_output' ) ) {
152
+            wpinv_oxygen_fix_conflict();
153
+        }
154
+    }
155
+
156
+    /**
157
+     * Load Localisation files.
158
+     *
159
+     * Note: the first-loaded translation file overrides any following ones if the same translation is present.
160
+     *
161
+     * Locales found in:
162
+     *      - WP_LANG_DIR/plugins/invoicing-LOCALE.mo
163
+     *      - WP_PLUGIN_DIR/invoicing/languages/invoicing-LOCALE.mo
164
+     *
165
+     * @since 1.0.0
166
+     */
167
+    public function load_textdomain() {
168
+
169
+        load_plugin_textdomain(
170
+            'invoicing',
171
+            false,
172
+            plugin_basename( dirname( WPINV_PLUGIN_FILE ) ) . '/languages/'
173
+        );
174
+
175
+    }
176
+
177
+    /**
178
+     * Include required core files used in admin and on the frontend.
179
+     */
180
+    public function includes() {
181
+
182
+        // Start with the settings.
183
+        require_once WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php';
184
+
185
+        // Packages/libraries.
186
+        require_once WPINV_PLUGIN_DIR . 'vendor/autoload.php';
187
+        require_once WPINV_PLUGIN_DIR . 'vendor/ayecode/wp-ayecode-ui/ayecode-ui-loader.php';
188
+
189
+        // Load functions.
190
+        require_once WPINV_PLUGIN_DIR . 'includes/deprecated-functions.php';
191
+        require_once WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php';
192
+        require_once WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php';
193
+        require_once WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php';
194
+        require_once WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php';
195
+        require_once WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php';
196
+        require_once WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php';
197
+        require_once WPINV_PLUGIN_DIR . 'includes/invoice-functions.php';
198
+        require_once WPINV_PLUGIN_DIR . 'includes/subscription-functions.php';
199
+        require_once WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php';
200
+        require_once WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php';
201
+        require_once WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php';
202
+        require_once WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php';
203
+        require_once WPINV_PLUGIN_DIR . 'includes/user-functions.php';
204
+        require_once WPINV_PLUGIN_DIR . 'includes/error-functions.php';
205
+
206
+        // Register autoloader.
207
+        try {
208
+            spl_autoload_register( array( $this, 'autoload' ), true );
209
+        } catch ( Exception $e ) {
210
+            wpinv_error_log( $e->getMessage(), '', __FILE__, 149, true );
211
+        }
212
+
213
+        require_once WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php';
214
+        require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php';
215
+        require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php';
216
+        require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php';
217
+        require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php';
218
+        require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php';
219
+        require_once WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php';
220
+        require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php';
221
+        require_once WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php';
222
+        require_once WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php';
223
+        require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php';
224
+        require_once WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php';
225
+        require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php';
226
+        require_once WPINV_PLUGIN_DIR . 'widgets/checkout.php';
227
+        require_once WPINV_PLUGIN_DIR . 'widgets/invoice-history.php';
228
+        require_once WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php';
229
+        require_once WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php';
230
+        require_once WPINV_PLUGIN_DIR . 'widgets/subscriptions.php';
231
+        require_once WPINV_PLUGIN_DIR . 'widgets/buy-item.php';
232
+        require_once WPINV_PLUGIN_DIR . 'widgets/getpaid.php';
233
+        require_once WPINV_PLUGIN_DIR . 'widgets/invoice.php';
234
+        require_once WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php';
235
+
236
+        if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) {
237
+            GetPaid_Post_Types_Admin::init();
238
+
239
+            require_once WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php';
240
+            require_once WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-payment-form.php';
241
+            require_once WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php';
242
+            require_once WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php';
243
+            require_once WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php';
244
+            require_once WPINV_PLUGIN_DIR . 'includes/admin/class-getpaid-admin-profile.php';
245
+            // load the user class only on the users.php page
246
+            global $pagenow;
247
+            if ( $pagenow == 'users.php' ) {
248
+                new WPInv_Admin_Users();
249
+            }
250
+        }
251
+
252
+        // Register cli commands
253
+        if ( defined( 'WP_CLI' ) && WP_CLI ) {
254
+            require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php';
255
+            WP_CLI::add_command( 'invoicing', 'WPInv_CLI' );
256
+        }
257
+
258
+    }
259
+
260
+    /**
261
+     * Class autoloader
262
+     *
263
+     * @param       string $class_name The name of the class to load.
264
+     * @access      public
265
+     * @since       1.0.19
266
+     * @return      void
267
+     */
268
+    public function autoload( $class_name ) {
269
+
270
+        // Normalize the class name...
271
+        $class_name  = strtolower( $class_name );
272
+
273
+        // ... and make sure it is our class.
274
+        if ( false === strpos( $class_name, 'getpaid_' ) && false === strpos( $class_name, 'wpinv_' ) ) {
275
+            return;
276
+        }
277
+
278
+        // Next, prepare the file name from the class.
279
+        $file_name = 'class-' . str_replace( '_', '-', $class_name ) . '.php';
280
+
281
+        // Base path of the classes.
282
+        $plugin_path = untrailingslashit( WPINV_PLUGIN_DIR );
283
+
284
+        // And an array of possible locations in order of importance.
285
+        $locations = array(
286
+            "$plugin_path/includes",
287
+            "$plugin_path/includes/data-stores",
288
+            "$plugin_path/includes/gateways",
289
+            "$plugin_path/includes/payments",
290
+            "$plugin_path/includes/geolocation",
291
+            "$plugin_path/includes/reports",
292
+            "$plugin_path/includes/api",
293
+            "$plugin_path/includes/admin",
294
+            "$plugin_path/includes/admin/meta-boxes",
295
+        );
296
+
297
+        foreach ( apply_filters( 'getpaid_autoload_locations', $locations ) as $location ) {
298
+
299
+            if ( file_exists( trailingslashit( $location ) . $file_name ) ) {
300
+                include trailingslashit( $location ) . $file_name;
301
+                break;
302
+            }
303 303
 }
304 304
 
305
-	}
306
-
307
-	/**
308
-	 * Inits hooks etc.
309
-	 */
310
-	public function init() {
311
-
312
-		// Fires before getpaid inits.
313
-		do_action( 'before_getpaid_init', $this );
314
-
315
-		// Maybe upgrade.
316
-		$this->maybe_upgrade_database();
317
-
318
-		// Load default gateways.
319
-		$gateways = apply_filters(
320
-			'getpaid_default_gateways',
321
-			array(
322
-				'manual'        => 'GetPaid_Manual_Gateway',
323
-				'paypal'        => 'GetPaid_Paypal_Gateway',
324
-				'worldpay'      => 'GetPaid_Worldpay_Gateway',
325
-				'bank_transfer' => 'GetPaid_Bank_Transfer_Gateway',
326
-				'authorizenet'  => 'GetPaid_Authorize_Net_Gateway',
327
-			)
328
-		);
329
-
330
-		foreach ( $gateways as $id => $class ) {
331
-			$this->gateways[ $id ] = new $class();
332
-		}
333
-
334
-		if ( 'yes' != get_option( 'wpinv_renamed_gateways' ) ) {
335
-			GetPaid_Installer::rename_gateways_label();
336
-			update_option( 'wpinv_renamed_gateways', 'yes' );
337
-		}
338
-
339
-		// Fires after getpaid inits.
340
-		do_action( 'getpaid_init', $this );
341
-
342
-	}
343
-
344
-	/**
345
-	 * Checks if this is an IPN request and processes it.
346
-	 */
347
-	public function maybe_process_ipn() {
348
-
349
-		// Ensure that this is an IPN request.
350
-		if ( empty( $_GET['wpi-listener'] ) || 'IPN' !== $_GET['wpi-listener'] || empty( $_GET['wpi-gateway'] ) ) {
351
-			return;
352
-		}
353
-
354
-		$gateway = sanitize_text_field( $_GET['wpi-gateway'] );
355
-
356
-		do_action( 'wpinv_verify_payment_ipn', $gateway );
357
-		do_action( "wpinv_verify_{$gateway}_ipn" );
358
-		exit;
359
-
360
-	}
361
-
362
-	public function enqueue_scripts() {
363
-
364
-		// Fires before adding scripts.
365
-		do_action( 'getpaid_enqueue_scripts' );
366
-
367
-		$localize                         = array();
368
-		$localize['ajax_url']             = admin_url( 'admin-ajax.php' );
369
-		$localize['thousands']            = wpinv_thousands_separator();
370
-		$localize['decimals']             = wpinv_decimal_separator();
371
-		$localize['nonce']                = wp_create_nonce( 'wpinv-nonce' );
372
-		$localize['txtComplete']          = __( 'Continue', 'invoicing' );
373
-		$localize['UseTaxes']             = wpinv_use_taxes();
374
-		$localize['formNonce']            = wp_create_nonce( 'getpaid_form_nonce' );
375
-		$localize['loading']              = __( 'Loading...', 'invoicing' );
376
-		$localize['connectionError']      = __( 'Could not establish a connection to the server.', 'invoicing' );
377
-		$localize['recaptchaSettings']    = getpaid_get_recaptcha_settings();
378
-
379
-		$localize = apply_filters( 'wpinv_front_js_localize', $localize );
380
-
381
-		// reCaptcha.
382
-		if ( getpaid_is_recaptcha_enabled() ) {
383
-			$url = apply_filters(
384
-				'getpaid_recaptcha_api_url',
385
-				add_query_arg(
386
-					array(
387
-						'render' => 'v2' === getpaid_get_recaptcha_version() ? 'explicit' : getpaid_get_recaptcha_site_key(),
388
-					),
389
-					'https://www.google.com/recaptcha/api.js'
390
-				)
391
-			);
392
-			wp_enqueue_script( 'recaptcha', $url, array(), null, true ); // phpcs:ignore WordPress.WP.EnqueuedResourceParameters.MissingVersion
393
-		}
394
-
395
-		$version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/payment-forms.js' );
396
-		wp_enqueue_script( 'wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.js', array( 'jquery' ), $version, true );
397
-		wp_localize_script( 'wpinv-front-script', 'WPInv', $localize );
398
-	}
399
-
400
-	public function wpinv_actions() {
401
-		if ( isset( $_REQUEST['wpi_action'] ) ) {
402
-			do_action( 'wpinv_' . wpinv_sanitize_key( $_REQUEST['wpi_action'] ), $_REQUEST );
403
-		}
404
-
405
-		if ( defined( 'WP_ALL_IMPORT_ROOT_DIR' ) ) {
406
-			include plugin_dir_path( __FILE__ ) . 'libraries/wp-all-import/class-getpaid-wp-all-import.php';
407
-		}
408
-	}
409
-
410
-	/**
305
+    }
306
+
307
+    /**
308
+     * Inits hooks etc.
309
+     */
310
+    public function init() {
311
+
312
+        // Fires before getpaid inits.
313
+        do_action( 'before_getpaid_init', $this );
314
+
315
+        // Maybe upgrade.
316
+        $this->maybe_upgrade_database();
317
+
318
+        // Load default gateways.
319
+        $gateways = apply_filters(
320
+            'getpaid_default_gateways',
321
+            array(
322
+                'manual'        => 'GetPaid_Manual_Gateway',
323
+                'paypal'        => 'GetPaid_Paypal_Gateway',
324
+                'worldpay'      => 'GetPaid_Worldpay_Gateway',
325
+                'bank_transfer' => 'GetPaid_Bank_Transfer_Gateway',
326
+                'authorizenet'  => 'GetPaid_Authorize_Net_Gateway',
327
+            )
328
+        );
329
+
330
+        foreach ( $gateways as $id => $class ) {
331
+            $this->gateways[ $id ] = new $class();
332
+        }
333
+
334
+        if ( 'yes' != get_option( 'wpinv_renamed_gateways' ) ) {
335
+            GetPaid_Installer::rename_gateways_label();
336
+            update_option( 'wpinv_renamed_gateways', 'yes' );
337
+        }
338
+
339
+        // Fires after getpaid inits.
340
+        do_action( 'getpaid_init', $this );
341
+
342
+    }
343
+
344
+    /**
345
+     * Checks if this is an IPN request and processes it.
346
+     */
347
+    public function maybe_process_ipn() {
348
+
349
+        // Ensure that this is an IPN request.
350
+        if ( empty( $_GET['wpi-listener'] ) || 'IPN' !== $_GET['wpi-listener'] || empty( $_GET['wpi-gateway'] ) ) {
351
+            return;
352
+        }
353
+
354
+        $gateway = sanitize_text_field( $_GET['wpi-gateway'] );
355
+
356
+        do_action( 'wpinv_verify_payment_ipn', $gateway );
357
+        do_action( "wpinv_verify_{$gateway}_ipn" );
358
+        exit;
359
+
360
+    }
361
+
362
+    public function enqueue_scripts() {
363
+
364
+        // Fires before adding scripts.
365
+        do_action( 'getpaid_enqueue_scripts' );
366
+
367
+        $localize                         = array();
368
+        $localize['ajax_url']             = admin_url( 'admin-ajax.php' );
369
+        $localize['thousands']            = wpinv_thousands_separator();
370
+        $localize['decimals']             = wpinv_decimal_separator();
371
+        $localize['nonce']                = wp_create_nonce( 'wpinv-nonce' );
372
+        $localize['txtComplete']          = __( 'Continue', 'invoicing' );
373
+        $localize['UseTaxes']             = wpinv_use_taxes();
374
+        $localize['formNonce']            = wp_create_nonce( 'getpaid_form_nonce' );
375
+        $localize['loading']              = __( 'Loading...', 'invoicing' );
376
+        $localize['connectionError']      = __( 'Could not establish a connection to the server.', 'invoicing' );
377
+        $localize['recaptchaSettings']    = getpaid_get_recaptcha_settings();
378
+
379
+        $localize = apply_filters( 'wpinv_front_js_localize', $localize );
380
+
381
+        // reCaptcha.
382
+        if ( getpaid_is_recaptcha_enabled() ) {
383
+            $url = apply_filters(
384
+                'getpaid_recaptcha_api_url',
385
+                add_query_arg(
386
+                    array(
387
+                        'render' => 'v2' === getpaid_get_recaptcha_version() ? 'explicit' : getpaid_get_recaptcha_site_key(),
388
+                    ),
389
+                    'https://www.google.com/recaptcha/api.js'
390
+                )
391
+            );
392
+            wp_enqueue_script( 'recaptcha', $url, array(), null, true ); // phpcs:ignore WordPress.WP.EnqueuedResourceParameters.MissingVersion
393
+        }
394
+
395
+        $version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/payment-forms.js' );
396
+        wp_enqueue_script( 'wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.js', array( 'jquery' ), $version, true );
397
+        wp_localize_script( 'wpinv-front-script', 'WPInv', $localize );
398
+    }
399
+
400
+    public function wpinv_actions() {
401
+        if ( isset( $_REQUEST['wpi_action'] ) ) {
402
+            do_action( 'wpinv_' . wpinv_sanitize_key( $_REQUEST['wpi_action'] ), $_REQUEST );
403
+        }
404
+
405
+        if ( defined( 'WP_ALL_IMPORT_ROOT_DIR' ) ) {
406
+            include plugin_dir_path( __FILE__ ) . 'libraries/wp-all-import/class-getpaid-wp-all-import.php';
407
+        }
408
+    }
409
+
410
+    /**
411 411
      * Fires an action after verifying that a user can fire them.
412
-	 *
413
-	 * Note: If the action is on an invoice, subscription etc, esure that the
414
-	 * current user owns the invoice/subscription.
412
+     *
413
+     * Note: If the action is on an invoice, subscription etc, esure that the
414
+     * current user owns the invoice/subscription.
415 415
      */
416 416
     public function maybe_do_authenticated_action() {
417 417
 
418
-		if ( isset( $_REQUEST['getpaid-action'] ) && isset( $_REQUEST['getpaid-nonce'] ) && wp_verify_nonce( $_REQUEST['getpaid-nonce'], 'getpaid-nonce' ) ) {
418
+        if ( isset( $_REQUEST['getpaid-action'] ) && isset( $_REQUEST['getpaid-nonce'] ) && wp_verify_nonce( $_REQUEST['getpaid-nonce'], 'getpaid-nonce' ) ) {
419 419
 
420
-			$key  = sanitize_key( $_REQUEST['getpaid-action'] );
421
-			$data = wp_unslash( $_REQUEST );
422
-			if ( is_user_logged_in() ) {
423
-				do_action( "getpaid_authenticated_action_$key", $data );
424
-			}
420
+            $key  = sanitize_key( $_REQUEST['getpaid-action'] );
421
+            $data = wp_unslash( $_REQUEST );
422
+            if ( is_user_logged_in() ) {
423
+                do_action( "getpaid_authenticated_action_$key", $data );
424
+            }
425 425
 
426
-			do_action( "getpaid_unauthenticated_action_$key", $data );
426
+            do_action( "getpaid_unauthenticated_action_$key", $data );
427 427
 
428
-		}
428
+        }
429 429
 
430 430
     }
431 431
 
432
-	public function pre_get_posts( $wp_query ) {
433
-
434
-		if ( ! is_admin() && ! empty( $wp_query->query_vars['post_type'] ) && getpaid_is_invoice_post_type( $wp_query->query_vars['post_type'] ) && is_user_logged_in() && is_single() && $wp_query->is_main_query() ) {
435
-			$wp_query->query_vars['post_status'] = array_keys( wpinv_get_invoice_statuses( false, false, $wp_query->query_vars['post_type'] ) );
436
-		}
437
-
438
-		return $wp_query;
439
-	}
440
-
441
-	/**
442
-	 * Register widgets
443
-	 *
444
-	 */
445
-	public function register_widgets() {
446
-		global $pagenow;
447
-
448
-		// Currently, UX Builder does not work particulaly well with SuperDuper.
449
-		// So we disable our widgets when editing a page with UX Builder.
450
-		if ( function_exists( 'ux_builder_is_active' ) && ux_builder_is_active() ) {
451
-			return;
452
-		}
453
-
454
-		$block_widget_init_screens = function_exists( 'sd_pagenow_exclude' ) ? sd_pagenow_exclude() : array();
455
-
456
-		if ( is_admin() && $pagenow && in_array( $pagenow, $block_widget_init_screens ) ) {
457
-			// don't initiate in these conditions.
458
-		} else {
459
-
460
-			// Only load allowed widgets.
461
-			$exclude = function_exists( 'sd_widget_exclude' ) ? sd_widget_exclude() : array();
462
-			$widgets = apply_filters(
463
-				'getpaid_widget_classes',
464
-				array(
465
-					'WPInv_Checkout_Widget',
466
-					'WPInv_History_Widget',
467
-					'WPInv_Receipt_Widget',
468
-					'WPInv_Subscriptions_Widget',
469
-					'WPInv_Buy_Item_Widget',
470
-					'WPInv_Messages_Widget',
471
-					'WPInv_GetPaid_Widget',
472
-					'WPInv_Invoice_Widget',
473
-				)
474
-			);
475
-
476
-			// For each widget...
477
-			foreach ( $widgets as $widget ) {
478
-
479
-				// Abort early if it is excluded for this page.
480
-				if ( in_array( $widget, $exclude ) ) {
481
-					continue;
482
-				}
483
-
484
-				// SD V1 used to extend the widget class. V2 does not, so we cannot call register widget on it.
485
-				if ( is_subclass_of( $widget, 'WP_Widget' ) ) {
486
-					register_widget( $widget );
487
-				} else {
488
-					new $widget();
489
-				}
432
+    public function pre_get_posts( $wp_query ) {
433
+
434
+        if ( ! is_admin() && ! empty( $wp_query->query_vars['post_type'] ) && getpaid_is_invoice_post_type( $wp_query->query_vars['post_type'] ) && is_user_logged_in() && is_single() && $wp_query->is_main_query() ) {
435
+            $wp_query->query_vars['post_status'] = array_keys( wpinv_get_invoice_statuses( false, false, $wp_query->query_vars['post_type'] ) );
436
+        }
437
+
438
+        return $wp_query;
439
+    }
440
+
441
+    /**
442
+     * Register widgets
443
+     *
444
+     */
445
+    public function register_widgets() {
446
+        global $pagenow;
447
+
448
+        // Currently, UX Builder does not work particulaly well with SuperDuper.
449
+        // So we disable our widgets when editing a page with UX Builder.
450
+        if ( function_exists( 'ux_builder_is_active' ) && ux_builder_is_active() ) {
451
+            return;
452
+        }
453
+
454
+        $block_widget_init_screens = function_exists( 'sd_pagenow_exclude' ) ? sd_pagenow_exclude() : array();
455
+
456
+        if ( is_admin() && $pagenow && in_array( $pagenow, $block_widget_init_screens ) ) {
457
+            // don't initiate in these conditions.
458
+        } else {
459
+
460
+            // Only load allowed widgets.
461
+            $exclude = function_exists( 'sd_widget_exclude' ) ? sd_widget_exclude() : array();
462
+            $widgets = apply_filters(
463
+                'getpaid_widget_classes',
464
+                array(
465
+                    'WPInv_Checkout_Widget',
466
+                    'WPInv_History_Widget',
467
+                    'WPInv_Receipt_Widget',
468
+                    'WPInv_Subscriptions_Widget',
469
+                    'WPInv_Buy_Item_Widget',
470
+                    'WPInv_Messages_Widget',
471
+                    'WPInv_GetPaid_Widget',
472
+                    'WPInv_Invoice_Widget',
473
+                )
474
+            );
475
+
476
+            // For each widget...
477
+            foreach ( $widgets as $widget ) {
478
+
479
+                // Abort early if it is excluded for this page.
480
+                if ( in_array( $widget, $exclude ) ) {
481
+                    continue;
482
+                }
483
+
484
+                // SD V1 used to extend the widget class. V2 does not, so we cannot call register widget on it.
485
+                if ( is_subclass_of( $widget, 'WP_Widget' ) ) {
486
+                    register_widget( $widget );
487
+                } else {
488
+                    new $widget();
489
+                }
490 490
 }
491 491
 }
492 492
 
493
-	}
493
+    }
494
+
495
+    /**
496
+     * Upgrades the database.
497
+     *
498
+     * @since 2.0.2
499
+     */
500
+    public function maybe_upgrade_database() {
501
+
502
+        // Ensure the database tables are up to date.
503
+        GetPaid_Installer::maybe_create_db_tables();
504
+
505
+        $wpi_version = get_option( 'wpinv_version', 0 );
506
+
507
+        if ( $wpi_version == WPINV_VERSION ) {
508
+            return;
509
+        }
510
+
511
+        $installer = new GetPaid_Installer();
512
+
513
+        if ( empty( $wpi_version ) ) {
514
+            return $installer->upgrade_db( 0 );
515
+        }
516
+
517
+        $upgrades  = array(
518
+            '0.0.5' => '004',
519
+            '1.0.3' => '102',
520
+            '2.0.0' => '118',
521
+            '2.8.0' => '279',
522
+        );
523
+
524
+        foreach ( $upgrades as $key => $method ) {
525
+
526
+            if ( version_compare( $wpi_version, $key, '<' ) ) {
527
+                return $installer->upgrade_db( $method );
528
+            }
529
+        }
530
+
531
+    }
532
+
533
+    /**
534
+     * Flushes the permalinks if needed.
535
+     *
536
+     * @since 2.0.8
537
+     */
538
+    public function maybe_flush_permalinks() {
539
+
540
+        $flush = get_option( 'wpinv_flush_permalinks', 0 );
541
+
542
+        if ( ! empty( $flush ) ) {
543
+            flush_rewrite_rules();
544
+            delete_option( 'wpinv_flush_permalinks' );
545
+        }
546
+
547
+    }
548
+
549
+    /**
550
+     * Remove our pages from yoast sitemaps.
551
+     *
552
+     * @since 1.0.19
553
+     * @param int[] $excluded_posts_ids
554
+     */
555
+    public function wpseo_exclude_from_sitemap_by_post_ids( $excluded_posts_ids ) {
556
+
557
+        // Ensure that we have an array.
558
+        if ( ! is_array( $excluded_posts_ids ) ) {
559
+            $excluded_posts_ids = array();
560
+        }
561
+
562
+        // Prepare our pages.
563
+        $our_pages = array();
564
+
565
+        // Checkout page.
566
+        $our_pages[] = wpinv_get_option( 'checkout_page', false );
567
+
568
+        // Success page.
569
+        $our_pages[] = wpinv_get_option( 'success_page', false );
570
+
571
+        // Failure page.
572
+        $our_pages[] = wpinv_get_option( 'failure_page', false );
494 573
 
495
-	/**
496
-	 * Upgrades the database.
497
-	 *
498
-	 * @since 2.0.2
499
-	 */
500
-	public function maybe_upgrade_database() {
574
+        // History page.
575
+        $our_pages[] = wpinv_get_option( 'invoice_history_page', false );
501 576
 
502
-		// Ensure the database tables are up to date.
503
-		GetPaid_Installer::maybe_create_db_tables();
577
+        // Subscriptions page.
578
+        $our_pages[] = wpinv_get_option( 'invoice_subscription_page', false );
504 579
 
505
-		$wpi_version = get_option( 'wpinv_version', 0 );
580
+        $our_pages   = array_map( 'intval', array_filter( $our_pages ) );
506 581
 
507
-		if ( $wpi_version == WPINV_VERSION ) {
508
-			return;
509
-		}
582
+        $excluded_posts_ids = $excluded_posts_ids + $our_pages;
583
+        return array_unique( $excluded_posts_ids );
510 584
 
511
-		$installer = new GetPaid_Installer();
585
+    }
586
+
587
+    /**
588
+     * Remove our pages from yoast sitemaps.
589
+     *
590
+     * @since 1.0.19
591
+     * @param string[] $post_types
592
+     */
593
+    public function exclude_invoicing_post_types( $post_types ) {
594
+
595
+        // Ensure that we have an array.
596
+        if ( ! is_array( $post_types ) ) {
597
+            $post_types = array();
598
+        }
599
+
600
+        // Remove our post types.
601
+        return array_diff( $post_types, array_keys( getpaid_get_invoice_post_types() ) );
602
+    }
603
+
604
+    /**
605
+     * Displays additional footer code.
606
+     *
607
+     * @since 2.0.0
608
+     */
609
+    public function wp_footer() {
610
+        wpinv_get_template( 'frontend-footer.php' );
611
+    }
512 612
 
513
-		if ( empty( $wpi_version ) ) {
514
-			return $installer->upgrade_db( 0 );
515
-		}
613
+    /**
614
+     * Displays additional header code.
615
+     *
616
+     * @since 2.0.0
617
+     */
618
+    public function wp_head() {
619
+        wpinv_get_template( 'frontend-head.php' );
620
+    }
516 621
 
517
-		$upgrades  = array(
518
-			'0.0.5' => '004',
519
-			'1.0.3' => '102',
520
-			'2.0.0' => '118',
521
-			'2.8.0' => '279',
522
-		);
523
-
524
-		foreach ( $upgrades as $key => $method ) {
525
-
526
-			if ( version_compare( $wpi_version, $key, '<' ) ) {
527
-				return $installer->upgrade_db( $method );
528
-			}
529
-		}
530
-
531
-	}
532
-
533
-	/**
534
-	 * Flushes the permalinks if needed.
535
-	 *
536
-	 * @since 2.0.8
537
-	 */
538
-	public function maybe_flush_permalinks() {
539
-
540
-		$flush = get_option( 'wpinv_flush_permalinks', 0 );
541
-
542
-		if ( ! empty( $flush ) ) {
543
-			flush_rewrite_rules();
544
-			delete_option( 'wpinv_flush_permalinks' );
545
-		}
546
-
547
-	}
548
-
549
-	/**
550
-	 * Remove our pages from yoast sitemaps.
551
-	 *
552
-	 * @since 1.0.19
553
-	 * @param int[] $excluded_posts_ids
554
-	 */
555
-	public function wpseo_exclude_from_sitemap_by_post_ids( $excluded_posts_ids ) {
556
-
557
-		// Ensure that we have an array.
558
-		if ( ! is_array( $excluded_posts_ids ) ) {
559
-			$excluded_posts_ids = array();
560
-		}
561
-
562
-		// Prepare our pages.
563
-		$our_pages = array();
564
-
565
-		// Checkout page.
566
-		$our_pages[] = wpinv_get_option( 'checkout_page', false );
567
-
568
-		// Success page.
569
-		$our_pages[] = wpinv_get_option( 'success_page', false );
570
-
571
-		// Failure page.
572
-		$our_pages[] = wpinv_get_option( 'failure_page', false );
573
-
574
-		// History page.
575
-		$our_pages[] = wpinv_get_option( 'invoice_history_page', false );
576
-
577
-		// Subscriptions page.
578
-		$our_pages[] = wpinv_get_option( 'invoice_subscription_page', false );
579
-
580
-		$our_pages   = array_map( 'intval', array_filter( $our_pages ) );
581
-
582
-		$excluded_posts_ids = $excluded_posts_ids + $our_pages;
583
-		return array_unique( $excluded_posts_ids );
584
-
585
-	}
586
-
587
-	/**
588
-	 * Remove our pages from yoast sitemaps.
589
-	 *
590
-	 * @since 1.0.19
591
-	 * @param string[] $post_types
592
-	 */
593
-	public function exclude_invoicing_post_types( $post_types ) {
594
-
595
-		// Ensure that we have an array.
596
-		if ( ! is_array( $post_types ) ) {
597
-			$post_types = array();
598
-		}
599
-
600
-		// Remove our post types.
601
-		return array_diff( $post_types, array_keys( getpaid_get_invoice_post_types() ) );
602
-	}
603
-
604
-	/**
605
-	 * Displays additional footer code.
606
-	 *
607
-	 * @since 2.0.0
608
-	 */
609
-	public function wp_footer() {
610
-		wpinv_get_template( 'frontend-footer.php' );
611
-	}
612
-
613
-	/**
614
-	 * Displays additional header code.
615
-	 *
616
-	 * @since 2.0.0
617
-	 */
618
-	public function wp_head() {
619
-		wpinv_get_template( 'frontend-head.php' );
620
-	}
621
-
622
-	/**
623
-	 * Custom query vars.
624
-	 *
625
-	 */
626
-	public function custom_query_vars( $vars ) {
622
+    /**
623
+     * Custom query vars.
624
+     *
625
+     */
626
+    public function custom_query_vars( $vars ) {
627 627
         $vars[] = 'getpaid-ipn';
628 628
         return $vars;
629
-	}
629
+    }
630 630
 
631
-	/**
632
-	 * Add rewrite tags and rules.
633
-	 *
634
-	 */
635
-	public function add_rewrite_rule() {
631
+    /**
632
+     * Add rewrite tags and rules.
633
+     *
634
+     */
635
+    public function add_rewrite_rule() {
636 636
         $tag = 'getpaid-ipn';
637 637
         add_rewrite_tag( "%$tag%", '([^&]+)' );
638 638
         add_rewrite_rule( "^$tag/([^/]*)/?", "index.php?$tag=\$matches[1]", 'top' );
639
-	}
639
+    }
640 640
 
641
-	/**
642
-	 * Processes non-query string ipns.
643
-	 *
644
-	 */
645
-	public function maybe_process_new_ipn( $query ) {
641
+    /**
642
+     * Processes non-query string ipns.
643
+     *
644
+     */
645
+    public function maybe_process_new_ipn( $query ) {
646 646
 
647 647
         if ( is_admin() || ! $query->is_main_query() ) {
648 648
             return;
649 649
         }
650 650
 
651
-		$gateway = get_query_var( 'getpaid-ipn' );
651
+        $gateway = get_query_var( 'getpaid-ipn' );
652 652
 
653 653
         if ( ! empty( $gateway ) ) {
654 654
 
655
-			$gateway = sanitize_text_field( $gateway );
656
-			nocache_headers();
657
-			do_action( 'wpinv_verify_payment_ipn', $gateway );
658
-			do_action( "wpinv_verify_{$gateway}_ipn" );
659
-			exit;
655
+            $gateway = sanitize_text_field( $gateway );
656
+            nocache_headers();
657
+            do_action( 'wpinv_verify_payment_ipn', $gateway );
658
+            do_action( "wpinv_verify_{$gateway}_ipn" );
659
+            exit;
660 660
 
661 661
         }
662 662
 
663
-	}
663
+    }
664 664
 
665 665
 }
Please login to merge, or discard this patch.
Spacing   +136 added lines, -136 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  * @since   1.0.0
7 7
  */
8 8
 
9
-defined( 'ABSPATH' ) || exit;
9
+defined('ABSPATH') || exit;
10 10
 
11 11
 /**
12 12
  * Main Invoicing class.
@@ -56,8 +56,8 @@  discard block
 block discarded – undo
56 56
 	 * @param string $prop The prop to set.
57 57
 	 * @param mixed $value The value to retrieve.
58 58
 	 */
59
-	public function set( $prop, $value ) {
60
-		$this->data[ $prop ] = $value;
59
+	public function set($prop, $value) {
60
+		$this->data[$prop] = $value;
61 61
 	}
62 62
 
63 63
 	/**
@@ -66,10 +66,10 @@  discard block
 block discarded – undo
66 66
 	 * @param string $prop The prop to set.
67 67
 	 * @return mixed The value.
68 68
 	 */
69
-	public function get( $prop ) {
69
+	public function get($prop) {
70 70
 
71
-		if ( isset( $this->data[ $prop ] ) ) {
72
-			return $this->data[ $prop ];
71
+		if (isset($this->data[$prop])) {
72
+			return $this->data[$prop];
73 73
 		}
74 74
 
75 75
 		return null;
@@ -81,22 +81,22 @@  discard block
 block discarded – undo
81 81
 	public function set_properties() {
82 82
 
83 83
 		// Sessions.
84
-		$this->set( 'session', new WPInv_Session_Handler() );
85
-		$GLOBALS['wpi_session'] = $this->get( 'session' ); // Backwards compatibility.
84
+		$this->set('session', new WPInv_Session_Handler());
85
+		$GLOBALS['wpi_session'] = $this->get('session'); // Backwards compatibility.
86 86
 		$GLOBALS['wpinv_euvat'] = new WPInv_EUVat(); // Backwards compatibility.
87 87
 
88 88
 		// Init other objects.
89
-		$this->set( 'notes', new WPInv_Notes() );
90
-		$this->set( 'api', new WPInv_API() );
91
-		$this->set( 'post_types', new GetPaid_Post_Types() );
92
-		$this->set( 'template', new GetPaid_Template() );
93
-		$this->set( 'admin', new GetPaid_Admin() );
94
-		$this->set( 'subscriptions', new WPInv_Subscriptions() );
95
-		$this->set( 'invoice_emails', new GetPaid_Invoice_Notification_Emails() );
96
-		$this->set( 'subscription_emails', new GetPaid_Subscription_Notification_Emails() );
97
-		$this->set( 'daily_maintenace', new GetPaid_Daily_Maintenance() );
98
-		$this->set( 'payment_forms', new GetPaid_Payment_Forms() );
99
-		$this->set( 'maxmind', new GetPaid_MaxMind_Geolocation() );
89
+		$this->set('notes', new WPInv_Notes());
90
+		$this->set('api', new WPInv_API());
91
+		$this->set('post_types', new GetPaid_Post_Types());
92
+		$this->set('template', new GetPaid_Template());
93
+		$this->set('admin', new GetPaid_Admin());
94
+		$this->set('subscriptions', new WPInv_Subscriptions());
95
+		$this->set('invoice_emails', new GetPaid_Invoice_Notification_Emails());
96
+		$this->set('subscription_emails', new GetPaid_Subscription_Notification_Emails());
97
+		$this->set('daily_maintenace', new GetPaid_Daily_Maintenance());
98
+		$this->set('payment_forms', new GetPaid_Payment_Forms());
99
+		$this->set('maxmind', new GetPaid_MaxMind_Geolocation());
100 100
 
101 101
 	}
102 102
 
@@ -104,8 +104,8 @@  discard block
 block discarded – undo
104 104
 	 * Define plugin constants.
105 105
 	 */
106 106
 	public function define_constants() {
107
-		define( 'WPINV_PLUGIN_DIR', plugin_dir_path( WPINV_PLUGIN_FILE ) );
108
-		define( 'WPINV_PLUGIN_URL', plugin_dir_url( WPINV_PLUGIN_FILE ) );
107
+		define('WPINV_PLUGIN_DIR', plugin_dir_path(WPINV_PLUGIN_FILE));
108
+		define('WPINV_PLUGIN_URL', plugin_dir_url(WPINV_PLUGIN_FILE));
109 109
 		$this->version = WPINV_VERSION;
110 110
 	}
111 111
 
@@ -116,28 +116,28 @@  discard block
 block discarded – undo
116 116
 	 */
117 117
 	protected function init_hooks() {
118 118
 		/* Internationalize the text strings used. */
119
-		add_action( 'plugins_loaded', array( &$this, 'plugins_loaded' ) );
119
+		add_action('plugins_loaded', array(&$this, 'plugins_loaded'));
120 120
 
121 121
 		// Init the plugin after WordPress inits.
122
-		add_action( 'init', array( $this, 'init' ), 1 );
123
-		add_action( 'init', array( $this, 'maybe_process_ipn' ), 10 );
124
-		add_action( 'init', array( $this, 'wpinv_actions' ) );
125
-		add_action( 'init', array( $this, 'maybe_do_authenticated_action' ), 100 );
126
-		add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 11 );
127
-		add_action( 'wp_footer', array( $this, 'wp_footer' ) );
128
-		add_action( 'wp_head', array( $this, 'wp_head' ) );
129
-		add_action( 'widgets_init', array( $this, 'register_widgets' ) );
130
-		add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', array( $this, 'wpseo_exclude_from_sitemap_by_post_ids' ) );
131
-		add_filter( 'the_seo_framework_sitemap_supported_post_types', array( $this, 'exclude_invoicing_post_types' ) );
132
-		add_filter( 'pre_get_posts', array( &$this, 'pre_get_posts' ) );
133
-
134
-		add_filter( 'query_vars', array( $this, 'custom_query_vars' ) );
135
-        add_action( 'init', array( $this, 'add_rewrite_rule' ), 10, 0 );
136
-		add_action( 'pre_get_posts', array( $this, 'maybe_process_new_ipn' ), 1 );
122
+		add_action('init', array($this, 'init'), 1);
123
+		add_action('init', array($this, 'maybe_process_ipn'), 10);
124
+		add_action('init', array($this, 'wpinv_actions'));
125
+		add_action('init', array($this, 'maybe_do_authenticated_action'), 100);
126
+		add_action('wp_enqueue_scripts', array($this, 'enqueue_scripts'), 11);
127
+		add_action('wp_footer', array($this, 'wp_footer'));
128
+		add_action('wp_head', array($this, 'wp_head'));
129
+		add_action('widgets_init', array($this, 'register_widgets'));
130
+		add_filter('wpseo_exclude_from_sitemap_by_post_ids', array($this, 'wpseo_exclude_from_sitemap_by_post_ids'));
131
+		add_filter('the_seo_framework_sitemap_supported_post_types', array($this, 'exclude_invoicing_post_types'));
132
+		add_filter('pre_get_posts', array(&$this, 'pre_get_posts'));
133
+
134
+		add_filter('query_vars', array($this, 'custom_query_vars'));
135
+        add_action('init', array($this, 'add_rewrite_rule'), 10, 0);
136
+		add_action('pre_get_posts', array($this, 'maybe_process_new_ipn'), 1);
137 137
 
138 138
 		// Fires after registering actions.
139
-		do_action( 'wpinv_actions', $this );
140
-		do_action( 'getpaid_actions', $this );
139
+		do_action('wpinv_actions', $this);
140
+		do_action('getpaid_actions', $this);
141 141
 
142 142
 	}
143 143
 
@@ -145,10 +145,10 @@  discard block
 block discarded – undo
145 145
 		/* Internationalize the text strings used. */
146 146
 		$this->load_textdomain();
147 147
 
148
-		do_action( 'wpinv_loaded' );
148
+		do_action('wpinv_loaded');
149 149
 
150 150
 		// Fix oxygen page builder conflict
151
-		if ( function_exists( 'ct_css_output' ) ) {
151
+		if (function_exists('ct_css_output')) {
152 152
 			wpinv_oxygen_fix_conflict();
153 153
 		}
154 154
 	}
@@ -169,7 +169,7 @@  discard block
 block discarded – undo
169 169
 		load_plugin_textdomain(
170 170
 			'invoicing',
171 171
 			false,
172
-			plugin_basename( dirname( WPINV_PLUGIN_FILE ) ) . '/languages/'
172
+			plugin_basename(dirname(WPINV_PLUGIN_FILE)) . '/languages/'
173 173
 		);
174 174
 
175 175
 	}
@@ -205,9 +205,9 @@  discard block
 block discarded – undo
205 205
 
206 206
 		// Register autoloader.
207 207
 		try {
208
-			spl_autoload_register( array( $this, 'autoload' ), true );
209
-		} catch ( Exception $e ) {
210
-			wpinv_error_log( $e->getMessage(), '', __FILE__, 149, true );
208
+			spl_autoload_register(array($this, 'autoload'), true);
209
+		} catch (Exception $e) {
210
+			wpinv_error_log($e->getMessage(), '', __FILE__, 149, true);
211 211
 		}
212 212
 
213 213
 		require_once WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php';
@@ -233,7 +233,7 @@  discard block
 block discarded – undo
233 233
 		require_once WPINV_PLUGIN_DIR . 'widgets/invoice.php';
234 234
 		require_once WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php';
235 235
 
236
-		if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) {
236
+		if (is_admin() || (defined('WP_CLI') && WP_CLI)) {
237 237
 			GetPaid_Post_Types_Admin::init();
238 238
 
239 239
 			require_once WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php';
@@ -244,15 +244,15 @@  discard block
 block discarded – undo
244 244
 			require_once WPINV_PLUGIN_DIR . 'includes/admin/class-getpaid-admin-profile.php';
245 245
 			// load the user class only on the users.php page
246 246
 			global $pagenow;
247
-			if ( $pagenow == 'users.php' ) {
247
+			if ($pagenow == 'users.php') {
248 248
 				new WPInv_Admin_Users();
249 249
 			}
250 250
 		}
251 251
 
252 252
 		// Register cli commands
253
-		if ( defined( 'WP_CLI' ) && WP_CLI ) {
253
+		if (defined('WP_CLI') && WP_CLI) {
254 254
 			require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php';
255
-			WP_CLI::add_command( 'invoicing', 'WPInv_CLI' );
255
+			WP_CLI::add_command('invoicing', 'WPInv_CLI');
256 256
 		}
257 257
 
258 258
 	}
@@ -265,21 +265,21 @@  discard block
 block discarded – undo
265 265
 	 * @since       1.0.19
266 266
 	 * @return      void
267 267
 	 */
268
-	public function autoload( $class_name ) {
268
+	public function autoload($class_name) {
269 269
 
270 270
 		// Normalize the class name...
271
-		$class_name  = strtolower( $class_name );
271
+		$class_name = strtolower($class_name);
272 272
 
273 273
 		// ... and make sure it is our class.
274
-		if ( false === strpos( $class_name, 'getpaid_' ) && false === strpos( $class_name, 'wpinv_' ) ) {
274
+		if (false === strpos($class_name, 'getpaid_') && false === strpos($class_name, 'wpinv_')) {
275 275
 			return;
276 276
 		}
277 277
 
278 278
 		// Next, prepare the file name from the class.
279
-		$file_name = 'class-' . str_replace( '_', '-', $class_name ) . '.php';
279
+		$file_name = 'class-' . str_replace('_', '-', $class_name) . '.php';
280 280
 
281 281
 		// Base path of the classes.
282
-		$plugin_path = untrailingslashit( WPINV_PLUGIN_DIR );
282
+		$plugin_path = untrailingslashit(WPINV_PLUGIN_DIR);
283 283
 
284 284
 		// And an array of possible locations in order of importance.
285 285
 		$locations = array(
@@ -294,10 +294,10 @@  discard block
 block discarded – undo
294 294
 			"$plugin_path/includes/admin/meta-boxes",
295 295
 		);
296 296
 
297
-		foreach ( apply_filters( 'getpaid_autoload_locations', $locations ) as $location ) {
297
+		foreach (apply_filters('getpaid_autoload_locations', $locations) as $location) {
298 298
 
299
-			if ( file_exists( trailingslashit( $location ) . $file_name ) ) {
300
-				include trailingslashit( $location ) . $file_name;
299
+			if (file_exists(trailingslashit($location) . $file_name)) {
300
+				include trailingslashit($location) . $file_name;
301 301
 				break;
302 302
 			}
303 303
 }
@@ -310,7 +310,7 @@  discard block
 block discarded – undo
310 310
 	public function init() {
311 311
 
312 312
 		// Fires before getpaid inits.
313
-		do_action( 'before_getpaid_init', $this );
313
+		do_action('before_getpaid_init', $this);
314 314
 
315 315
 		// Maybe upgrade.
316 316
 		$this->maybe_upgrade_database();
@@ -327,17 +327,17 @@  discard block
 block discarded – undo
327 327
 			)
328 328
 		);
329 329
 
330
-		foreach ( $gateways as $id => $class ) {
331
-			$this->gateways[ $id ] = new $class();
330
+		foreach ($gateways as $id => $class) {
331
+			$this->gateways[$id] = new $class();
332 332
 		}
333 333
 
334
-		if ( 'yes' != get_option( 'wpinv_renamed_gateways' ) ) {
334
+		if ('yes' != get_option('wpinv_renamed_gateways')) {
335 335
 			GetPaid_Installer::rename_gateways_label();
336
-			update_option( 'wpinv_renamed_gateways', 'yes' );
336
+			update_option('wpinv_renamed_gateways', 'yes');
337 337
 		}
338 338
 
339 339
 		// Fires after getpaid inits.
340
-		do_action( 'getpaid_init', $this );
340
+		do_action('getpaid_init', $this);
341 341
 
342 342
 	}
343 343
 
@@ -347,14 +347,14 @@  discard block
 block discarded – undo
347 347
 	public function maybe_process_ipn() {
348 348
 
349 349
 		// Ensure that this is an IPN request.
350
-		if ( empty( $_GET['wpi-listener'] ) || 'IPN' !== $_GET['wpi-listener'] || empty( $_GET['wpi-gateway'] ) ) {
350
+		if (empty($_GET['wpi-listener']) || 'IPN' !== $_GET['wpi-listener'] || empty($_GET['wpi-gateway'])) {
351 351
 			return;
352 352
 		}
353 353
 
354
-		$gateway = sanitize_text_field( $_GET['wpi-gateway'] );
354
+		$gateway = sanitize_text_field($_GET['wpi-gateway']);
355 355
 
356
-		do_action( 'wpinv_verify_payment_ipn', $gateway );
357
-		do_action( "wpinv_verify_{$gateway}_ipn" );
356
+		do_action('wpinv_verify_payment_ipn', $gateway);
357
+		do_action("wpinv_verify_{$gateway}_ipn");
358 358
 		exit;
359 359
 
360 360
 	}
@@ -362,24 +362,24 @@  discard block
 block discarded – undo
362 362
 	public function enqueue_scripts() {
363 363
 
364 364
 		// Fires before adding scripts.
365
-		do_action( 'getpaid_enqueue_scripts' );
365
+		do_action('getpaid_enqueue_scripts');
366 366
 
367 367
 		$localize                         = array();
368
-		$localize['ajax_url']             = admin_url( 'admin-ajax.php' );
368
+		$localize['ajax_url']             = admin_url('admin-ajax.php');
369 369
 		$localize['thousands']            = wpinv_thousands_separator();
370 370
 		$localize['decimals']             = wpinv_decimal_separator();
371
-		$localize['nonce']                = wp_create_nonce( 'wpinv-nonce' );
372
-		$localize['txtComplete']          = __( 'Continue', 'invoicing' );
371
+		$localize['nonce']                = wp_create_nonce('wpinv-nonce');
372
+		$localize['txtComplete']          = __('Continue', 'invoicing');
373 373
 		$localize['UseTaxes']             = wpinv_use_taxes();
374
-		$localize['formNonce']            = wp_create_nonce( 'getpaid_form_nonce' );
375
-		$localize['loading']              = __( 'Loading...', 'invoicing' );
376
-		$localize['connectionError']      = __( 'Could not establish a connection to the server.', 'invoicing' );
374
+		$localize['formNonce']            = wp_create_nonce('getpaid_form_nonce');
375
+		$localize['loading']              = __('Loading...', 'invoicing');
376
+		$localize['connectionError']      = __('Could not establish a connection to the server.', 'invoicing');
377 377
 		$localize['recaptchaSettings']    = getpaid_get_recaptcha_settings();
378 378
 
379
-		$localize = apply_filters( 'wpinv_front_js_localize', $localize );
379
+		$localize = apply_filters('wpinv_front_js_localize', $localize);
380 380
 
381 381
 		// reCaptcha.
382
-		if ( getpaid_is_recaptcha_enabled() ) {
382
+		if (getpaid_is_recaptcha_enabled()) {
383 383
 			$url = apply_filters(
384 384
 				'getpaid_recaptcha_api_url',
385 385
 				add_query_arg(
@@ -389,21 +389,21 @@  discard block
 block discarded – undo
389 389
 					'https://www.google.com/recaptcha/api.js'
390 390
 				)
391 391
 			);
392
-			wp_enqueue_script( 'recaptcha', $url, array(), null, true ); // phpcs:ignore WordPress.WP.EnqueuedResourceParameters.MissingVersion
392
+			wp_enqueue_script('recaptcha', $url, array(), null, true); // phpcs:ignore WordPress.WP.EnqueuedResourceParameters.MissingVersion
393 393
 		}
394 394
 
395
-		$version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/payment-forms.js' );
396
-		wp_enqueue_script( 'wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.js', array( 'jquery' ), $version, true );
397
-		wp_localize_script( 'wpinv-front-script', 'WPInv', $localize );
395
+		$version = filemtime(WPINV_PLUGIN_DIR . 'assets/js/payment-forms.js');
396
+		wp_enqueue_script('wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.js', array('jquery'), $version, true);
397
+		wp_localize_script('wpinv-front-script', 'WPInv', $localize);
398 398
 	}
399 399
 
400 400
 	public function wpinv_actions() {
401
-		if ( isset( $_REQUEST['wpi_action'] ) ) {
402
-			do_action( 'wpinv_' . wpinv_sanitize_key( $_REQUEST['wpi_action'] ), $_REQUEST );
401
+		if (isset($_REQUEST['wpi_action'])) {
402
+			do_action('wpinv_' . wpinv_sanitize_key($_REQUEST['wpi_action']), $_REQUEST);
403 403
 		}
404 404
 
405
-		if ( defined( 'WP_ALL_IMPORT_ROOT_DIR' ) ) {
406
-			include plugin_dir_path( __FILE__ ) . 'libraries/wp-all-import/class-getpaid-wp-all-import.php';
405
+		if (defined('WP_ALL_IMPORT_ROOT_DIR')) {
406
+			include plugin_dir_path(__FILE__) . 'libraries/wp-all-import/class-getpaid-wp-all-import.php';
407 407
 		}
408 408
 	}
409 409
 
@@ -415,24 +415,24 @@  discard block
 block discarded – undo
415 415
      */
416 416
     public function maybe_do_authenticated_action() {
417 417
 
418
-		if ( isset( $_REQUEST['getpaid-action'] ) && isset( $_REQUEST['getpaid-nonce'] ) && wp_verify_nonce( $_REQUEST['getpaid-nonce'], 'getpaid-nonce' ) ) {
418
+		if (isset($_REQUEST['getpaid-action']) && isset($_REQUEST['getpaid-nonce']) && wp_verify_nonce($_REQUEST['getpaid-nonce'], 'getpaid-nonce')) {
419 419
 
420
-			$key  = sanitize_key( $_REQUEST['getpaid-action'] );
421
-			$data = wp_unslash( $_REQUEST );
422
-			if ( is_user_logged_in() ) {
423
-				do_action( "getpaid_authenticated_action_$key", $data );
420
+			$key  = sanitize_key($_REQUEST['getpaid-action']);
421
+			$data = wp_unslash($_REQUEST);
422
+			if (is_user_logged_in()) {
423
+				do_action("getpaid_authenticated_action_$key", $data);
424 424
 			}
425 425
 
426
-			do_action( "getpaid_unauthenticated_action_$key", $data );
426
+			do_action("getpaid_unauthenticated_action_$key", $data);
427 427
 
428 428
 		}
429 429
 
430 430
     }
431 431
 
432
-	public function pre_get_posts( $wp_query ) {
432
+	public function pre_get_posts($wp_query) {
433 433
 
434
-		if ( ! is_admin() && ! empty( $wp_query->query_vars['post_type'] ) && getpaid_is_invoice_post_type( $wp_query->query_vars['post_type'] ) && is_user_logged_in() && is_single() && $wp_query->is_main_query() ) {
435
-			$wp_query->query_vars['post_status'] = array_keys( wpinv_get_invoice_statuses( false, false, $wp_query->query_vars['post_type'] ) );
434
+		if (!is_admin() && !empty($wp_query->query_vars['post_type']) && getpaid_is_invoice_post_type($wp_query->query_vars['post_type']) && is_user_logged_in() && is_single() && $wp_query->is_main_query()) {
435
+			$wp_query->query_vars['post_status'] = array_keys(wpinv_get_invoice_statuses(false, false, $wp_query->query_vars['post_type']));
436 436
 		}
437 437
 
438 438
 		return $wp_query;
@@ -447,18 +447,18 @@  discard block
 block discarded – undo
447 447
 
448 448
 		// Currently, UX Builder does not work particulaly well with SuperDuper.
449 449
 		// So we disable our widgets when editing a page with UX Builder.
450
-		if ( function_exists( 'ux_builder_is_active' ) && ux_builder_is_active() ) {
450
+		if (function_exists('ux_builder_is_active') && ux_builder_is_active()) {
451 451
 			return;
452 452
 		}
453 453
 
454
-		$block_widget_init_screens = function_exists( 'sd_pagenow_exclude' ) ? sd_pagenow_exclude() : array();
454
+		$block_widget_init_screens = function_exists('sd_pagenow_exclude') ? sd_pagenow_exclude() : array();
455 455
 
456
-		if ( is_admin() && $pagenow && in_array( $pagenow, $block_widget_init_screens ) ) {
456
+		if (is_admin() && $pagenow && in_array($pagenow, $block_widget_init_screens)) {
457 457
 			// don't initiate in these conditions.
458 458
 		} else {
459 459
 
460 460
 			// Only load allowed widgets.
461
-			$exclude = function_exists( 'sd_widget_exclude' ) ? sd_widget_exclude() : array();
461
+			$exclude = function_exists('sd_widget_exclude') ? sd_widget_exclude() : array();
462 462
 			$widgets = apply_filters(
463 463
 				'getpaid_widget_classes',
464 464
 				array(
@@ -474,16 +474,16 @@  discard block
 block discarded – undo
474 474
 			);
475 475
 
476 476
 			// For each widget...
477
-			foreach ( $widgets as $widget ) {
477
+			foreach ($widgets as $widget) {
478 478
 
479 479
 				// Abort early if it is excluded for this page.
480
-				if ( in_array( $widget, $exclude ) ) {
480
+				if (in_array($widget, $exclude)) {
481 481
 					continue;
482 482
 				}
483 483
 
484 484
 				// SD V1 used to extend the widget class. V2 does not, so we cannot call register widget on it.
485
-				if ( is_subclass_of( $widget, 'WP_Widget' ) ) {
486
-					register_widget( $widget );
485
+				if (is_subclass_of($widget, 'WP_Widget')) {
486
+					register_widget($widget);
487 487
 				} else {
488 488
 					new $widget();
489 489
 				}
@@ -502,29 +502,29 @@  discard block
 block discarded – undo
502 502
 		// Ensure the database tables are up to date.
503 503
 		GetPaid_Installer::maybe_create_db_tables();
504 504
 
505
-		$wpi_version = get_option( 'wpinv_version', 0 );
505
+		$wpi_version = get_option('wpinv_version', 0);
506 506
 
507
-		if ( $wpi_version == WPINV_VERSION ) {
507
+		if ($wpi_version == WPINV_VERSION) {
508 508
 			return;
509 509
 		}
510 510
 
511 511
 		$installer = new GetPaid_Installer();
512 512
 
513
-		if ( empty( $wpi_version ) ) {
514
-			return $installer->upgrade_db( 0 );
513
+		if (empty($wpi_version)) {
514
+			return $installer->upgrade_db(0);
515 515
 		}
516 516
 
517
-		$upgrades  = array(
517
+		$upgrades = array(
518 518
 			'0.0.5' => '004',
519 519
 			'1.0.3' => '102',
520 520
 			'2.0.0' => '118',
521 521
 			'2.8.0' => '279',
522 522
 		);
523 523
 
524
-		foreach ( $upgrades as $key => $method ) {
524
+		foreach ($upgrades as $key => $method) {
525 525
 
526
-			if ( version_compare( $wpi_version, $key, '<' ) ) {
527
-				return $installer->upgrade_db( $method );
526
+			if (version_compare($wpi_version, $key, '<')) {
527
+				return $installer->upgrade_db($method);
528 528
 			}
529 529
 		}
530 530
 
@@ -537,11 +537,11 @@  discard block
 block discarded – undo
537 537
 	 */
538 538
 	public function maybe_flush_permalinks() {
539 539
 
540
-		$flush = get_option( 'wpinv_flush_permalinks', 0 );
540
+		$flush = get_option('wpinv_flush_permalinks', 0);
541 541
 
542
-		if ( ! empty( $flush ) ) {
542
+		if (!empty($flush)) {
543 543
 			flush_rewrite_rules();
544
-			delete_option( 'wpinv_flush_permalinks' );
544
+			delete_option('wpinv_flush_permalinks');
545 545
 		}
546 546
 
547 547
 	}
@@ -552,10 +552,10 @@  discard block
 block discarded – undo
552 552
 	 * @since 1.0.19
553 553
 	 * @param int[] $excluded_posts_ids
554 554
 	 */
555
-	public function wpseo_exclude_from_sitemap_by_post_ids( $excluded_posts_ids ) {
555
+	public function wpseo_exclude_from_sitemap_by_post_ids($excluded_posts_ids) {
556 556
 
557 557
 		// Ensure that we have an array.
558
-		if ( ! is_array( $excluded_posts_ids ) ) {
558
+		if (!is_array($excluded_posts_ids)) {
559 559
 			$excluded_posts_ids = array();
560 560
 		}
561 561
 
@@ -563,24 +563,24 @@  discard block
 block discarded – undo
563 563
 		$our_pages = array();
564 564
 
565 565
 		// Checkout page.
566
-		$our_pages[] = wpinv_get_option( 'checkout_page', false );
566
+		$our_pages[] = wpinv_get_option('checkout_page', false);
567 567
 
568 568
 		// Success page.
569
-		$our_pages[] = wpinv_get_option( 'success_page', false );
569
+		$our_pages[] = wpinv_get_option('success_page', false);
570 570
 
571 571
 		// Failure page.
572
-		$our_pages[] = wpinv_get_option( 'failure_page', false );
572
+		$our_pages[] = wpinv_get_option('failure_page', false);
573 573
 
574 574
 		// History page.
575
-		$our_pages[] = wpinv_get_option( 'invoice_history_page', false );
575
+		$our_pages[] = wpinv_get_option('invoice_history_page', false);
576 576
 
577 577
 		// Subscriptions page.
578
-		$our_pages[] = wpinv_get_option( 'invoice_subscription_page', false );
578
+		$our_pages[] = wpinv_get_option('invoice_subscription_page', false);
579 579
 
580
-		$our_pages   = array_map( 'intval', array_filter( $our_pages ) );
580
+		$our_pages   = array_map('intval', array_filter($our_pages));
581 581
 
582 582
 		$excluded_posts_ids = $excluded_posts_ids + $our_pages;
583
-		return array_unique( $excluded_posts_ids );
583
+		return array_unique($excluded_posts_ids);
584 584
 
585 585
 	}
586 586
 
@@ -590,15 +590,15 @@  discard block
 block discarded – undo
590 590
 	 * @since 1.0.19
591 591
 	 * @param string[] $post_types
592 592
 	 */
593
-	public function exclude_invoicing_post_types( $post_types ) {
593
+	public function exclude_invoicing_post_types($post_types) {
594 594
 
595 595
 		// Ensure that we have an array.
596
-		if ( ! is_array( $post_types ) ) {
596
+		if (!is_array($post_types)) {
597 597
 			$post_types = array();
598 598
 		}
599 599
 
600 600
 		// Remove our post types.
601
-		return array_diff( $post_types, array_keys( getpaid_get_invoice_post_types() ) );
601
+		return array_diff($post_types, array_keys(getpaid_get_invoice_post_types()));
602 602
 	}
603 603
 
604 604
 	/**
@@ -607,7 +607,7 @@  discard block
 block discarded – undo
607 607
 	 * @since 2.0.0
608 608
 	 */
609 609
 	public function wp_footer() {
610
-		wpinv_get_template( 'frontend-footer.php' );
610
+		wpinv_get_template('frontend-footer.php');
611 611
 	}
612 612
 
613 613
 	/**
@@ -616,14 +616,14 @@  discard block
 block discarded – undo
616 616
 	 * @since 2.0.0
617 617
 	 */
618 618
 	public function wp_head() {
619
-		wpinv_get_template( 'frontend-head.php' );
619
+		wpinv_get_template('frontend-head.php');
620 620
 	}
621 621
 
622 622
 	/**
623 623
 	 * Custom query vars.
624 624
 	 *
625 625
 	 */
626
-	public function custom_query_vars( $vars ) {
626
+	public function custom_query_vars($vars) {
627 627
         $vars[] = 'getpaid-ipn';
628 628
         return $vars;
629 629
 	}
@@ -634,28 +634,28 @@  discard block
 block discarded – undo
634 634
 	 */
635 635
 	public function add_rewrite_rule() {
636 636
         $tag = 'getpaid-ipn';
637
-        add_rewrite_tag( "%$tag%", '([^&]+)' );
638
-        add_rewrite_rule( "^$tag/([^/]*)/?", "index.php?$tag=\$matches[1]", 'top' );
637
+        add_rewrite_tag("%$tag%", '([^&]+)');
638
+        add_rewrite_rule("^$tag/([^/]*)/?", "index.php?$tag=\$matches[1]", 'top');
639 639
 	}
640 640
 
641 641
 	/**
642 642
 	 * Processes non-query string ipns.
643 643
 	 *
644 644
 	 */
645
-	public function maybe_process_new_ipn( $query ) {
645
+	public function maybe_process_new_ipn($query) {
646 646
 
647
-        if ( is_admin() || ! $query->is_main_query() ) {
647
+        if (is_admin() || !$query->is_main_query()) {
648 648
             return;
649 649
         }
650 650
 
651
-		$gateway = get_query_var( 'getpaid-ipn' );
651
+		$gateway = get_query_var('getpaid-ipn');
652 652
 
653
-        if ( ! empty( $gateway ) ) {
653
+        if (!empty($gateway)) {
654 654
 
655
-			$gateway = sanitize_text_field( $gateway );
655
+			$gateway = sanitize_text_field($gateway);
656 656
 			nocache_headers();
657
-			do_action( 'wpinv_verify_payment_ipn', $gateway );
658
-			do_action( "wpinv_verify_{$gateway}_ipn" );
657
+			do_action('wpinv_verify_payment_ipn', $gateway);
658
+			do_action("wpinv_verify_{$gateway}_ipn");
659 659
 			exit;
660 660
 
661 661
         }
Please login to merge, or discard this patch.
includes/admin/class-getpaid-installer.php 2 patches
Spacing   +90 added lines, -90 removed lines patch added patch discarded remove patch
@@ -8,7 +8,7 @@  discard block
 block discarded – undo
8 8
  * @since   2.0.2
9 9
  */
10 10
 
11
-defined( 'ABSPATH' ) || exit;
11
+defined('ABSPATH') || exit;
12 12
 
13 13
 /**
14 14
  * The main installer/updater class.
@@ -25,10 +25,10 @@  discard block
 block discarded – undo
25 25
 	 *
26 26
 	 * @param string $upgrade_from The current invoicing version.
27 27
 	 */
28
-	public function upgrade_db( $upgrade_from ) {
28
+	public function upgrade_db($upgrade_from) {
29 29
 
30 30
 		// Save the current invoicing version.
31
-		update_option( 'wpinv_version', WPINV_VERSION );
31
+		update_option('wpinv_version', WPINV_VERSION);
32 32
 
33 33
 		// Setup the invoice Custom Post Type.
34 34
 		GetPaid_Post_Types::register_post_types();
@@ -48,13 +48,13 @@  discard block
 block discarded – undo
48 48
 		// Create any missing database tables.
49 49
 		$method = "upgrade_from_$upgrade_from";
50 50
 
51
-		$installed = get_option( 'gepaid_installed_on' );
51
+		$installed = get_option('gepaid_installed_on');
52 52
 
53
-		if ( empty( $installed ) ) {
54
-			update_option( 'gepaid_installed_on', time() );
53
+		if (empty($installed)) {
54
+			update_option('gepaid_installed_on', time());
55 55
 		}
56 56
 
57
-		if ( method_exists( $this, $method ) ) {
57
+		if (method_exists($this, $method)) {
58 58
 			$this->$method();
59 59
 		}
60 60
 
@@ -67,7 +67,7 @@  discard block
 block discarded – undo
67 67
 	public function upgrade_from_0() {
68 68
 
69 69
 		// Save default tax rates.
70
-		update_option( 'wpinv_tax_rates', wpinv_get_data( 'tax-rates' ) );
70
+		update_option('wpinv_tax_rates', wpinv_get_data('tax-rates'));
71 71
 	}
72 72
 
73 73
 	/**
@@ -78,27 +78,27 @@  discard block
 block discarded – undo
78 78
 		global $wpdb;
79 79
 
80 80
 		// Invoices.
81
-		$results = $wpdb->get_results( "SELECT ID FROM {$wpdb->posts} WHERE post_type = 'wpi_invoice' AND post_status IN( 'pending', 'processing', 'onhold', 'refunded', 'cancelled', 'failed', 'renewal' )" );
82
-		if ( ! empty( $results ) ) {
83
-			$wpdb->query( "UPDATE {$wpdb->posts} SET post_status = CONCAT( 'wpi-', post_status ) WHERE post_type = 'wpi_invoice' AND post_status IN( 'pending', 'processing', 'onhold', 'refunded', 'cancelled', 'failed', 'renewal' )" );
81
+		$results = $wpdb->get_results("SELECT ID FROM {$wpdb->posts} WHERE post_type = 'wpi_invoice' AND post_status IN( 'pending', 'processing', 'onhold', 'refunded', 'cancelled', 'failed', 'renewal' )");
82
+		if (!empty($results)) {
83
+			$wpdb->query("UPDATE {$wpdb->posts} SET post_status = CONCAT( 'wpi-', post_status ) WHERE post_type = 'wpi_invoice' AND post_status IN( 'pending', 'processing', 'onhold', 'refunded', 'cancelled', 'failed', 'renewal' )");
84 84
 
85 85
 			// Clean post cache
86
-			foreach ( $results as $row ) {
87
-				clean_post_cache( $row->ID );
86
+			foreach ($results as $row) {
87
+				clean_post_cache($row->ID);
88 88
 			}
89 89
 		}
90 90
 
91 91
 		// Item meta key changes
92 92
 		$query = 'SELECT DISTINCT post_id FROM ' . $wpdb->postmeta . " WHERE meta_key IN( '_wpinv_item_id', '_wpinv_package_id', '_wpinv_post_id', '_wpinv_cpt_name', '_wpinv_cpt_singular_name' )";
93
-		$results = $wpdb->get_results( $query );
93
+		$results = $wpdb->get_results($query);
94 94
 
95
-		if ( ! empty( $results ) ) {
96
-			$wpdb->query( 'UPDATE ' . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_id' WHERE meta_key IN( '_wpinv_item_id', '_wpinv_package_id', '_wpinv_post_id' )" );
97
-			$wpdb->query( 'UPDATE ' . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_name' WHERE meta_key = '_wpinv_cpt_name'" );
98
-			$wpdb->query( 'UPDATE ' . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_singular_name' WHERE meta_key = '_wpinv_cpt_singular_name'" );
95
+		if (!empty($results)) {
96
+			$wpdb->query('UPDATE ' . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_id' WHERE meta_key IN( '_wpinv_item_id', '_wpinv_package_id', '_wpinv_post_id' )");
97
+			$wpdb->query('UPDATE ' . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_name' WHERE meta_key = '_wpinv_cpt_name'");
98
+			$wpdb->query('UPDATE ' . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_singular_name' WHERE meta_key = '_wpinv_cpt_singular_name'");
99 99
 
100
-			foreach ( $results as $row ) {
101
-				clean_post_cache( $row->post_id );
100
+			foreach ($results as $row) {
101
+				clean_post_cache($row->post_id);
102 102
 			}
103 103
 		}
104 104
 
@@ -127,7 +127,7 @@  discard block
 block discarded – undo
127 127
 	 *
128 128
 	 */
129 129
 	public function add_capabilities() {
130
-		$GLOBALS['wp_roles']->add_cap( 'administrator', 'manage_invoicing' );
130
+		$GLOBALS['wp_roles']->add_cap('administrator', 'manage_invoicing');
131 131
 	}
132 132
 
133 133
 	/**
@@ -142,8 +142,8 @@  discard block
 block discarded – undo
142 142
 
143 143
 				// Checkout page.
144 144
 				'checkout_page'             => array(
145
-					'name'    => _x( 'gp-checkout', 'Page slug', 'invoicing' ),
146
-					'title'   => _x( 'Checkout', 'Page title', 'invoicing' ),
145
+					'name'    => _x('gp-checkout', 'Page slug', 'invoicing'),
146
+					'title'   => _x('Checkout', 'Page title', 'invoicing'),
147 147
 					'content' => '
148 148
 						<!-- wp:shortcode -->
149 149
 						[wpinv_checkout]
@@ -154,8 +154,8 @@  discard block
 block discarded – undo
154 154
 
155 155
 				// Invoice history page.
156 156
 				'invoice_history_page'      => array(
157
-					'name'    => _x( 'gp-invoices', 'Page slug', 'invoicing' ),
158
-					'title'   => _x( 'My Invoices', 'Page title', 'invoicing' ),
157
+					'name'    => _x('gp-invoices', 'Page slug', 'invoicing'),
158
+					'title'   => _x('My Invoices', 'Page title', 'invoicing'),
159 159
 					'content' => '
160 160
 					<!-- wp:shortcode -->
161 161
 					[wpinv_history]
@@ -166,8 +166,8 @@  discard block
 block discarded – undo
166 166
 
167 167
 				// Success page content.
168 168
 				'success_page'              => array(
169
-					'name'    => _x( 'gp-receipt', 'Page slug', 'invoicing' ),
170
-					'title'   => _x( 'Payment Confirmation', 'Page title', 'invoicing' ),
169
+					'name'    => _x('gp-receipt', 'Page slug', 'invoicing'),
170
+					'title'   => _x('Payment Confirmation', 'Page title', 'invoicing'),
171 171
 					'content' => '
172 172
 					<!-- wp:shortcode -->
173 173
 					[wpinv_receipt]
@@ -178,16 +178,16 @@  discard block
 block discarded – undo
178 178
 
179 179
 				// Failure page content.
180 180
 				'failure_page'              => array(
181
-					'name'    => _x( 'gp-transaction-failed', 'Page slug', 'invoicing' ),
182
-					'title'   => _x( 'Transaction Failed', 'Page title', 'invoicing' ),
183
-					'content' => __( 'Your transaction failed, please try again or contact site support.', 'invoicing' ),
181
+					'name'    => _x('gp-transaction-failed', 'Page slug', 'invoicing'),
182
+					'title'   => _x('Transaction Failed', 'Page title', 'invoicing'),
183
+					'content' => __('Your transaction failed, please try again or contact site support.', 'invoicing'),
184 184
 					'parent'  => 'gp-checkout',
185 185
 				),
186 186
 
187 187
 				// Subscriptions history page.
188 188
 				'invoice_subscription_page' => array(
189
-					'name'    => _x( 'gp-subscriptions', 'Page slug', 'invoicing' ),
190
-					'title'   => _x( 'My Subscriptions', 'Page title', 'invoicing' ),
189
+					'name'    => _x('gp-subscriptions', 'Page slug', 'invoicing'),
190
+					'title'   => _x('My Subscriptions', 'Page title', 'invoicing'),
191 191
 					'content' => '
192 192
 					<!-- wp:shortcode -->
193 193
 					[wpinv_subscriptions]
@@ -207,8 +207,8 @@  discard block
 block discarded – undo
207 207
 	 */
208 208
 	public function create_pages() {
209 209
 
210
-		foreach ( self::get_pages() as $key => $page ) {
211
-			wpinv_create_page( esc_sql( $page['name'] ), $key, $page['title'], $page['content'], $page['parent'] );
210
+		foreach (self::get_pages() as $key => $page) {
211
+			wpinv_create_page(esc_sql($page['name']), $key, $page['title'], $page['content'], $page['parent']);
212 212
 		}
213 213
 
214 214
 	}
@@ -222,32 +222,32 @@  discard block
 block discarded – undo
222 222
 
223 223
 		$invoices_table      = $wpdb->prefix . 'getpaid_invoices';
224 224
 		$invoice_items_table = $wpdb->prefix . 'getpaid_invoice_items';
225
-		$migrated            = $wpdb->get_col( "SELECT post_id FROM $invoices_table" );
225
+		$migrated            = $wpdb->get_col("SELECT post_id FROM $invoices_table");
226 226
 		$invoices            = array_unique(
227 227
 			get_posts(
228 228
 				array(
229
-					'post_type'      => array( 'wpi_invoice', 'wpi_quote' ),
229
+					'post_type'      => array('wpi_invoice', 'wpi_quote'),
230 230
 					'posts_per_page' => -1,
231 231
 					'fields'         => 'ids',
232
-					'post_status'    => array_keys( get_post_stati() ),
232
+					'post_status'    => array_keys(get_post_stati()),
233 233
 					'exclude'        => (array) $migrated,
234 234
 				)
235 235
 			)
236 236
 		);
237 237
 
238 238
 		// Abort if we do not have any invoices.
239
-		if ( empty( $invoices ) ) {
239
+		if (empty($invoices)) {
240 240
 			return;
241 241
 		}
242 242
 
243 243
 		require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-legacy-invoice.php';
244 244
 
245 245
 		$invoice_rows = array();
246
-		foreach ( $invoices as $invoice ) {
246
+		foreach ($invoices as $invoice) {
247 247
 
248
-			$invoice = new WPInv_Legacy_Invoice( $invoice );
248
+			$invoice = new WPInv_Legacy_Invoice($invoice);
249 249
 
250
-			if ( empty( $invoice->ID ) ) {
250
+			if (empty($invoice->ID)) {
251 251
 				return;
252 252
 			}
253 253
 
@@ -255,7 +255,7 @@  discard block
 block discarded – undo
255 255
 				'post_id'            => $invoice->ID,
256 256
 				'number'             => $invoice->get_number(),
257 257
 				'key'                => $invoice->get_key(),
258
-				'type'               => str_replace( 'wpi_', '', $invoice->post_type ),
258
+				'type'               => str_replace('wpi_', '', $invoice->post_type),
259 259
 				'mode'               => $invoice->mode,
260 260
 				'user_ip'            => $invoice->get_ip(),
261 261
 				'first_name'         => $invoice->get_first_name(),
@@ -284,27 +284,27 @@  discard block
 block discarded – undo
284 284
 				'custom_meta'        => $invoice->payment_meta,
285 285
 			);
286 286
 
287
-			foreach ( $fields as $key => $val ) {
288
-				if ( is_null( $val ) ) {
287
+			foreach ($fields as $key => $val) {
288
+				if (is_null($val)) {
289 289
 					$val = '';
290 290
 				}
291
-				$val = maybe_serialize( $val );
292
-				$fields[ $key ] = $wpdb->prepare( '%s', $val );
291
+				$val = maybe_serialize($val);
292
+				$fields[$key] = $wpdb->prepare('%s', $val);
293 293
 			}
294 294
 
295
-			$fields = implode( ', ', $fields );
295
+			$fields = implode(', ', $fields);
296 296
 			$invoice_rows[] = "($fields)";
297 297
 
298 298
 			$item_rows    = array();
299 299
 			$item_columns = array();
300
-			foreach ( $invoice->get_cart_details() as $details ) {
300
+			foreach ($invoice->get_cart_details() as $details) {
301 301
 				$fields = array(
302 302
 					'post_id'          => $invoice->ID,
303 303
 					'item_id'          => $details['id'],
304 304
 					'item_name'        => $details['name'],
305
-					'item_description' => empty( $details['meta']['description'] ) ? '' : $details['meta']['description'],
305
+					'item_description' => empty($details['meta']['description']) ? '' : $details['meta']['description'],
306 306
 					'vat_rate'         => $details['vat_rate'],
307
-					'vat_class'        => empty( $details['vat_class'] ) ? '_standard' : $details['vat_class'],
307
+					'vat_class'        => empty($details['vat_class']) ? '_standard' : $details['vat_class'],
308 308
 					'tax'              => $details['tax'],
309 309
 					'item_price'       => $details['item_price'],
310 310
 					'custom_price'     => $details['custom_price'],
@@ -316,31 +316,31 @@  discard block
 block discarded – undo
316 316
 					'fees'             => $details['fees'],
317 317
 				);
318 318
 
319
-				$item_columns = array_keys( $fields );
319
+				$item_columns = array_keys($fields);
320 320
 
321
-				foreach ( $fields as $key => $val ) {
322
-					if ( is_null( $val ) ) {
321
+				foreach ($fields as $key => $val) {
322
+					if (is_null($val)) {
323 323
 						$val = '';
324 324
 					}
325
-					$val = maybe_serialize( $val );
326
-					$fields[ $key ] = $wpdb->prepare( '%s', $val );
325
+					$val = maybe_serialize($val);
326
+					$fields[$key] = $wpdb->prepare('%s', $val);
327 327
 				}
328 328
 
329
-				$fields = implode( ', ', $fields );
329
+				$fields = implode(', ', $fields);
330 330
 				$item_rows[] = "($fields)";
331 331
 			}
332 332
 
333
-			$item_rows    = implode( ', ', $item_rows );
334
-			$item_columns = implode( ', ', $item_columns );
335
-			$wpdb->query( "INSERT INTO $invoice_items_table ($item_columns) VALUES $item_rows" );
333
+			$item_rows    = implode(', ', $item_rows);
334
+			$item_columns = implode(', ', $item_columns);
335
+			$wpdb->query("INSERT INTO $invoice_items_table ($item_columns) VALUES $item_rows");
336 336
 		}
337 337
 
338
-		if ( empty( $invoice_rows ) ) {
338
+		if (empty($invoice_rows)) {
339 339
 			return;
340 340
 		}
341 341
 
342
-		$invoice_rows = implode( ', ', $invoice_rows );
343
-		$wpdb->query( "INSERT INTO $invoices_table VALUES $invoice_rows" );
342
+		$invoice_rows = implode(', ', $invoice_rows);
343
+		$wpdb->query("INSERT INTO $invoices_table VALUES $invoice_rows");
344 344
 
345 345
 	}
346 346
 
@@ -352,32 +352,32 @@  discard block
 block discarded – undo
352 352
 		global $wpdb;
353 353
 
354 354
 		// Fetch post_id from $wpdb->prefix . 'getpaid_invoices' where customer_id = 0 or null.
355
-		$invoice_ids = $wpdb->get_col( "SELECT post_id FROM {$wpdb->prefix}getpaid_invoices WHERE customer_id = 0 OR customer_id IS NULL" );
355
+		$invoice_ids = $wpdb->get_col("SELECT post_id FROM {$wpdb->prefix}getpaid_invoices WHERE customer_id = 0 OR customer_id IS NULL");
356 356
 
357
-		foreach ( $invoice_ids as $invoice_id ) {
358
-			$invoice = wpinv_get_invoice( $invoice_id );
357
+		foreach ($invoice_ids as $invoice_id) {
358
+			$invoice = wpinv_get_invoice($invoice_id);
359 359
 
360
-			if ( empty( $invoice ) ) {
360
+			if (empty($invoice)) {
361 361
 				continue;
362 362
 			}
363 363
 
364 364
 			// Fetch customer from the user ID.
365 365
 			$user_id = $invoice->get_user_id();
366 366
 
367
-			if ( empty( $user_id ) ) {
367
+			if (empty($user_id)) {
368 368
 				continue;
369 369
 			}
370 370
 
371
-			$customer = getpaid_get_customer_by_user_id( $user_id );
371
+			$customer = getpaid_get_customer_by_user_id($user_id);
372 372
 
373 373
 			// Create if not exists.
374
-			if ( empty( $customer ) ) {
375
-				$customer = new GetPaid_Customer( 0 );
376
-				$customer->clone_user( $user_id );
374
+			if (empty($customer)) {
375
+				$customer = new GetPaid_Customer(0);
376
+				$customer->clone_user($user_id);
377 377
 				$customer->save();
378 378
 			}
379 379
 
380
-			$invoice->set_customer_id( $customer->get_id() );
380
+			$invoice->set_customer_id($customer->get_id());
381 381
 			$invoice->save();
382 382
 		}
383 383
 
@@ -390,12 +390,12 @@  discard block
 block discarded – undo
390 390
 	public static function rename_gateways_label() {
391 391
 		global $wpdb;
392 392
 
393
-		foreach ( array_keys( wpinv_get_payment_gateways() ) as $gateway ) {
393
+		foreach (array_keys(wpinv_get_payment_gateways()) as $gateway) {
394 394
 
395 395
 			$wpdb->update(
396 396
 				$wpdb->prefix . 'getpaid_invoices',
397
-				array( 'gateway' => $gateway ),
398
-				array( 'gateway' => wpinv_get_gateway_admin_label( $gateway ) ),
397
+				array('gateway' => $gateway),
398
+				array('gateway' => wpinv_get_gateway_admin_label($gateway)),
399 399
 				'%s',
400 400
 				'%s'
401 401
 			);
@@ -511,29 +511,29 @@  discard block
 block discarded – undo
511 511
 			";
512 512
 
513 513
 		// Add address fields.
514
-		foreach ( array_keys( getpaid_user_address_fields() ) as $field ) {
514
+		foreach (array_keys(getpaid_user_address_fields()) as $field) {
515 515
 			// Skip id, user_id and email.
516
-			if ( in_array( $field, array( 'id', 'user_id', 'email', 'purchase_value', 'purchase_count', 'date_created', 'date_modified', 'uuid' ), true ) ) {
516
+			if (in_array($field, array('id', 'user_id', 'email', 'purchase_value', 'purchase_count', 'date_created', 'date_modified', 'uuid'), true)) {
517 517
 				continue;
518 518
 			}
519 519
 
520
-			$field   = sanitize_key( $field );
520
+			$field   = sanitize_key($field);
521 521
 			$length  = 100;
522 522
 			$default = '';
523 523
 
524 524
 			// Country.
525
-			if ( 'country' === $field ) {
525
+			if ('country' === $field) {
526 526
 				$length  = 2;
527 527
 				$default = wpinv_get_default_country();
528 528
 			}
529 529
 
530 530
 			// State.
531
-			if ( 'state' === $field ) {
531
+			if ('state' === $field) {
532 532
 				$default = wpinv_get_default_state();
533 533
 			}
534 534
 
535 535
 			// Phone, zip.
536
-			if ( in_array( $field, array( 'phone', 'zip' ), true ) ) {
536
+			if (in_array($field, array('phone', 'zip'), true)) {
537 537
 				$length = 20;
538 538
 			}
539 539
 
@@ -569,7 +569,7 @@  discard block
 block discarded – undo
569 569
 	 * @return bool
570 570
 	 */
571 571
 	public static function is_db_schema_up_to_date() {
572
-		return md5( self::get_db_schema() ) === get_option( 'getpaid_db_schema' );
572
+		return md5(self::get_db_schema()) === get_option('getpaid_db_schema');
573 573
 	}
574 574
 
575 575
 	/**
@@ -587,27 +587,27 @@  discard block
 block discarded – undo
587 587
 		// If invoices table exists, rename key to invoice_key.
588 588
 		$invoices_table = "{$wpdb->prefix}getpaid_invoices";
589 589
 
590
-		if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoices'" ) === $invoices_table ) {
591
-			$fields = $wpdb->get_results( "SHOW COLUMNS FROM {$wpdb->prefix}getpaid_invoices" );
590
+		if ($wpdb->get_var("SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoices'") === $invoices_table) {
591
+			$fields = $wpdb->get_results("SHOW COLUMNS FROM {$wpdb->prefix}getpaid_invoices");
592 592
 
593
-			foreach ( $fields as $field ) {
594
-				if ( 'key' === $field->Field ) {
595
-					$wpdb->query( "ALTER TABLE {$wpdb->prefix}getpaid_invoices CHANGE `key` `invoice_key` VARCHAR(100)" );
593
+			foreach ($fields as $field) {
594
+				if ('key' === $field->Field) {
595
+					$wpdb->query("ALTER TABLE {$wpdb->prefix}getpaid_invoices CHANGE `key` `invoice_key` VARCHAR(100)");
596 596
 					break;
597 597
 				}
598 598
 			}
599 599
 		}
600 600
 
601
-		dbDelta( $schema );
601
+		dbDelta($schema);
602 602
 		wp_cache_flush();
603
-		update_option( 'getpaid_db_schema', md5( self::get_db_schema() ) );
603
+		update_option('getpaid_db_schema', md5(self::get_db_schema()));
604 604
 	}
605 605
 
606 606
 	/**
607 607
 	 * Creates tables if schema is not up to date.
608 608
 	 */
609 609
 	public static function maybe_create_db_tables() {
610
-		if ( ! self::is_db_schema_up_to_date() ) {
610
+		if (!self::is_db_schema_up_to_date()) {
611 611
 			self::create_db_tables();
612 612
 		}
613 613
 	}
Please login to merge, or discard this patch.
Indentation   +468 added lines, -468 removed lines patch added patch discarded remove patch
@@ -20,402 +20,402 @@  discard block
 block discarded – undo
20 20
  */
21 21
 class GetPaid_Installer {
22 22
 
23
-	/**
24
-	 * Upgrades the install.
25
-	 *
26
-	 * @param string $upgrade_from The current invoicing version.
27
-	 */
28
-	public function upgrade_db( $upgrade_from ) {
29
-
30
-		// Save the current invoicing version.
31
-		update_option( 'wpinv_version', WPINV_VERSION );
32
-
33
-		// Setup the invoice Custom Post Type.
34
-		GetPaid_Post_Types::register_post_types();
35
-
36
-		// Clear the permalinks
37
-		flush_rewrite_rules();
38
-
39
-		// Maybe create new/missing pages.
40
-		$this->create_pages();
41
-
42
-		// Maybe re(add) admin capabilities.
43
-		$this->add_capabilities();
44
-
45
-		// Maybe create the default payment form.
46
-		wpinv_get_default_payment_form();
47
-
48
-		// Create any missing database tables.
49
-		$method = "upgrade_from_$upgrade_from";
50
-
51
-		$installed = get_option( 'gepaid_installed_on' );
52
-
53
-		if ( empty( $installed ) ) {
54
-			update_option( 'gepaid_installed_on', time() );
55
-		}
56
-
57
-		if ( method_exists( $this, $method ) ) {
58
-			$this->$method();
59
-		}
60
-
61
-	}
62
-
63
-	/**
64
-	 * Do a fresh install.
65
-	 *
66
-	 */
67
-	public function upgrade_from_0() {
68
-
69
-		// Save default tax rates.
70
-		update_option( 'wpinv_tax_rates', wpinv_get_data( 'tax-rates' ) );
71
-	}
72
-
73
-	/**
74
-	 * Upgrade to 0.0.5
75
-	 *
76
-	 */
77
-	public function upgrade_from_004() {
78
-		global $wpdb;
79
-
80
-		// Invoices.
81
-		$results = $wpdb->get_results( "SELECT ID FROM {$wpdb->posts} WHERE post_type = 'wpi_invoice' AND post_status IN( 'pending', 'processing', 'onhold', 'refunded', 'cancelled', 'failed', 'renewal' )" );
82
-		if ( ! empty( $results ) ) {
83
-			$wpdb->query( "UPDATE {$wpdb->posts} SET post_status = CONCAT( 'wpi-', post_status ) WHERE post_type = 'wpi_invoice' AND post_status IN( 'pending', 'processing', 'onhold', 'refunded', 'cancelled', 'failed', 'renewal' )" );
84
-
85
-			// Clean post cache
86
-			foreach ( $results as $row ) {
87
-				clean_post_cache( $row->ID );
88
-			}
89
-		}
90
-
91
-		// Item meta key changes
92
-		$query = 'SELECT DISTINCT post_id FROM ' . $wpdb->postmeta . " WHERE meta_key IN( '_wpinv_item_id', '_wpinv_package_id', '_wpinv_post_id', '_wpinv_cpt_name', '_wpinv_cpt_singular_name' )";
93
-		$results = $wpdb->get_results( $query );
94
-
95
-		if ( ! empty( $results ) ) {
96
-			$wpdb->query( 'UPDATE ' . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_id' WHERE meta_key IN( '_wpinv_item_id', '_wpinv_package_id', '_wpinv_post_id' )" );
97
-			$wpdb->query( 'UPDATE ' . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_name' WHERE meta_key = '_wpinv_cpt_name'" );
98
-			$wpdb->query( 'UPDATE ' . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_singular_name' WHERE meta_key = '_wpinv_cpt_singular_name'" );
99
-
100
-			foreach ( $results as $row ) {
101
-				clean_post_cache( $row->post_id );
102
-			}
103
-		}
104
-
105
-		$this->upgrade_from_118();
106
-	}
107
-
108
-	/**
109
-	 * Upgrade to version 2.0.0.
110
-	 *
111
-	 */
112
-	public function upgrade_from_118() {
113
-		$this->migrate_old_invoices();
114
-		$this->upgrade_from_279();
115
-	}
116
-
117
-	/**
118
-	 * Upgrade to version 2.0.0.
119
-	 *
120
-	 */
121
-	public function upgrade_from_279() {
122
-		self::migrate_old_customers();
123
-	}
124
-
125
-	/**
126
-	 * Give administrators the capability to manage GetPaid.
127
-	 *
128
-	 */
129
-	public function add_capabilities() {
130
-		$GLOBALS['wp_roles']->add_cap( 'administrator', 'manage_invoicing' );
131
-	}
132
-
133
-	/**
134
-	 * Retreives GetPaid pages.
135
-	 *
136
-	 */
137
-	public static function get_pages() {
138
-
139
-		return apply_filters(
140
-			'wpinv_create_pages',
141
-			array(
142
-
143
-				// Checkout page.
144
-				'checkout_page'             => array(
145
-					'name'    => _x( 'gp-checkout', 'Page slug', 'invoicing' ),
146
-					'title'   => _x( 'Checkout', 'Page title', 'invoicing' ),
147
-					'content' => '
23
+    /**
24
+     * Upgrades the install.
25
+     *
26
+     * @param string $upgrade_from The current invoicing version.
27
+     */
28
+    public function upgrade_db( $upgrade_from ) {
29
+
30
+        // Save the current invoicing version.
31
+        update_option( 'wpinv_version', WPINV_VERSION );
32
+
33
+        // Setup the invoice Custom Post Type.
34
+        GetPaid_Post_Types::register_post_types();
35
+
36
+        // Clear the permalinks
37
+        flush_rewrite_rules();
38
+
39
+        // Maybe create new/missing pages.
40
+        $this->create_pages();
41
+
42
+        // Maybe re(add) admin capabilities.
43
+        $this->add_capabilities();
44
+
45
+        // Maybe create the default payment form.
46
+        wpinv_get_default_payment_form();
47
+
48
+        // Create any missing database tables.
49
+        $method = "upgrade_from_$upgrade_from";
50
+
51
+        $installed = get_option( 'gepaid_installed_on' );
52
+
53
+        if ( empty( $installed ) ) {
54
+            update_option( 'gepaid_installed_on', time() );
55
+        }
56
+
57
+        if ( method_exists( $this, $method ) ) {
58
+            $this->$method();
59
+        }
60
+
61
+    }
62
+
63
+    /**
64
+     * Do a fresh install.
65
+     *
66
+     */
67
+    public function upgrade_from_0() {
68
+
69
+        // Save default tax rates.
70
+        update_option( 'wpinv_tax_rates', wpinv_get_data( 'tax-rates' ) );
71
+    }
72
+
73
+    /**
74
+     * Upgrade to 0.0.5
75
+     *
76
+     */
77
+    public function upgrade_from_004() {
78
+        global $wpdb;
79
+
80
+        // Invoices.
81
+        $results = $wpdb->get_results( "SELECT ID FROM {$wpdb->posts} WHERE post_type = 'wpi_invoice' AND post_status IN( 'pending', 'processing', 'onhold', 'refunded', 'cancelled', 'failed', 'renewal' )" );
82
+        if ( ! empty( $results ) ) {
83
+            $wpdb->query( "UPDATE {$wpdb->posts} SET post_status = CONCAT( 'wpi-', post_status ) WHERE post_type = 'wpi_invoice' AND post_status IN( 'pending', 'processing', 'onhold', 'refunded', 'cancelled', 'failed', 'renewal' )" );
84
+
85
+            // Clean post cache
86
+            foreach ( $results as $row ) {
87
+                clean_post_cache( $row->ID );
88
+            }
89
+        }
90
+
91
+        // Item meta key changes
92
+        $query = 'SELECT DISTINCT post_id FROM ' . $wpdb->postmeta . " WHERE meta_key IN( '_wpinv_item_id', '_wpinv_package_id', '_wpinv_post_id', '_wpinv_cpt_name', '_wpinv_cpt_singular_name' )";
93
+        $results = $wpdb->get_results( $query );
94
+
95
+        if ( ! empty( $results ) ) {
96
+            $wpdb->query( 'UPDATE ' . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_id' WHERE meta_key IN( '_wpinv_item_id', '_wpinv_package_id', '_wpinv_post_id' )" );
97
+            $wpdb->query( 'UPDATE ' . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_name' WHERE meta_key = '_wpinv_cpt_name'" );
98
+            $wpdb->query( 'UPDATE ' . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_singular_name' WHERE meta_key = '_wpinv_cpt_singular_name'" );
99
+
100
+            foreach ( $results as $row ) {
101
+                clean_post_cache( $row->post_id );
102
+            }
103
+        }
104
+
105
+        $this->upgrade_from_118();
106
+    }
107
+
108
+    /**
109
+     * Upgrade to version 2.0.0.
110
+     *
111
+     */
112
+    public function upgrade_from_118() {
113
+        $this->migrate_old_invoices();
114
+        $this->upgrade_from_279();
115
+    }
116
+
117
+    /**
118
+     * Upgrade to version 2.0.0.
119
+     *
120
+     */
121
+    public function upgrade_from_279() {
122
+        self::migrate_old_customers();
123
+    }
124
+
125
+    /**
126
+     * Give administrators the capability to manage GetPaid.
127
+     *
128
+     */
129
+    public function add_capabilities() {
130
+        $GLOBALS['wp_roles']->add_cap( 'administrator', 'manage_invoicing' );
131
+    }
132
+
133
+    /**
134
+     * Retreives GetPaid pages.
135
+     *
136
+     */
137
+    public static function get_pages() {
138
+
139
+        return apply_filters(
140
+            'wpinv_create_pages',
141
+            array(
142
+
143
+                // Checkout page.
144
+                'checkout_page'             => array(
145
+                    'name'    => _x( 'gp-checkout', 'Page slug', 'invoicing' ),
146
+                    'title'   => _x( 'Checkout', 'Page title', 'invoicing' ),
147
+                    'content' => '
148 148
 						<!-- wp:shortcode -->
149 149
 						[wpinv_checkout]
150 150
 						<!-- /wp:shortcode -->
151 151
 					',
152
-					'parent'  => '',
153
-				),
154
-
155
-				// Invoice history page.
156
-				'invoice_history_page'      => array(
157
-					'name'    => _x( 'gp-invoices', 'Page slug', 'invoicing' ),
158
-					'title'   => _x( 'My Invoices', 'Page title', 'invoicing' ),
159
-					'content' => '
152
+                    'parent'  => '',
153
+                ),
154
+
155
+                // Invoice history page.
156
+                'invoice_history_page'      => array(
157
+                    'name'    => _x( 'gp-invoices', 'Page slug', 'invoicing' ),
158
+                    'title'   => _x( 'My Invoices', 'Page title', 'invoicing' ),
159
+                    'content' => '
160 160
 					<!-- wp:shortcode -->
161 161
 					[wpinv_history]
162 162
 					<!-- /wp:shortcode -->
163 163
 				',
164
-					'parent'  => '',
165
-				),
166
-
167
-				// Success page content.
168
-				'success_page'              => array(
169
-					'name'    => _x( 'gp-receipt', 'Page slug', 'invoicing' ),
170
-					'title'   => _x( 'Payment Confirmation', 'Page title', 'invoicing' ),
171
-					'content' => '
164
+                    'parent'  => '',
165
+                ),
166
+
167
+                // Success page content.
168
+                'success_page'              => array(
169
+                    'name'    => _x( 'gp-receipt', 'Page slug', 'invoicing' ),
170
+                    'title'   => _x( 'Payment Confirmation', 'Page title', 'invoicing' ),
171
+                    'content' => '
172 172
 					<!-- wp:shortcode -->
173 173
 					[wpinv_receipt]
174 174
 					<!-- /wp:shortcode -->
175 175
 				',
176
-					'parent'  => 'gp-checkout',
177
-				),
178
-
179
-				// Failure page content.
180
-				'failure_page'              => array(
181
-					'name'    => _x( 'gp-transaction-failed', 'Page slug', 'invoicing' ),
182
-					'title'   => _x( 'Transaction Failed', 'Page title', 'invoicing' ),
183
-					'content' => __( 'Your transaction failed, please try again or contact site support.', 'invoicing' ),
184
-					'parent'  => 'gp-checkout',
185
-				),
186
-
187
-				// Subscriptions history page.
188
-				'invoice_subscription_page' => array(
189
-					'name'    => _x( 'gp-subscriptions', 'Page slug', 'invoicing' ),
190
-					'title'   => _x( 'My Subscriptions', 'Page title', 'invoicing' ),
191
-					'content' => '
176
+                    'parent'  => 'gp-checkout',
177
+                ),
178
+
179
+                // Failure page content.
180
+                'failure_page'              => array(
181
+                    'name'    => _x( 'gp-transaction-failed', 'Page slug', 'invoicing' ),
182
+                    'title'   => _x( 'Transaction Failed', 'Page title', 'invoicing' ),
183
+                    'content' => __( 'Your transaction failed, please try again or contact site support.', 'invoicing' ),
184
+                    'parent'  => 'gp-checkout',
185
+                ),
186
+
187
+                // Subscriptions history page.
188
+                'invoice_subscription_page' => array(
189
+                    'name'    => _x( 'gp-subscriptions', 'Page slug', 'invoicing' ),
190
+                    'title'   => _x( 'My Subscriptions', 'Page title', 'invoicing' ),
191
+                    'content' => '
192 192
 					<!-- wp:shortcode -->
193 193
 					[wpinv_subscriptions]
194 194
 					<!-- /wp:shortcode -->
195 195
 				',
196
-					'parent'  => '',
197
-				),
198
-
199
-			)
200
-		);
201
-
202
-	}
203
-
204
-	/**
205
-	 * Re-create GetPaid pages.
206
-	 *
207
-	 */
208
-	public function create_pages() {
209
-
210
-		foreach ( self::get_pages() as $key => $page ) {
211
-			wpinv_create_page( esc_sql( $page['name'] ), $key, $page['title'], $page['content'], $page['parent'] );
212
-		}
213
-
214
-	}
215
-
216
-	/**
217
-	 * Migrates old invoices to new invoices.
218
-	 *
219
-	 */
220
-	public function migrate_old_invoices() {
221
-		global $wpdb;
222
-
223
-		$invoices_table      = $wpdb->prefix . 'getpaid_invoices';
224
-		$invoice_items_table = $wpdb->prefix . 'getpaid_invoice_items';
225
-		$migrated            = $wpdb->get_col( "SELECT post_id FROM $invoices_table" );
226
-		$invoices            = array_unique(
227
-			get_posts(
228
-				array(
229
-					'post_type'      => array( 'wpi_invoice', 'wpi_quote' ),
230
-					'posts_per_page' => -1,
231
-					'fields'         => 'ids',
232
-					'post_status'    => array_keys( get_post_stati() ),
233
-					'exclude'        => (array) $migrated,
234
-				)
235
-			)
236
-		);
237
-
238
-		// Abort if we do not have any invoices.
239
-		if ( empty( $invoices ) ) {
240
-			return;
241
-		}
242
-
243
-		require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-legacy-invoice.php';
244
-
245
-		$invoice_rows = array();
246
-		foreach ( $invoices as $invoice ) {
247
-
248
-			$invoice = new WPInv_Legacy_Invoice( $invoice );
249
-
250
-			if ( empty( $invoice->ID ) ) {
251
-				return;
252
-			}
253
-
254
-			$fields = array(
255
-				'post_id'            => $invoice->ID,
256
-				'number'             => $invoice->get_number(),
257
-				'key'                => $invoice->get_key(),
258
-				'type'               => str_replace( 'wpi_', '', $invoice->post_type ),
259
-				'mode'               => $invoice->mode,
260
-				'user_ip'            => $invoice->get_ip(),
261
-				'first_name'         => $invoice->get_first_name(),
262
-				'last_name'          => $invoice->get_last_name(),
263
-				'address'            => $invoice->get_address(),
264
-				'city'               => $invoice->city,
265
-				'state'              => $invoice->state,
266
-				'country'            => $invoice->country,
267
-				'zip'                => $invoice->zip,
268
-				'adddress_confirmed' => (int) $invoice->adddress_confirmed,
269
-				'gateway'            => $invoice->get_gateway(),
270
-				'transaction_id'     => $invoice->get_transaction_id(),
271
-				'currency'           => $invoice->get_currency(),
272
-				'subtotal'           => $invoice->get_subtotal(),
273
-				'tax'                => $invoice->get_tax(),
274
-				'fees_total'         => $invoice->get_fees_total(),
275
-				'total'              => $invoice->get_total(),
276
-				'discount'           => $invoice->get_discount(),
277
-				'discount_code'      => $invoice->get_discount_code(),
278
-				'disable_taxes'      => $invoice->disable_taxes,
279
-				'due_date'           => $invoice->get_due_date(),
280
-				'completed_date'     => $invoice->get_completed_date(),
281
-				'company'            => $invoice->company,
282
-				'vat_number'         => $invoice->vat_number,
283
-				'vat_rate'           => $invoice->vat_rate,
284
-				'custom_meta'        => $invoice->payment_meta,
285
-			);
286
-
287
-			foreach ( $fields as $key => $val ) {
288
-				if ( is_null( $val ) ) {
289
-					$val = '';
290
-				}
291
-				$val = maybe_serialize( $val );
292
-				$fields[ $key ] = $wpdb->prepare( '%s', $val );
293
-			}
294
-
295
-			$fields = implode( ', ', $fields );
296
-			$invoice_rows[] = "($fields)";
297
-
298
-			$item_rows    = array();
299
-			$item_columns = array();
300
-			foreach ( $invoice->get_cart_details() as $details ) {
301
-				$fields = array(
302
-					'post_id'          => $invoice->ID,
303
-					'item_id'          => $details['id'],
304
-					'item_name'        => $details['name'],
305
-					'item_description' => empty( $details['meta']['description'] ) ? '' : $details['meta']['description'],
306
-					'vat_rate'         => $details['vat_rate'],
307
-					'vat_class'        => empty( $details['vat_class'] ) ? '_standard' : $details['vat_class'],
308
-					'tax'              => $details['tax'],
309
-					'item_price'       => $details['item_price'],
310
-					'custom_price'     => $details['custom_price'],
311
-					'quantity'         => $details['quantity'],
312
-					'discount'         => $details['discount'],
313
-					'subtotal'         => $details['subtotal'],
314
-					'price'            => $details['price'],
315
-					'meta'             => $details['meta'],
316
-					'fees'             => $details['fees'],
317
-				);
318
-
319
-				$item_columns = array_keys( $fields );
320
-
321
-				foreach ( $fields as $key => $val ) {
322
-					if ( is_null( $val ) ) {
323
-						$val = '';
324
-					}
325
-					$val = maybe_serialize( $val );
326
-					$fields[ $key ] = $wpdb->prepare( '%s', $val );
327
-				}
328
-
329
-				$fields = implode( ', ', $fields );
330
-				$item_rows[] = "($fields)";
331
-			}
332
-
333
-			$item_rows    = implode( ', ', $item_rows );
334
-			$item_columns = implode( ', ', $item_columns );
335
-			$wpdb->query( "INSERT INTO $invoice_items_table ($item_columns) VALUES $item_rows" );
336
-		}
337
-
338
-		if ( empty( $invoice_rows ) ) {
339
-			return;
340
-		}
341
-
342
-		$invoice_rows = implode( ', ', $invoice_rows );
343
-		$wpdb->query( "INSERT INTO $invoices_table VALUES $invoice_rows" );
344
-
345
-	}
346
-
347
-	/**
348
-	 * Migrates old customers to new table.
349
-	 *
350
-	 */
351
-	public static function migrate_old_customers() {
352
-		global $wpdb;
353
-
354
-		// Fetch post_id from $wpdb->prefix . 'getpaid_invoices' where customer_id = 0 or null.
355
-		$invoice_ids = $wpdb->get_col( "SELECT post_id FROM {$wpdb->prefix}getpaid_invoices WHERE customer_id = 0 OR customer_id IS NULL" );
356
-
357
-		foreach ( $invoice_ids as $invoice_id ) {
358
-			$invoice = wpinv_get_invoice( $invoice_id );
359
-
360
-			if ( empty( $invoice ) ) {
361
-				continue;
362
-			}
363
-
364
-			// Fetch customer from the user ID.
365
-			$user_id = $invoice->get_user_id();
366
-
367
-			if ( empty( $user_id ) ) {
368
-				continue;
369
-			}
370
-
371
-			$customer = getpaid_get_customer_by_user_id( $user_id );
372
-
373
-			// Create if not exists.
374
-			if ( empty( $customer ) ) {
375
-				$customer = new GetPaid_Customer( 0 );
376
-				$customer->clone_user( $user_id );
377
-				$customer->save();
378
-			}
379
-
380
-			$invoice->set_customer_id( $customer->get_id() );
381
-			$invoice->save();
382
-		}
383
-
384
-	}
385
-
386
-	/**
387
-	 * Migrates old invoices to new invoices.
388
-	 *
389
-	 */
390
-	public static function rename_gateways_label() {
391
-		global $wpdb;
392
-
393
-		foreach ( array_keys( wpinv_get_payment_gateways() ) as $gateway ) {
394
-
395
-			$wpdb->update(
396
-				$wpdb->prefix . 'getpaid_invoices',
397
-				array( 'gateway' => $gateway ),
398
-				array( 'gateway' => wpinv_get_gateway_admin_label( $gateway ) ),
399
-				'%s',
400
-				'%s'
401
-			);
402
-
403
-		}
404
-	}
405
-
406
-	/**
407
-	 * Returns the DB schema.
408
-	 *
409
-	 */
410
-	public static function get_db_schema() {
411
-		global $wpdb;
412
-
413
-		require_once ABSPATH . 'wp-admin/includes/upgrade.php';
414
-
415
-		$charset_collate = $wpdb->get_charset_collate();
196
+                    'parent'  => '',
197
+                ),
198
+
199
+            )
200
+        );
201
+
202
+    }
203
+
204
+    /**
205
+     * Re-create GetPaid pages.
206
+     *
207
+     */
208
+    public function create_pages() {
209
+
210
+        foreach ( self::get_pages() as $key => $page ) {
211
+            wpinv_create_page( esc_sql( $page['name'] ), $key, $page['title'], $page['content'], $page['parent'] );
212
+        }
213
+
214
+    }
215
+
216
+    /**
217
+     * Migrates old invoices to new invoices.
218
+     *
219
+     */
220
+    public function migrate_old_invoices() {
221
+        global $wpdb;
222
+
223
+        $invoices_table      = $wpdb->prefix . 'getpaid_invoices';
224
+        $invoice_items_table = $wpdb->prefix . 'getpaid_invoice_items';
225
+        $migrated            = $wpdb->get_col( "SELECT post_id FROM $invoices_table" );
226
+        $invoices            = array_unique(
227
+            get_posts(
228
+                array(
229
+                    'post_type'      => array( 'wpi_invoice', 'wpi_quote' ),
230
+                    'posts_per_page' => -1,
231
+                    'fields'         => 'ids',
232
+                    'post_status'    => array_keys( get_post_stati() ),
233
+                    'exclude'        => (array) $migrated,
234
+                )
235
+            )
236
+        );
237
+
238
+        // Abort if we do not have any invoices.
239
+        if ( empty( $invoices ) ) {
240
+            return;
241
+        }
242
+
243
+        require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-legacy-invoice.php';
244
+
245
+        $invoice_rows = array();
246
+        foreach ( $invoices as $invoice ) {
247
+
248
+            $invoice = new WPInv_Legacy_Invoice( $invoice );
249
+
250
+            if ( empty( $invoice->ID ) ) {
251
+                return;
252
+            }
253
+
254
+            $fields = array(
255
+                'post_id'            => $invoice->ID,
256
+                'number'             => $invoice->get_number(),
257
+                'key'                => $invoice->get_key(),
258
+                'type'               => str_replace( 'wpi_', '', $invoice->post_type ),
259
+                'mode'               => $invoice->mode,
260
+                'user_ip'            => $invoice->get_ip(),
261
+                'first_name'         => $invoice->get_first_name(),
262
+                'last_name'          => $invoice->get_last_name(),
263
+                'address'            => $invoice->get_address(),
264
+                'city'               => $invoice->city,
265
+                'state'              => $invoice->state,
266
+                'country'            => $invoice->country,
267
+                'zip'                => $invoice->zip,
268
+                'adddress_confirmed' => (int) $invoice->adddress_confirmed,
269
+                'gateway'            => $invoice->get_gateway(),
270
+                'transaction_id'     => $invoice->get_transaction_id(),
271
+                'currency'           => $invoice->get_currency(),
272
+                'subtotal'           => $invoice->get_subtotal(),
273
+                'tax'                => $invoice->get_tax(),
274
+                'fees_total'         => $invoice->get_fees_total(),
275
+                'total'              => $invoice->get_total(),
276
+                'discount'           => $invoice->get_discount(),
277
+                'discount_code'      => $invoice->get_discount_code(),
278
+                'disable_taxes'      => $invoice->disable_taxes,
279
+                'due_date'           => $invoice->get_due_date(),
280
+                'completed_date'     => $invoice->get_completed_date(),
281
+                'company'            => $invoice->company,
282
+                'vat_number'         => $invoice->vat_number,
283
+                'vat_rate'           => $invoice->vat_rate,
284
+                'custom_meta'        => $invoice->payment_meta,
285
+            );
286
+
287
+            foreach ( $fields as $key => $val ) {
288
+                if ( is_null( $val ) ) {
289
+                    $val = '';
290
+                }
291
+                $val = maybe_serialize( $val );
292
+                $fields[ $key ] = $wpdb->prepare( '%s', $val );
293
+            }
294
+
295
+            $fields = implode( ', ', $fields );
296
+            $invoice_rows[] = "($fields)";
297
+
298
+            $item_rows    = array();
299
+            $item_columns = array();
300
+            foreach ( $invoice->get_cart_details() as $details ) {
301
+                $fields = array(
302
+                    'post_id'          => $invoice->ID,
303
+                    'item_id'          => $details['id'],
304
+                    'item_name'        => $details['name'],
305
+                    'item_description' => empty( $details['meta']['description'] ) ? '' : $details['meta']['description'],
306
+                    'vat_rate'         => $details['vat_rate'],
307
+                    'vat_class'        => empty( $details['vat_class'] ) ? '_standard' : $details['vat_class'],
308
+                    'tax'              => $details['tax'],
309
+                    'item_price'       => $details['item_price'],
310
+                    'custom_price'     => $details['custom_price'],
311
+                    'quantity'         => $details['quantity'],
312
+                    'discount'         => $details['discount'],
313
+                    'subtotal'         => $details['subtotal'],
314
+                    'price'            => $details['price'],
315
+                    'meta'             => $details['meta'],
316
+                    'fees'             => $details['fees'],
317
+                );
318
+
319
+                $item_columns = array_keys( $fields );
320
+
321
+                foreach ( $fields as $key => $val ) {
322
+                    if ( is_null( $val ) ) {
323
+                        $val = '';
324
+                    }
325
+                    $val = maybe_serialize( $val );
326
+                    $fields[ $key ] = $wpdb->prepare( '%s', $val );
327
+                }
328
+
329
+                $fields = implode( ', ', $fields );
330
+                $item_rows[] = "($fields)";
331
+            }
332
+
333
+            $item_rows    = implode( ', ', $item_rows );
334
+            $item_columns = implode( ', ', $item_columns );
335
+            $wpdb->query( "INSERT INTO $invoice_items_table ($item_columns) VALUES $item_rows" );
336
+        }
337
+
338
+        if ( empty( $invoice_rows ) ) {
339
+            return;
340
+        }
341
+
342
+        $invoice_rows = implode( ', ', $invoice_rows );
343
+        $wpdb->query( "INSERT INTO $invoices_table VALUES $invoice_rows" );
344
+
345
+    }
346
+
347
+    /**
348
+     * Migrates old customers to new table.
349
+     *
350
+     */
351
+    public static function migrate_old_customers() {
352
+        global $wpdb;
353
+
354
+        // Fetch post_id from $wpdb->prefix . 'getpaid_invoices' where customer_id = 0 or null.
355
+        $invoice_ids = $wpdb->get_col( "SELECT post_id FROM {$wpdb->prefix}getpaid_invoices WHERE customer_id = 0 OR customer_id IS NULL" );
356
+
357
+        foreach ( $invoice_ids as $invoice_id ) {
358
+            $invoice = wpinv_get_invoice( $invoice_id );
359
+
360
+            if ( empty( $invoice ) ) {
361
+                continue;
362
+            }
363
+
364
+            // Fetch customer from the user ID.
365
+            $user_id = $invoice->get_user_id();
366
+
367
+            if ( empty( $user_id ) ) {
368
+                continue;
369
+            }
370
+
371
+            $customer = getpaid_get_customer_by_user_id( $user_id );
372
+
373
+            // Create if not exists.
374
+            if ( empty( $customer ) ) {
375
+                $customer = new GetPaid_Customer( 0 );
376
+                $customer->clone_user( $user_id );
377
+                $customer->save();
378
+            }
379
+
380
+            $invoice->set_customer_id( $customer->get_id() );
381
+            $invoice->save();
382
+        }
383
+
384
+    }
385
+
386
+    /**
387
+     * Migrates old invoices to new invoices.
388
+     *
389
+     */
390
+    public static function rename_gateways_label() {
391
+        global $wpdb;
392
+
393
+        foreach ( array_keys( wpinv_get_payment_gateways() ) as $gateway ) {
394
+
395
+            $wpdb->update(
396
+                $wpdb->prefix . 'getpaid_invoices',
397
+                array( 'gateway' => $gateway ),
398
+                array( 'gateway' => wpinv_get_gateway_admin_label( $gateway ) ),
399
+                '%s',
400
+                '%s'
401
+            );
402
+
403
+        }
404
+    }
405
+
406
+    /**
407
+     * Returns the DB schema.
408
+     *
409
+     */
410
+    public static function get_db_schema() {
411
+        global $wpdb;
412
+
413
+        require_once ABSPATH . 'wp-admin/includes/upgrade.php';
414
+
415
+        $charset_collate = $wpdb->get_charset_collate();
416 416
 
417
-		// Subscriptions.
418
-		$schema = "CREATE TABLE {$wpdb->prefix}wpinv_subscriptions (
417
+        // Subscriptions.
418
+        $schema = "CREATE TABLE {$wpdb->prefix}wpinv_subscriptions (
419 419
 			id bigint(20) unsigned NOT NULL auto_increment,
420 420
 			customer_id bigint(20) NOT NULL,
421 421
 			frequency int(11) NOT NULL DEFAULT '1',
@@ -438,8 +438,8 @@  discard block
 block discarded – undo
438 438
 			KEY customer_and_status (customer_id, status)
439 439
 		  ) $charset_collate;";
440 440
 
441
-		// Invoices.
442
-		$schema .= "CREATE TABLE {$wpdb->prefix}getpaid_invoices (
441
+        // Invoices.
442
+        $schema .= "CREATE TABLE {$wpdb->prefix}getpaid_invoices (
443 443
 			post_id BIGINT(20) NOT NULL,
444 444
 			customer_id BIGINT(20) NOT NULL DEFAULT 0,
445 445
             `number` VARCHAR(100),
@@ -476,8 +476,8 @@  discard block
 block discarded – undo
476 476
 			KEY invoice_key (invoice_key)
477 477
 		  ) $charset_collate;";
478 478
 
479
-		// Invoice items.
480
-		$schema .= "CREATE TABLE {$wpdb->prefix}getpaid_invoice_items (
479
+        // Invoice items.
480
+        $schema .= "CREATE TABLE {$wpdb->prefix}getpaid_invoice_items (
481 481
 			ID BIGINT(20) NOT NULL AUTO_INCREMENT,
482 482
             post_id BIGINT(20) NOT NULL,
483 483
             item_id BIGINT(20) NOT NULL,
@@ -499,8 +499,8 @@  discard block
 block discarded – undo
499 499
 			KEY post_id (post_id)
500 500
 		  ) $charset_collate;";
501 501
 
502
-		// Customers.
503
-		$schema .= "CREATE TABLE {$wpdb->prefix}getpaid_customers (
502
+        // Customers.
503
+        $schema .= "CREATE TABLE {$wpdb->prefix}getpaid_customers (
504 504
 			id BIGINT(20) NOT NULL AUTO_INCREMENT,
505 505
 			user_id BIGINT(20) NOT NULL,
506 506
 			email VARCHAR(100) NOT NULL,
@@ -510,38 +510,38 @@  discard block
 block discarded – undo
510 510
 			purchase_count BIGINT(20) NOT NULL DEFAULT 0,
511 511
 			";
512 512
 
513
-		// Add address fields.
514
-		foreach ( array_keys( getpaid_user_address_fields() ) as $field ) {
515
-			// Skip id, user_id and email.
516
-			if ( in_array( $field, array( 'id', 'user_id', 'email', 'purchase_value', 'purchase_count', 'date_created', 'date_modified', 'uuid' ), true ) ) {
517
-				continue;
518
-			}
519
-
520
-			$field   = sanitize_key( $field );
521
-			$length  = 100;
522
-			$default = '';
523
-
524
-			// Country.
525
-			if ( 'country' === $field ) {
526
-				$length  = 2;
527
-				$default = wpinv_get_default_country();
528
-			}
529
-
530
-			// State.
531
-			if ( 'state' === $field ) {
532
-				$default = wpinv_get_default_state();
533
-			}
534
-
535
-			// Phone, zip.
536
-			if ( in_array( $field, array( 'phone', 'zip' ), true ) ) {
537
-				$length = 20;
538
-			}
539
-
540
-			$schema .= "`$field` VARCHAR($length) NOT NULL DEFAULT '$default',
513
+        // Add address fields.
514
+        foreach ( array_keys( getpaid_user_address_fields() ) as $field ) {
515
+            // Skip id, user_id and email.
516
+            if ( in_array( $field, array( 'id', 'user_id', 'email', 'purchase_value', 'purchase_count', 'date_created', 'date_modified', 'uuid' ), true ) ) {
517
+                continue;
518
+            }
519
+
520
+            $field   = sanitize_key( $field );
521
+            $length  = 100;
522
+            $default = '';
523
+
524
+            // Country.
525
+            if ( 'country' === $field ) {
526
+                $length  = 2;
527
+                $default = wpinv_get_default_country();
528
+            }
529
+
530
+            // State.
531
+            if ( 'state' === $field ) {
532
+                $default = wpinv_get_default_state();
533
+            }
534
+
535
+            // Phone, zip.
536
+            if ( in_array( $field, array( 'phone', 'zip' ), true ) ) {
537
+                $length = 20;
538
+            }
539
+
540
+            $schema .= "`$field` VARCHAR($length) NOT NULL DEFAULT '$default',
541 541
 			";
542
-		}
542
+        }
543 543
 
544
-		$schema .= "date_created DATETIME NOT NULL,
544
+        $schema .= "date_created DATETIME NOT NULL,
545 545
 			date_modified DATETIME NOT NULL,
546 546
 			uuid VARCHAR(100) NOT NULL,
547 547
 			PRIMARY KEY  (id),
@@ -549,8 +549,8 @@  discard block
 block discarded – undo
549 549
 			KEY email (email)
550 550
 		  ) $charset_collate;";
551 551
 
552
-		// Customer meta.
553
-		$schema .= "CREATE TABLE {$wpdb->prefix}getpaid_customer_meta (
552
+        // Customer meta.
553
+        $schema .= "CREATE TABLE {$wpdb->prefix}getpaid_customer_meta (
554 554
 			meta_id BIGINT(20) NOT NULL AUTO_INCREMENT,
555 555
 			customer_id BIGINT(20) NOT NULL,
556 556
 			meta_key VARCHAR(255) NOT NULL,
@@ -560,55 +560,55 @@  discard block
 block discarded – undo
560 560
 			KEY meta_key (meta_key(191))
561 561
 		  ) $charset_collate;";
562 562
 
563
-		return $schema;
564
-	}
565
-
566
-	/**
567
-	 * Checks if the db schema is up to date.
568
-	 *
569
-	 * @return bool
570
-	 */
571
-	public static function is_db_schema_up_to_date() {
572
-		return md5( self::get_db_schema() ) === get_option( 'getpaid_db_schema' );
573
-	}
574
-
575
-	/**
576
-	 * Set up the database tables which the plugin needs to function.
577
-	 */
578
-	public static function create_db_tables() {
579
-		global $wpdb;
580
-
581
-		$wpdb->hide_errors();
582
-
583
-		require_once ABSPATH . 'wp-admin/includes/upgrade.php';
584
-
585
-		$schema = self::get_db_schema();
586
-
587
-		// If invoices table exists, rename key to invoice_key.
588
-		$invoices_table = "{$wpdb->prefix}getpaid_invoices";
589
-
590
-		if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoices'" ) === $invoices_table ) {
591
-			$fields = $wpdb->get_results( "SHOW COLUMNS FROM {$wpdb->prefix}getpaid_invoices" );
592
-
593
-			foreach ( $fields as $field ) {
594
-				if ( 'key' === $field->Field ) {
595
-					$wpdb->query( "ALTER TABLE {$wpdb->prefix}getpaid_invoices CHANGE `key` `invoice_key` VARCHAR(100)" );
596
-					break;
597
-				}
598
-			}
599
-		}
600
-
601
-		dbDelta( $schema );
602
-		wp_cache_flush();
603
-		update_option( 'getpaid_db_schema', md5( self::get_db_schema() ) );
604
-	}
605
-
606
-	/**
607
-	 * Creates tables if schema is not up to date.
608
-	 */
609
-	public static function maybe_create_db_tables() {
610
-		if ( ! self::is_db_schema_up_to_date() ) {
611
-			self::create_db_tables();
612
-		}
613
-	}
563
+        return $schema;
564
+    }
565
+
566
+    /**
567
+     * Checks if the db schema is up to date.
568
+     *
569
+     * @return bool
570
+     */
571
+    public static function is_db_schema_up_to_date() {
572
+        return md5( self::get_db_schema() ) === get_option( 'getpaid_db_schema' );
573
+    }
574
+
575
+    /**
576
+     * Set up the database tables which the plugin needs to function.
577
+     */
578
+    public static function create_db_tables() {
579
+        global $wpdb;
580
+
581
+        $wpdb->hide_errors();
582
+
583
+        require_once ABSPATH . 'wp-admin/includes/upgrade.php';
584
+
585
+        $schema = self::get_db_schema();
586
+
587
+        // If invoices table exists, rename key to invoice_key.
588
+        $invoices_table = "{$wpdb->prefix}getpaid_invoices";
589
+
590
+        if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoices'" ) === $invoices_table ) {
591
+            $fields = $wpdb->get_results( "SHOW COLUMNS FROM {$wpdb->prefix}getpaid_invoices" );
592
+
593
+            foreach ( $fields as $field ) {
594
+                if ( 'key' === $field->Field ) {
595
+                    $wpdb->query( "ALTER TABLE {$wpdb->prefix}getpaid_invoices CHANGE `key` `invoice_key` VARCHAR(100)" );
596
+                    break;
597
+                }
598
+            }
599
+        }
600
+
601
+        dbDelta( $schema );
602
+        wp_cache_flush();
603
+        update_option( 'getpaid_db_schema', md5( self::get_db_schema() ) );
604
+    }
605
+
606
+    /**
607
+     * Creates tables if schema is not up to date.
608
+     */
609
+    public static function maybe_create_db_tables() {
610
+        if ( ! self::is_db_schema_up_to_date() ) {
611
+            self::create_db_tables();
612
+        }
613
+    }
614 614
 }
Please login to merge, or discard this patch.
includes/user-functions.php 2 patches
Indentation   +88 added lines, -88 removed lines patch added patch discarded remove patch
@@ -19,28 +19,28 @@  discard block
 block discarded – undo
19 19
  */
20 20
 function getpaid_get_customers( $args = array(), $return = 'results' ) {
21 21
 
22
-	// Do not retrieve all fields if we just want the count.
23
-	if ( 'count' === $return ) {
24
-		$args['fields'] = 'id';
25
-		$args['number'] = 1;
26
-	}
22
+    // Do not retrieve all fields if we just want the count.
23
+    if ( 'count' === $return ) {
24
+        $args['fields'] = 'id';
25
+        $args['number'] = 1;
26
+    }
27 27
 
28
-	// Do not count all matches if we just want the results.
29
-	if ( 'results' === $return ) {
30
-		$args['count_total'] = false;
31
-	}
28
+    // Do not count all matches if we just want the results.
29
+    if ( 'results' === $return ) {
30
+        $args['count_total'] = false;
31
+    }
32 32
 
33
-	$query = new GetPaid_Customers_Query( $args );
33
+    $query = new GetPaid_Customers_Query( $args );
34 34
 
35
-	if ( 'results' === $return ) {
36
-		return $query->get_results();
37
-	}
35
+    if ( 'results' === $return ) {
36
+        return $query->get_results();
37
+    }
38 38
 
39
-	if ( 'count' === $return ) {
40
-		return $query->get_total();
41
-	}
39
+    if ( 'count' === $return ) {
40
+        return $query->get_total();
41
+    }
42 42
 
43
-	return $query;
43
+    return $query;
44 44
 }
45 45
 
46 46
 /**
@@ -106,11 +106,11 @@  discard block
 block discarded – undo
106 106
  */
107 107
 function wpinv_get_capability( $capalibilty = 'manage_invoicing' ) {
108 108
 
109
-	if ( current_user_can( 'manage_options' ) ) {
110
-		return 'manage_options';
111
-	};
109
+    if ( current_user_can( 'manage_options' ) ) {
110
+        return 'manage_options';
111
+    };
112 112
 
113
-	return $capalibilty;
113
+    return $capalibilty;
114 114
 }
115 115
 
116 116
 /**
@@ -133,9 +133,9 @@  discard block
 block discarded – undo
133 133
  * @return bool Whether the current user has the given capability.
134 134
  */
135 135
 function wpinv_current_user_can( $capability, $args = array() ) {
136
-	$can = wpinv_current_user_can_manage_invoicing();
136
+    $can = wpinv_current_user_can_manage_invoicing();
137 137
 
138
-	return apply_filters( 'getpaid_current_user_can', $can, $capability, $args );
138
+    return apply_filters( 'getpaid_current_user_can', $can, $capability, $args );
139 139
 }
140 140
 
141 141
 /**
@@ -149,10 +149,10 @@  discard block
 block discarded – undo
149 149
     // Prepare user values.
150 150
     $prefix = preg_replace( '/\s+/', '', $prefix );
151 151
     $prefix = empty( $prefix ) ? $email : $prefix;
152
-	$args   = array(
153
-		'user_login' => wpinv_generate_user_name( $prefix ),
154
-		'user_pass'  => wp_generate_password(),
155
-		'user_email' => $email,
152
+    $args   = array(
153
+        'user_login' => wpinv_generate_user_name( $prefix ),
154
+        'user_pass'  => wp_generate_password(),
155
+        'user_email' => $email,
156 156
         'role'       => 'subscriber',
157 157
     );
158 158
 
@@ -169,16 +169,16 @@  discard block
 block discarded – undo
169 169
 function wpinv_generate_user_name( $prefix = '' ) {
170 170
 
171 171
     // If prefix is an email, retrieve the part before the email.
172
-	$prefix = strtok( $prefix, '@' );
172
+    $prefix = strtok( $prefix, '@' );
173 173
     $prefix = trim( $prefix, '.' );
174 174
 
175
-	// Sanitize the username.
176
-	$prefix = sanitize_user( $prefix, true );
175
+    // Sanitize the username.
176
+    $prefix = sanitize_user( $prefix, true );
177 177
 
178
-	$illegal_logins = (array) apply_filters( 'illegal_user_logins', array() );
179
-	if ( empty( $prefix ) || in_array( strtolower( $prefix ), array_map( 'strtolower', $illegal_logins ), true ) ) {
180
-		$prefix = 'gtp_' . zeroise( wp_rand( 0, 9999 ), 4 );
181
-	}
178
+    $illegal_logins = (array) apply_filters( 'illegal_user_logins', array() );
179
+    if ( empty( $prefix ) || in_array( strtolower( $prefix ), array_map( 'strtolower', $illegal_logins ), true ) ) {
180
+        $prefix = 'gtp_' . zeroise( wp_rand( 0, 9999 ), 4 );
181
+    }
182 182
 
183 183
     $username = $prefix;
184 184
     $postfix  = 2;
@@ -317,43 +317,43 @@  discard block
 block discarded – undo
317 317
 
318 318
                         $value = $customer->get( $key );
319 319
 
320
-					// Display the country.
321
-					if ( 'country' == $key ) {
322
-
323
-						aui()->select(
324
-							array(
325
-								'options'     => wpinv_get_country_list(),
326
-								'name'        => 'getpaid_address[' . esc_attr( $key ) . ']',
327
-								'id'          => 'wpinv-' . sanitize_html_class( $key ),
328
-								'value'       => sanitize_text_field( $value ),
329
-								'placeholder' => $label,
330
-								'label'       => wp_kses_post( $label ),
331
-								'label_type'  => 'vertical',
332
-								'class'       => 'getpaid-address-field',
320
+                    // Display the country.
321
+                    if ( 'country' == $key ) {
322
+
323
+                        aui()->select(
324
+                            array(
325
+                                'options'     => wpinv_get_country_list(),
326
+                                'name'        => 'getpaid_address[' . esc_attr( $key ) . ']',
327
+                                'id'          => 'wpinv-' . sanitize_html_class( $key ),
328
+                                'value'       => sanitize_text_field( $value ),
329
+                                'placeholder' => $label,
330
+                                'label'       => wp_kses_post( $label ),
331
+                                'label_type'  => 'vertical',
332
+                                'class'       => 'getpaid-address-field',
333 333
                             ),
334 334
                             true
335
-						);
335
+                        );
336 336
 
337
-					}
337
+                    }
338 338
 
339
-					// Display the state.
340
-					elseif ( 'state' == $key ) {
339
+                    // Display the state.
340
+                    elseif ( 'state' == $key ) {
341 341
 
342
-						getpaid_get_states_select_markup(
342
+                        getpaid_get_states_select_markup(
343 343
                             $customer->get( 'country' ),
344
-							$value,
345
-							$label,
346
-							$label,
347
-							'',
348
-							false,
349
-							'',
350
-							'getpaid_address[' . esc_attr( $key ) . ']',
344
+                            $value,
345
+                            $label,
346
+                            $label,
347
+                            '',
348
+                            false,
349
+                            '',
350
+                            'getpaid_address[' . esc_attr( $key ) . ']',
351 351
                             true
352
-						);
352
+                        );
353 353
 
354 354
                         } else {
355 355
 
356
-						aui()->input(
356
+                        aui()->input(
357 357
                             array(
358 358
                                 'name'        => 'getpaid_address[' . esc_attr( $key ) . ']',
359 359
                                 'id'          => 'wpinv-' . sanitize_html_class( $key ),
@@ -365,7 +365,7 @@  discard block
 block discarded – undo
365 365
                                 'class'       => 'getpaid-address-field',
366 366
                             ),
367 367
                             true
368
-						);
368
+                        );
369 369
 
370 370
                         }
371 371
                     }
@@ -509,7 +509,7 @@  discard block
 block discarded – undo
509 509
 function getpaid_allowed_html() {
510 510
     $allowed_html = wp_kses_allowed_html( 'post' );
511 511
 
512
-	// form fields
512
+    // form fields
513 513
     $allowed_html['form'] = array(
514 514
         'action'         => true,
515 515
         'accept'         => true,
@@ -521,12 +521,12 @@  discard block
 block discarded – undo
521 521
     );
522 522
 
523 523
     // - input
524
-	$allowed_html['input'] = array(
525
-		'class'        => array(),
526
-		'id'           => array(),
527
-		'name'         => array(),
528
-		'value'        => array(),
529
-		'type'         => array(),
524
+    $allowed_html['input'] = array(
525
+        'class'        => array(),
526
+        'id'           => array(),
527
+        'name'         => array(),
528
+        'value'        => array(),
529
+        'type'         => array(),
530 530
         'placeholder'  => array(),
531 531
         'autocomplete' => array(),
532 532
         'autofocus'    => array(),
@@ -540,33 +540,33 @@  discard block
 block discarded – undo
540 540
         'max'          => array(),
541 541
         'step'         => array(),
542 542
         'size'         => array(),
543
-	);
543
+    );
544 544
 
545 545
     // - input
546
-	$allowed_html['textarea'] = array(
547
-		'class' => array(),
548
-		'id'    => array(),
549
-		'name'  => array(),
550
-		'value' => array(),
551
-	);
552
-
553
-	// select
554
-	$allowed_html['select'] = array(
555
-		'class'        => array(),
556
-		'id'           => array(),
557
-		'name'         => array(),
546
+    $allowed_html['textarea'] = array(
547
+        'class' => array(),
548
+        'id'    => array(),
549
+        'name'  => array(),
550
+        'value' => array(),
551
+    );
552
+
553
+    // select
554
+    $allowed_html['select'] = array(
555
+        'class'        => array(),
556
+        'id'           => array(),
557
+        'name'         => array(),
558 558
         'autocomplete' => array(),
559 559
         'multiple'     => array(),
560
-	);
560
+    );
561 561
 
562
-	// select options
563
-	$allowed_html['option'] = array(
564
-		'selected' => array(),
562
+    // select options
563
+    $allowed_html['option'] = array(
564
+        'selected' => array(),
565 565
         'disabled' => array(),
566 566
         'value'    => array(),
567
-	);
567
+    );
568 568
 
569
-	return $allowed_html;
569
+    return $allowed_html;
570 570
 
571 571
 }
572 572
 
Please login to merge, or discard this patch.
Spacing   +150 added lines, -150 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  * @package GetPaid
7 7
  */
8 8
 
9
-defined( 'ABSPATH' ) || exit;
9
+defined('ABSPATH') || exit;
10 10
 
11 11
 /**
12 12
  * Queries the customers database.
@@ -17,26 +17,26 @@  discard block
 block discarded – undo
17 17
  *
18 18
  * @return int|array|GetPaid_Customer[]|GetPaid_Customers_Query
19 19
  */
20
-function getpaid_get_customers( $args = array(), $return = 'results' ) {
20
+function getpaid_get_customers($args = array(), $return = 'results') {
21 21
 
22 22
 	// Do not retrieve all fields if we just want the count.
23
-	if ( 'count' === $return ) {
23
+	if ('count' === $return) {
24 24
 		$args['fields'] = 'id';
25 25
 		$args['number'] = 1;
26 26
 	}
27 27
 
28 28
 	// Do not count all matches if we just want the results.
29
-	if ( 'results' === $return ) {
29
+	if ('results' === $return) {
30 30
 		$args['count_total'] = false;
31 31
 	}
32 32
 
33
-	$query = new GetPaid_Customers_Query( $args );
33
+	$query = new GetPaid_Customers_Query($args);
34 34
 
35
-	if ( 'results' === $return ) {
35
+	if ('results' === $return) {
36 36
 		return $query->get_results();
37 37
 	}
38 38
 
39
-	if ( 'count' === $return ) {
39
+	if ('count' === $return) {
40 40
 		return $query->get_total();
41 41
 	}
42 42
 
@@ -49,19 +49,19 @@  discard block
 block discarded – undo
49 49
  * @param int|string|object|GetPaid_Customer $customer customer id, email or object.
50 50
  * @return GetPaid_Customer|null
51 51
  */
52
-function getpaid_get_customer( $customer ) {
52
+function getpaid_get_customer($customer) {
53 53
 
54
-    if ( empty( $customer ) ) {
54
+    if (empty($customer)) {
55 55
         return null;
56 56
     }
57 57
 
58 58
     // Retrieve the customer.
59
-    if ( ! is_a( $customer, 'GetPaid_Customer' ) ) {
60
-        $customer = new GetPaid_Customer( $customer );
59
+    if (!is_a($customer, 'GetPaid_Customer')) {
60
+        $customer = new GetPaid_Customer($customer);
61 61
     }
62 62
 
63 63
     // Check if it exists.
64
-    if ( $customer->exists() ) {
64
+    if ($customer->exists()) {
65 65
         return $customer;
66 66
     }
67 67
 
@@ -74,9 +74,9 @@  discard block
 block discarded – undo
74 74
  * @return GetPaid_Customer|null
75 75
  * @since 1.0.0
76 76
  */
77
-function getpaid_get_customer_by_user_id( $user_id ) {
77
+function getpaid_get_customer_by_user_id($user_id) {
78 78
     return getpaid_get_customer(
79
-        GetPaid_Customer::get_customer_id_by( $user_id, 'user_id' )
79
+        GetPaid_Customer::get_customer_id_by($user_id, 'user_id')
80 80
     );
81 81
 }
82 82
 
@@ -88,13 +88,13 @@  discard block
 block discarded – undo
88 88
  * @param array $args
89 89
  * @see wp_dropdown_users
90 90
  */
91
-function wpinv_dropdown_users( $args = '' ) {
91
+function wpinv_dropdown_users($args = '') {
92 92
 
93
-    if ( is_array( $args ) && ! empty( $args['show'] ) && 'display_name_with_email' == $args['show'] ) {
93
+    if (is_array($args) && !empty($args['show']) && 'display_name_with_email' == $args['show']) {
94 94
         $args['show'] = 'display_name_with_login';
95 95
     }
96 96
 
97
-    return wp_dropdown_users( $args );
97
+    return wp_dropdown_users($args);
98 98
 }
99 99
 
100 100
 /**
@@ -104,9 +104,9 @@  discard block
 block discarded – undo
104 104
  * @return string capability to check against
105 105
  * @param string $capalibilty Optional. The alternative capability to check against.
106 106
  */
107
-function wpinv_get_capability( $capalibilty = 'manage_invoicing' ) {
107
+function wpinv_get_capability($capalibilty = 'manage_invoicing') {
108 108
 
109
-	if ( current_user_can( 'manage_options' ) ) {
109
+	if (current_user_can('manage_options')) {
110 110
 		return 'manage_options';
111 111
 	};
112 112
 
@@ -120,7 +120,7 @@  discard block
 block discarded – undo
120 120
  * @return bool
121 121
  */
122 122
 function wpinv_current_user_can_manage_invoicing() {
123
-    return current_user_can( wpinv_get_capability() );
123
+    return current_user_can(wpinv_get_capability());
124 124
 }
125 125
 
126 126
 /**
@@ -132,10 +132,10 @@  discard block
 block discarded – undo
132 132
  * @param mixed  $args    Optional further parameters, typically starting with an object.
133 133
  * @return bool Whether the current user has the given capability.
134 134
  */
135
-function wpinv_current_user_can( $capability, $args = array() ) {
135
+function wpinv_current_user_can($capability, $args = array()) {
136 136
 	$can = wpinv_current_user_can_manage_invoicing();
137 137
 
138
-	return apply_filters( 'getpaid_current_user_can', $can, $capability, $args );
138
+	return apply_filters('getpaid_current_user_can', $can, $capability, $args);
139 139
 }
140 140
 
141 141
 /**
@@ -144,19 +144,19 @@  discard block
 block discarded – undo
144 144
  * @since 1.0.19
145 145
  * @return int|WP_Error
146 146
  */
147
-function wpinv_create_user( $email, $prefix = '' ) {
147
+function wpinv_create_user($email, $prefix = '') {
148 148
 
149 149
     // Prepare user values.
150
-    $prefix = preg_replace( '/\s+/', '', $prefix );
151
-    $prefix = empty( $prefix ) ? $email : $prefix;
152
-	$args   = array(
153
-		'user_login' => wpinv_generate_user_name( $prefix ),
150
+    $prefix = preg_replace('/\s+/', '', $prefix);
151
+    $prefix = empty($prefix) ? $email : $prefix;
152
+	$args = array(
153
+		'user_login' => wpinv_generate_user_name($prefix),
154 154
 		'user_pass'  => wp_generate_password(),
155 155
 		'user_email' => $email,
156 156
         'role'       => 'subscriber',
157 157
     );
158 158
 
159
-    return wp_insert_user( $args );
159
+    return wp_insert_user($args);
160 160
 
161 161
 }
162 162
 
@@ -166,26 +166,26 @@  discard block
 block discarded – undo
166 166
  * @since 1.0.19
167 167
  * @return bool|WP_User
168 168
  */
169
-function wpinv_generate_user_name( $prefix = '' ) {
169
+function wpinv_generate_user_name($prefix = '') {
170 170
 
171 171
     // If prefix is an email, retrieve the part before the email.
172
-	$prefix = strtok( $prefix, '@' );
173
-    $prefix = trim( $prefix, '.' );
172
+	$prefix = strtok($prefix, '@');
173
+    $prefix = trim($prefix, '.');
174 174
 
175 175
 	// Sanitize the username.
176
-	$prefix = sanitize_user( $prefix, true );
176
+	$prefix = sanitize_user($prefix, true);
177 177
 
178
-	$illegal_logins = (array) apply_filters( 'illegal_user_logins', array() );
179
-	if ( empty( $prefix ) || in_array( strtolower( $prefix ), array_map( 'strtolower', $illegal_logins ), true ) ) {
180
-		$prefix = 'gtp_' . zeroise( wp_rand( 0, 9999 ), 4 );
178
+	$illegal_logins = (array) apply_filters('illegal_user_logins', array());
179
+	if (empty($prefix) || in_array(strtolower($prefix), array_map('strtolower', $illegal_logins), true)) {
180
+		$prefix = 'gtp_' . zeroise(wp_rand(0, 9999), 4);
181 181
 	}
182 182
 
183 183
     $username = $prefix;
184 184
     $postfix  = 2;
185 185
 
186
-    while ( username_exists( $username ) ) {
186
+    while (username_exists($username)) {
187 187
         $username = "{$prefix}{$postfix}";
188
-        $postfix ++;
188
+        $postfix++;
189 189
     }
190 190
 
191 191
     return $username;
@@ -202,31 +202,31 @@  discard block
 block discarded – undo
202 202
     $tabs = array(
203 203
 
204 204
         'gp-invoices'      => array(
205
-            'label'   => __( 'Invoices', 'invoicing' ), // Name of the tab.
205
+            'label'   => __('Invoices', 'invoicing'), // Name of the tab.
206 206
             'content' => '[wpinv_history]', // Content of the tab. Or specify "callback" to provide a callback instead.
207 207
             'icon'    => 'fas fa-file-invoice', // Shown on some profile plugins.
208 208
         ),
209 209
 
210 210
         'gp-subscriptions' => array(
211
-            'label'   => __( 'Subscriptions', 'invoicing' ),
211
+            'label'   => __('Subscriptions', 'invoicing'),
212 212
             'content' => '[wpinv_subscriptions]',
213 213
             'icon'    => 'fas fa-redo',
214 214
         ),
215 215
 
216 216
         'gp-edit-address'  => array(
217
-            'label'    => __( 'Billing Address', 'invoicing' ),
217
+            'label'    => __('Billing Address', 'invoicing'),
218 218
             'callback' => 'getpaid_display_address_edit_tab',
219 219
             'icon'     => 'fas fa-credit-card',
220 220
         ),
221 221
 
222 222
     );
223 223
 
224
-    $tabs = apply_filters( 'getpaid_user_content_tabs', $tabs );
224
+    $tabs = apply_filters('getpaid_user_content_tabs', $tabs);
225 225
 
226 226
     // Make sure address editing is last on the list.
227
-    if ( isset( $tabs['gp-edit-address'] ) ) {
227
+    if (isset($tabs['gp-edit-address'])) {
228 228
         $address = $tabs['gp-edit-address'];
229
-        unset( $tabs['gp-edit-address'] );
229
+        unset($tabs['gp-edit-address']);
230 230
         $tabs['gp-edit-address'] = $address;
231 231
     }
232 232
 
@@ -240,19 +240,19 @@  discard block
 block discarded – undo
240 240
  * @param array $tab
241 241
  * @return array
242 242
  */
243
-function getpaid_prepare_user_content_tab( $tab ) {
243
+function getpaid_prepare_user_content_tab($tab) {
244 244
 
245
-    if ( ! empty( $tab['callback'] ) ) {
246
-        return call_user_func( $tab['callback'] );
245
+    if (!empty($tab['callback'])) {
246
+        return call_user_func($tab['callback']);
247 247
     }
248 248
 
249
-    if ( ! empty( $tab['content'] ) ) {
250
-        return convert_smilies( capital_P_dangit( wp_filter_content_tags( do_shortcode( shortcode_unautop( wpautop( wptexturize( do_blocks( $tab['content'] ) ) ) ) ) ) ) );
249
+    if (!empty($tab['content'])) {
250
+        return convert_smilies(capital_P_dangit(wp_filter_content_tags(do_shortcode(shortcode_unautop(wpautop(wptexturize(do_blocks($tab['content']))))))));
251 251
     }
252 252
 
253 253
     $notice = aui()->alert(
254 254
         array(
255
-            'content' => __( 'This tab has no content or content callback.', 'invoicing' ),
255
+            'content' => __('This tab has no content or content callback.', 'invoicing'),
256 256
             'type'    => 'error',
257 257
         )
258 258
     );
@@ -268,14 +268,14 @@  discard block
 block discarded – undo
268 268
  * @param string $default
269 269
  * @return array
270 270
  */
271
-function getpaid_get_tab_url( $tab, $default ) {
271
+function getpaid_get_tab_url($tab, $default) {
272 272
     global $getpaid_tab_url;
273 273
 
274
-    if ( empty( $getpaid_tab_url ) ) {
274
+    if (empty($getpaid_tab_url)) {
275 275
         return $default;
276 276
     }
277 277
 
278
-    return sprintf( $getpaid_tab_url, $tab );
278
+    return sprintf($getpaid_tab_url, $tab);
279 279
 
280 280
 }
281 281
 
@@ -287,21 +287,21 @@  discard block
 block discarded – undo
287 287
  */
288 288
 function getpaid_display_address_edit_tab() {
289 289
 
290
-    if ( 0 === get_current_user_id() ) {
290
+    if (0 === get_current_user_id()) {
291 291
         return '<div class="bsui">' . aui()->alert(
292 292
             array(
293 293
                 'type'        => 'error',
294
-                'content'     => __( 'Your must be logged in to view this section', 'invoicing' ),
294
+                'content'     => __('Your must be logged in to view this section', 'invoicing'),
295 295
                 'dismissible' => false,
296 296
             )
297 297
         ) . '</div>';
298 298
     }
299 299
 
300
-    $customer = getpaid_get_customer_by_user_id( get_current_user_id() );
300
+    $customer = getpaid_get_customer_by_user_id(get_current_user_id());
301 301
 
302
-    if ( empty( $customer ) ) {
303
-        $customer = new GetPaid_Customer( 0 );
304
-        $customer->clone_user( get_current_user_id() );
302
+    if (empty($customer)) {
303
+        $customer = new GetPaid_Customer(0);
304
+        $customer->clone_user(get_current_user_id());
305 305
         $customer->save();
306 306
     }
307 307
 
@@ -313,21 +313,21 @@  discard block
 block discarded – undo
313 313
 
314 314
                 <?php
315 315
 
316
-                    foreach ( getpaid_user_address_fields() as $key => $label ) {
316
+                    foreach (getpaid_user_address_fields() as $key => $label) {
317 317
 
318
-                        $value = $customer->get( $key );
318
+                        $value = $customer->get($key);
319 319
 
320 320
 					// Display the country.
321
-					if ( 'country' == $key ) {
321
+					if ('country' == $key) {
322 322
 
323 323
 						aui()->select(
324 324
 							array(
325 325
 								'options'     => wpinv_get_country_list(),
326
-								'name'        => 'getpaid_address[' . esc_attr( $key ) . ']',
327
-								'id'          => 'wpinv-' . sanitize_html_class( $key ),
328
-								'value'       => sanitize_text_field( $value ),
326
+								'name'        => 'getpaid_address[' . esc_attr($key) . ']',
327
+								'id'          => 'wpinv-' . sanitize_html_class($key),
328
+								'value'       => sanitize_text_field($value),
329 329
 								'placeholder' => $label,
330
-								'label'       => wp_kses_post( $label ),
330
+								'label'       => wp_kses_post($label),
331 331
 								'label_type'  => 'vertical',
332 332
 								'class'       => 'getpaid-address-field',
333 333
                             ),
@@ -337,17 +337,17 @@  discard block
 block discarded – undo
337 337
 					}
338 338
 
339 339
 					// Display the state.
340
-					elseif ( 'state' == $key ) {
340
+					elseif ('state' == $key) {
341 341
 
342 342
 						getpaid_get_states_select_markup(
343
-                            $customer->get( 'country' ),
343
+                            $customer->get('country'),
344 344
 							$value,
345 345
 							$label,
346 346
 							$label,
347 347
 							'',
348 348
 							false,
349 349
 							'',
350
-							'getpaid_address[' . esc_attr( $key ) . ']',
350
+							'getpaid_address[' . esc_attr($key) . ']',
351 351
                             true
352 352
 						);
353 353
 
@@ -355,13 +355,13 @@  discard block
 block discarded – undo
355 355
 
356 356
 						aui()->input(
357 357
                             array(
358
-                                'name'        => 'getpaid_address[' . esc_attr( $key ) . ']',
359
-                                'id'          => 'wpinv-' . sanitize_html_class( $key ),
358
+                                'name'        => 'getpaid_address[' . esc_attr($key) . ']',
359
+                                'id'          => 'wpinv-' . sanitize_html_class($key),
360 360
                                 'placeholder' => $label,
361
-                                'label'       => wp_kses_post( $label ),
361
+                                'label'       => wp_kses_post($label),
362 362
                                 'label_type'  => 'vertical',
363 363
                                 'type'        => 'text',
364
-                                'value'       => sanitize_text_field( $value ),
364
+                                'value'       => sanitize_text_field($value),
365 365
                                 'class'       => 'getpaid-address-field',
366 366
                             ),
367 367
                             true
@@ -375,32 +375,32 @@  discard block
 block discarded – undo
375 375
                             'name'        => 'getpaid_address[email_cc]',
376 376
                             'id'          => 'wpinv-email_cc',
377 377
                             'placeholder' => '[email protected], [email protected]',
378
-                            'label'       => __( 'Other email addresses', 'invoicing' ),
378
+                            'label'       => __('Other email addresses', 'invoicing'),
379 379
                             'label_type'  => 'vertical',
380 380
                             'type'        => 'text',
381
-                            'value'       => sanitize_text_field( $customer->get( 'email_cc' ) ),
381
+                            'value'       => sanitize_text_field($customer->get('email_cc')),
382 382
                             'class'       => 'getpaid-address-field',
383
-                            'help_text'   => __( 'Optionally provide other email addresses where we should send payment notifications', 'invoicing' ),
383
+                            'help_text'   => __('Optionally provide other email addresses where we should send payment notifications', 'invoicing'),
384 384
                         ),
385 385
                         true
386 386
                     );
387 387
 
388
-                    do_action( 'getpaid_display_address_edit_tab' );
388
+                    do_action('getpaid_display_address_edit_tab');
389 389
 
390 390
                     aui()->input(
391 391
                         array(
392 392
                             'name'      => 'getpaid_profile_edit_submit_button',
393 393
                             'id'        => 'getpaid_profile_edit_submit_button',
394
-                            'value'     => __( 'Save Address', 'invoicing' ),
395
-                            'help_text' => __( 'New invoices will use this address as the billing address.', 'invoicing' ),
394
+                            'value'     => __('Save Address', 'invoicing'),
395
+                            'help_text' => __('New invoices will use this address as the billing address.', 'invoicing'),
396 396
                             'type'      => 'submit',
397 397
                             'class'     => 'btn btn-primary btn-block submit-button',
398 398
                         ),
399 399
                         true
400 400
                     );
401 401
 
402
-                    wp_nonce_field( 'getpaid-nonce', 'getpaid-nonce' );
403
-                    getpaid_hidden_field( 'getpaid-action', 'edit_billing_details' );
402
+                    wp_nonce_field('getpaid-nonce', 'getpaid-nonce');
403
+                    getpaid_hidden_field('getpaid-action', 'edit_billing_details');
404 404
                 ?>
405 405
 
406 406
             </form>
@@ -410,7 +410,7 @@  discard block
 block discarded – undo
410 410
 
411 411
     return ob_get_clean();
412 412
 }
413
-add_shortcode( 'getpaid_edit_address', 'getpaid_display_address_edit_tab' );
413
+add_shortcode('getpaid_edit_address', 'getpaid_display_address_edit_tab');
414 414
 
415 415
 /**
416 416
  * Saves the billing address edit tab.
@@ -418,35 +418,35 @@  discard block
 block discarded – undo
418 418
  * @since 2.1.4
419 419
  * @param array $data
420 420
  */
421
-function getpaid_save_address_edit_tab( $data ) {
421
+function getpaid_save_address_edit_tab($data) {
422 422
 
423
-    if ( empty( $data['getpaid_address'] ) || ! is_array( $data['getpaid_address'] ) ) {
423
+    if (empty($data['getpaid_address']) || !is_array($data['getpaid_address'])) {
424 424
         return;
425 425
     }
426 426
 
427 427
     $data     = $data['getpaid_address'];
428
-    $customer = getpaid_get_customer_by_user_id( get_current_user_id() );
428
+    $customer = getpaid_get_customer_by_user_id(get_current_user_id());
429 429
 
430
-    if ( empty( $customer ) ) {
431
-        $customer = new GetPaid_Customer( 0 );
432
-        $customer->clone_user( get_current_user_id() );
430
+    if (empty($customer)) {
431
+        $customer = new GetPaid_Customer(0);
432
+        $customer->clone_user(get_current_user_id());
433 433
     }
434 434
 
435
-    foreach ( array_keys( getpaid_user_address_fields() ) as $field ) {
435
+    foreach (array_keys(getpaid_user_address_fields()) as $field) {
436 436
 
437
-        if ( isset( $data[ $field ] ) ) {
438
-            $customer->set( $field, sanitize_text_field( $data[ $field ] ) );
437
+        if (isset($data[$field])) {
438
+            $customer->set($field, sanitize_text_field($data[$field]));
439 439
         }
440 440
     }
441 441
 
442
-    if ( isset( $data['email_cc'] ) ) {
443
-        $customer->set( 'email_cc', sanitize_text_field( $data['email_cc'] ) );
442
+    if (isset($data['email_cc'])) {
443
+        $customer->set('email_cc', sanitize_text_field($data['email_cc']));
444 444
     }
445 445
 
446 446
     $customer->save();
447
-    wpinv_set_error( 'address_updated' );
447
+    wpinv_set_error('address_updated');
448 448
 }
449
-add_action( 'getpaid_authenticated_action_edit_billing_details', 'getpaid_save_address_edit_tab' );
449
+add_action('getpaid_authenticated_action_edit_billing_details', 'getpaid_save_address_edit_tab');
450 450
 
451 451
 
452 452
 /*
@@ -464,27 +464,27 @@  discard block
 block discarded – undo
464 464
  * @param  array $tabs
465 465
  * @return array
466 466
  */
467
-function getpaid_filter_userswp_account_tabs( $tabs ) {
467
+function getpaid_filter_userswp_account_tabs($tabs) {
468 468
 
469 469
     // Abort if the integration is inactive.
470
-    if ( ! getpaid_is_userswp_integration_active() ) {
470
+    if (!getpaid_is_userswp_integration_active()) {
471 471
         return $tabs;
472 472
     }
473 473
 
474
-    $new_tabs   = array();
474
+    $new_tabs = array();
475 475
 
476
-    foreach ( getpaid_get_user_content_tabs() as $slug => $tab ) {
476
+    foreach (getpaid_get_user_content_tabs() as $slug => $tab) {
477 477
 
478
-        $new_tabs[ $slug ] = array(
478
+        $new_tabs[$slug] = array(
479 479
             'title' => $tab['label'],
480 480
             'icon'  => $tab['icon'],
481 481
         );
482 482
 
483 483
     }
484 484
 
485
-    return array_merge( $tabs, $new_tabs );
485
+    return array_merge($tabs, $new_tabs);
486 486
 }
487
-add_filter( 'uwp_account_available_tabs', 'getpaid_filter_userswp_account_tabs' );
487
+add_filter('uwp_account_available_tabs', 'getpaid_filter_userswp_account_tabs');
488 488
 
489 489
 /**
490 490
  * Display our UsersWP account tabs.
@@ -493,21 +493,21 @@  discard block
 block discarded – undo
493 493
  * @param  array $tabs
494 494
  * @return array
495 495
  */
496
-function getpaid_display_userswp_account_tabs( $tab ) {
496
+function getpaid_display_userswp_account_tabs($tab) {
497 497
     global $getpaid_tab_url;
498 498
 
499 499
     $our_tabs = getpaid_get_user_content_tabs();
500 500
 
501
-    if ( getpaid_is_userswp_integration_active() && isset( $our_tabs[ $tab ] ) ) {
502
-        $getpaid_tab_url = add_query_arg( 'type', '%s', uwp_get_account_page_url() );
503
-        echo wp_kses( getpaid_prepare_user_content_tab( $our_tabs[ $tab ] ), getpaid_allowed_html() );
501
+    if (getpaid_is_userswp_integration_active() && isset($our_tabs[$tab])) {
502
+        $getpaid_tab_url = add_query_arg('type', '%s', uwp_get_account_page_url());
503
+        echo wp_kses(getpaid_prepare_user_content_tab($our_tabs[$tab]), getpaid_allowed_html());
504 504
     }
505 505
 
506 506
 }
507
-add_action( 'uwp_account_form_display', 'getpaid_display_userswp_account_tabs' );
507
+add_action('uwp_account_form_display', 'getpaid_display_userswp_account_tabs');
508 508
 
509 509
 function getpaid_allowed_html() {
510
-    $allowed_html = wp_kses_allowed_html( 'post' );
510
+    $allowed_html = wp_kses_allowed_html('post');
511 511
 
512 512
 	// form fields
513 513
     $allowed_html['form'] = array(
@@ -578,17 +578,17 @@  discard block
 block discarded – undo
578 578
  * @param  string $tab   Current tab.
579 579
  * @return string Title.
580 580
  */
581
-function getpaid_filter_userswp_account_title( $title, $tab ) {
581
+function getpaid_filter_userswp_account_title($title, $tab) {
582 582
 
583
-    $our_tabs   = getpaid_get_user_content_tabs();
583
+    $our_tabs = getpaid_get_user_content_tabs();
584 584
 
585
-    if ( getpaid_is_userswp_integration_active() && isset( $our_tabs[ $tab ] ) ) {
586
-        return $our_tabs[ $tab ]['label'];
585
+    if (getpaid_is_userswp_integration_active() && isset($our_tabs[$tab])) {
586
+        return $our_tabs[$tab]['label'];
587 587
     }
588 588
 
589 589
     return $title;
590 590
 }
591
-add_filter( 'uwp_account_page_title', 'getpaid_filter_userswp_account_title', 10, 2 );
591
+add_filter('uwp_account_page_title', 'getpaid_filter_userswp_account_title', 10, 2);
592 592
 
593 593
 /**
594 594
  * Registers the UsersWP integration settings.
@@ -597,26 +597,26 @@  discard block
 block discarded – undo
597 597
  * @param  array $settings An array of integration settings.
598 598
  * @return array
599 599
  */
600
-function getpaid_register_userswp_settings( $settings ) {
600
+function getpaid_register_userswp_settings($settings) {
601 601
 
602
-    if ( defined( 'USERSWP_PLUGIN_FILE' ) ) {
602
+    if (defined('USERSWP_PLUGIN_FILE')) {
603 603
 
604 604
         $settings[] = array(
605 605
 
606 606
             'id'       => 'userswp',
607
-            'label'    => __( 'UsersWP', 'invoicing' ),
607
+            'label'    => __('UsersWP', 'invoicing'),
608 608
             'settings' => array(
609 609
 
610 610
                 'userswp_settings' => array(
611 611
                     'id'   => 'userswp_settings',
612
-                    'name' => '<h3>' . __( 'UsersWP', 'invoicing' ) . '</h3>',
612
+                    'name' => '<h3>' . __('UsersWP', 'invoicing') . '</h3>',
613 613
                     'type' => 'header',
614 614
                 ),
615 615
 
616 616
                 'enable_userswp'   => array(
617 617
                     'id'   => 'enable_userswp',
618
-                    'name' => __( 'Enable Integration', 'invoicing' ),
619
-                    'desc' => __( 'Display GetPaid items on UsersWP account page.', 'invoicing' ),
618
+                    'name' => __('Enable Integration', 'invoicing'),
619
+                    'desc' => __('Display GetPaid items on UsersWP account page.', 'invoicing'),
620 620
                     'type' => 'checkbox',
621 621
                     'std'  => 1,
622 622
                 ),
@@ -629,7 +629,7 @@  discard block
 block discarded – undo
629 629
 
630 630
     return $settings;
631 631
 }
632
-add_filter( 'getpaid_integration_settings', 'getpaid_register_userswp_settings' );
632
+add_filter('getpaid_integration_settings', 'getpaid_register_userswp_settings');
633 633
 
634 634
 /**
635 635
  * Ovewrites the invoices history page to UsersWP.
@@ -637,18 +637,18 @@  discard block
 block discarded – undo
637 637
  * @since  2.3.1
638 638
  * @return bool
639 639
  */
640
-function getpaid_userswp_overwrite_invoice_history_page( $url, $post_type ) {
640
+function getpaid_userswp_overwrite_invoice_history_page($url, $post_type) {
641 641
 
642 642
     $our_tabs = getpaid_get_user_content_tabs();
643 643
     $tab      = "gp-{$post_type}s";
644
-    if ( getpaid_is_userswp_integration_active() && isset( $our_tabs[ $tab ] ) ) {
645
-        return add_query_arg( 'type', $tab, uwp_get_account_page_url() );
644
+    if (getpaid_is_userswp_integration_active() && isset($our_tabs[$tab])) {
645
+        return add_query_arg('type', $tab, uwp_get_account_page_url());
646 646
     }
647 647
 
648 648
     return $url;
649 649
 
650 650
 }
651
-add_filter( 'wpinv_get_history_page_uri', 'getpaid_userswp_overwrite_invoice_history_page', 10, 2 );
651
+add_filter('wpinv_get_history_page_uri', 'getpaid_userswp_overwrite_invoice_history_page', 10, 2);
652 652
 
653 653
 /**
654 654
  * Checks if the integration is enabled.
@@ -657,8 +657,8 @@  discard block
 block discarded – undo
657 657
  * @return bool
658 658
  */
659 659
 function getpaid_is_userswp_integration_active() {
660
-    $enabled = wpinv_get_option( 'enable_userswp', 1 );
661
-    return defined( 'USERSWP_PLUGIN_FILE' ) && ! empty( $enabled );
660
+    $enabled = wpinv_get_option('enable_userswp', 1);
661
+    return defined('USERSWP_PLUGIN_FILE') && !empty($enabled);
662 662
 }
663 663
 
664 664
 /*
@@ -676,26 +676,26 @@  discard block
 block discarded – undo
676 676
  * @param  array $settings An array of integration settings.
677 677
  * @return array
678 678
  */
679
-function getpaid_register_buddypress_settings( $settings ) {
679
+function getpaid_register_buddypress_settings($settings) {
680 680
 
681
-    if ( class_exists( 'BuddyPress' ) ) {
681
+    if (class_exists('BuddyPress')) {
682 682
 
683 683
         $settings[] = array(
684 684
 
685 685
             'id'       => 'buddypress',
686
-            'label'    => __( 'BuddyPress', 'invoicing' ),
686
+            'label'    => __('BuddyPress', 'invoicing'),
687 687
             'settings' => array(
688 688
 
689 689
                 'buddypress_settings' => array(
690 690
                     'id'   => 'buddypress_settings',
691
-                    'name' => '<h3>' . __( 'BuddyPress', 'invoicing' ) . '</h3>',
691
+                    'name' => '<h3>' . __('BuddyPress', 'invoicing') . '</h3>',
692 692
                     'type' => 'header',
693 693
                 ),
694 694
 
695 695
                 'enable_buddypress'   => array(
696 696
                     'id'   => 'enable_buddypress',
697
-                    'name' => __( 'Enable Integration', 'invoicing' ),
698
-                    'desc' => __( 'Display GetPaid items on BuddyPress account pages.', 'invoicing' ),
697
+                    'name' => __('Enable Integration', 'invoicing'),
698
+                    'desc' => __('Display GetPaid items on BuddyPress account pages.', 'invoicing'),
699 699
                     'type' => 'checkbox',
700 700
                     'std'  => 1,
701 701
                 ),
@@ -708,7 +708,7 @@  discard block
 block discarded – undo
708 708
 
709 709
     return $settings;
710 710
 }
711
-add_filter( 'getpaid_integration_settings', 'getpaid_register_buddypress_settings' );
711
+add_filter('getpaid_integration_settings', 'getpaid_register_buddypress_settings');
712 712
 
713 713
 /**
714 714
  * Checks if the integration is enabled.
@@ -717,8 +717,8 @@  discard block
 block discarded – undo
717 717
  * @return bool
718 718
  */
719 719
 function getpaid_is_buddypress_integration_active() {
720
-    $enabled = wpinv_get_option( 'enable_buddypress', 1 );
721
-    return class_exists( 'BuddyPress' ) && ! empty( $enabled );
720
+    $enabled = wpinv_get_option('enable_buddypress', 1);
721
+    return class_exists('BuddyPress') && !empty($enabled);
722 722
 }
723 723
 
724 724
 /**
@@ -729,13 +729,13 @@  discard block
 block discarded – undo
729 729
  */
730 730
 function getpaid_setup_buddypress_integration() {
731 731
 
732
-    if ( getpaid_is_buddypress_integration_active() ) {
732
+    if (getpaid_is_buddypress_integration_active()) {
733 733
         require_once WPINV_PLUGIN_DIR . 'includes/class-bp-getpaid-component.php';
734 734
         buddypress()->getpaid = new BP_GetPaid_Component();
735 735
     }
736 736
 
737 737
 }
738
-add_action( 'bp_setup_components', 'getpaid_setup_buddypress_integration' );
738
+add_action('bp_setup_components', 'getpaid_setup_buddypress_integration');
739 739
 
740 740
 /**
741 741
  * Checks if a given user has purchased a given item.
@@ -744,10 +744,10 @@  discard block
 block discarded – undo
744 744
  * @param int $item_id The item id.
745 745
  * @return int The IDs of users who purchased the item.
746 746
  */
747
-function getpaid_user_ids_who_purchased_item( $item_id ) {
747
+function getpaid_user_ids_who_purchased_item($item_id) {
748 748
     global $wpdb;
749 749
 
750
-    if ( empty( $item_id ) ) {
750
+    if (empty($item_id)) {
751 751
         return false;
752 752
     }
753 753
 
@@ -760,7 +760,7 @@  discard block
 block discarded – undo
760 760
         )
761 761
     );
762 762
 
763
-    return wp_parse_id_list( $ids );
763
+    return wp_parse_id_list($ids);
764 764
 }
765 765
 
766 766
 /**
@@ -769,10 +769,10 @@  discard block
 block discarded – undo
769 769
  * @since 2.6.17
770 770
  * @param int $user_id The user id.
771 771
  */
772
-function getpaid_has_user_purchased_item( $user_id, $item_id ) {
772
+function getpaid_has_user_purchased_item($user_id, $item_id) {
773 773
     global $wpdb;
774 774
 
775
-    if ( empty( $user_id ) ) {
775
+    if (empty($user_id)) {
776 776
         return false;
777 777
     }
778 778
 
@@ -787,7 +787,7 @@  discard block
 block discarded – undo
787 787
         )
788 788
     );
789 789
 
790
-    return ! empty( $count );
790
+    return !empty($count);
791 791
 }
792 792
 
793 793
 /**
@@ -796,7 +796,7 @@  discard block
 block discarded – undo
796 796
  * @since 2.6.17
797 797
  * @param int $user_id The user id.
798 798
  */
799
-function getpaid_get_user_total_spend( $user_id ) {
799
+function getpaid_get_user_total_spend($user_id) {
800 800
     $args = array(
801 801
         'data'           => array(
802 802
 
@@ -811,17 +811,17 @@  discard block
 block discarded – undo
811 811
 
812 812
             'author' => array(
813 813
                 'type'     => 'post_data',
814
-                'value'    => absint( $user_id ),
814
+                'value'    => absint($user_id),
815 815
                 'key'      => 'posts.post_author',
816 816
                 'operator' => '=',
817 817
             ),
818 818
 
819 819
         ),
820 820
         'query_type'     => 'get_var',
821
-        'invoice_status' => array( 'wpi-renewal', 'wpi-processing', 'publish' ),
821
+        'invoice_status' => array('wpi-renewal', 'wpi-processing', 'publish'),
822 822
     );
823 823
 
824
-    return wpinv_round_amount( GetPaid_Reports_Helper::get_invoice_report_data( $args ) );
824
+    return wpinv_round_amount(GetPaid_Reports_Helper::get_invoice_report_data($args));
825 825
 }
826 826
 
827 827
 /**
@@ -830,7 +830,7 @@  discard block
 block discarded – undo
830 830
  * @since 2.6.17
831 831
  * @param int $user_id The user id.
832 832
  */
833
-function getpaid_count_user_invoices( $user_id ) {
833
+function getpaid_count_user_invoices($user_id) {
834 834
     $args = array(
835 835
         'data'           => array(
836 836
 
@@ -846,15 +846,15 @@  discard block
 block discarded – undo
846 846
 
847 847
             'author' => array(
848 848
                 'type'     => 'post_data',
849
-                'value'    => absint( $user_id ),
849
+                'value'    => absint($user_id),
850 850
                 'key'      => 'posts.post_author',
851 851
                 'operator' => '=',
852 852
             ),
853 853
 
854 854
         ),
855 855
         'query_type'     => 'get_var',
856
-        'invoice_status' => array_keys( wpinv_get_invoice_statuses() ),
856
+        'invoice_status' => array_keys(wpinv_get_invoice_statuses()),
857 857
     );
858 858
 
859
-    return absint( GetPaid_Reports_Helper::get_invoice_report_data( $args ) );
859
+    return absint(GetPaid_Reports_Helper::get_invoice_report_data($args));
860 860
 }
Please login to merge, or discard this patch.