Passed
Pull Request — master (#785)
by
unknown
05:12
created
vendor/ayecode/wp-super-duper/wp-super-duper.php 4 patches
Braces   +42 added lines, -44 removed lines patch added patch discarded remove patch
@@ -60,7 +60,7 @@  discard block
 block discarded – undo
60 60
 			if(!empty($this->options['nested-block'])){
61 61
 				if(empty($this->options['output_types'])){
62 62
 					$this->options['output_types'] = array('shortcode','block');
63
-				}elseif (($key = array_search('widget', $this->options['output_types'])) !== false) {
63
+				} elseif (($key = array_search('widget', $this->options['output_types'])) !== false) {
64 64
 					unset($this->options['output_types'][$key]);
65 65
 				}
66 66
 			}
@@ -716,7 +716,7 @@  discard block
 block discarded – undo
716 716
 				<?php
717 717
 				if(! empty( $insert_shortcode_function )){
718 718
 					echo $insert_shortcode_function;
719
-				}else{
719
+				} else{
720 720
 
721 721
 				/**
722 722
 				 * Function for super duper insert shortcode.
@@ -2240,7 +2240,7 @@  discard block
 block discarded – undo
2240 2240
 				$p_pl = 'ps-';
2241 2241
 				$p_pr = 'pe-';
2242 2242
 					<?php
2243
-				}else{
2243
+				} else{
2244 2244
 						?>
2245 2245
 				$aui_bs5 = false;
2246 2246
 				$p_ml = 'ml-';
@@ -2468,7 +2468,7 @@  discard block
 block discarded – undo
2468 2468
 					var InnerBlocks = blockEditor.InnerBlocks;
2469 2469
 
2470 2470
 					var term_query_type = '';
2471
-					var post_type_rest_slugs = <?php if(! empty( $this->arguments ) && isset($this->arguments['post_type']['onchange_rest']['values'])){echo "[".json_encode($this->arguments['post_type']['onchange_rest']['values'])."]";}else{echo "[]";} ?>;
2471
+					var post_type_rest_slugs = <?php if(! empty( $this->arguments ) && isset($this->arguments['post_type']['onchange_rest']['values'])){echo "[".json_encode($this->arguments['post_type']['onchange_rest']['values'])."]";} else{echo "[]";} ?>;
2472 2472
 					const taxonomies_<?php echo str_replace("-","_", $this->id);?> = [{label: "Please wait", value: 0}];
2473 2473
 					const sort_by_<?php echo str_replace("-","_", $this->id);?> = [{label: "Please wait", value: 0}];
2474 2474
 					const MediaUpload = wp.blockEditor.MediaUpload;
@@ -2525,9 +2525,9 @@  discard block
 block discarded – undo
2525 2525
 						$example_inner_blocks = !empty($this->options['example']['innerBlocks']) && is_array($this->options['example']['innerBlocks']) ? 'innerBlocks: ' . wp_json_encode($this->options['example']['innerBlocks']) : '';
2526 2526
 						if( isset( $this->options['example'] ) && $this->options['example'] === false ){
2527 2527
 							// no preview if set to false
2528
-						}elseif( !empty( $example_args ) ){
2528
+						} elseif( !empty( $example_args ) ){
2529 2529
 							echo "example : {attributes:{".$this->array_to_attributes( $example_args )."},$viewport_width},";
2530
-						}elseif( !empty( $this->options['example'] ) ){
2530
+						} elseif( !empty( $this->options['example'] ) ){
2531 2531
 							unset($this->options['example']['viewportWidth']);
2532 2532
 							unset($this->options['example']['innerBlocks']);
2533 2533
 							$example_atts = $this->array_to_attributes( $this->options['example'] );
@@ -2544,7 +2544,7 @@  discard block
 block discarded – undo
2544 2544
 							if(!empty($example_parts)){
2545 2545
 								echo "example : {".implode(',', $example_parts)."},";
2546 2546
 							}
2547
-						}else{
2547
+						} else{
2548 2548
 							echo 'example : {viewportWidth: 500},';
2549 2549
 						}
2550 2550
 
@@ -2615,8 +2615,7 @@  discard block
 block discarded – undo
2615 2615
 
2616 2616
 									if ( $args['type'] == 'notice' ||  $args['type'] == 'tab' ) {
2617 2617
 										continue;
2618
-									}
2619
-									elseif ( $args['type'] == 'checkbox' ) {
2618
+									} elseif ( $args['type'] == 'checkbox' ) {
2620 2619
 										$type    = 'boolean';
2621 2620
 										$default = isset( $args['default'] ) && $args['default'] ? 'true' : 'false';
2622 2621
 									} elseif ( $args['type'] == 'number' ) {
@@ -2752,7 +2751,7 @@  discard block
 block discarded – undo
2752 2751
 							<?php
2753 2752
 							if(!empty($this->options['block-edit-raw'])) {
2754 2753
 								echo $this->options['block-edit-raw']; // strings have to be in single quotes, may cause issues
2755
-							}else{
2754
+							} else{
2756 2755
 							?>
2757 2756
 
2758 2757
 function hasSelectedInnerBlock(props) {
@@ -2887,7 +2886,7 @@  discard block
 block discarded – undo
2887 2886
 $current_screen = function_exists('get_current_screen') ? get_current_screen() : '';
2888 2887
 if(!empty($current_screen->base) && $current_screen->base==='widgets'){
2889 2888
 	echo 'const { deviceType } = "";';
2890
-}else{
2889
+} else{
2891 2890
 ?>
2892 2891
 /** Get device type const. */
2893 2892
 const wpVersion = '<?php global $wp_version; echo esc_attr($wp_version); ?>';
@@ -2951,7 +2950,7 @@  discard block
 block discarded – undo
2951 2950
 										'block_parent_name': parentBlocks.length ? parentBlocks[parentBlocks.length - 1].name : '',
2952 2951
 										'post_id': <?php global $post; if ( isset( $post->ID ) ) {
2953 2952
 										echo $post->ID;
2954
-									}else{echo '0';}?>,
2953
+									} else{echo '0';}?>,
2955 2954
 										'_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_output_shortcode' );?>'
2956 2955
 									};
2957 2956
 
@@ -2971,7 +2970,7 @@  discard block
 block discarded – undo
2971 2970
 										is_fetching = false;
2972 2971
 										prev_attributes[props.clientId] = props.attributes;
2973 2972
 											 <?php
2974
-										}else{
2973
+										} else{
2975 2974
 										?>
2976 2975
 										props.setAttributes({content: env});
2977 2976
 										is_fetching = false;
@@ -3182,7 +3181,7 @@  discard block
 block discarded – undo
3182 3181
 //
3183 3182
 
3184 3183
 									}
3185
-									}else {
3184
+									} else {
3186 3185
 									?>
3187 3186
 									el(wp.components.PanelBody, {
3188 3187
 											title: '<?php esc_attr_e( "Settings", 'ayecode-connect' ); ?>',
@@ -3208,9 +3207,9 @@  discard block
 block discarded – undo
3208 3207
 								// If the user sets block-output array then build it
3209 3208
 								if ( ! empty( $this->options['block-output'] ) ) {
3210 3209
 								$this->block_element( $this->options['block-output'] );
3211
-							}elseif(!empty($this->options['block-edit-return'])){
3210
+							} elseif(!empty($this->options['block-edit-return'])){
3212 3211
 								   echo $this->options['block-edit-return'];
3213
-							}else{
3212
+							} else{
3214 3213
 								// if no block-output is set then we try and get the shortcode html output via ajax.
3215 3214
 								$block_edit_wrap_tag = !empty($this->options['block_edit_wrap_tag']) ? esc_attr($this->options['block_edit_wrap_tag']) : 'div';
3216 3215
 								?>
@@ -3322,9 +3321,9 @@  discard block
 block discarded – undo
3322 3321
 							   );
3323 3322
 								<?php
3324 3323
 
3325
-							}elseif(!empty($this->options['block-save-return'])){
3324
+							} elseif(!empty($this->options['block-save-return'])){
3326 3325
 								   echo 'return ' . $this->options['block-save-return'];
3327
-							}elseif(!empty($this->options['nested-block'])){
3326
+							} elseif(!empty($this->options['nested-block'])){
3328 3327
 								?>
3329 3328
 							  return el(
3330 3329
 								   '',
@@ -3334,13 +3333,13 @@  discard block
 block discarded – undo
3334 3333
 								 //  el('', {dangerouslySetInnerHTML: {__html: "[/<?php echo $this->options['base_id'];?>]"}})
3335 3334
 							   );
3336 3335
 								<?php
3337
-							}elseif(!empty( $this->options['block-save-return'] ) ){
3336
+							} elseif(!empty( $this->options['block-save-return'] ) ){
3338 3337
 								echo "return ". $this->options['block-edit-return'].";";
3339
-							}elseif(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){
3338
+							} elseif(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){
3340 3339
 							?>
3341 3340
 							return content;
3342 3341
 							<?php
3343
-							}else{
3342
+							} else{
3344 3343
 							?>
3345 3344
 							var block_wrap = 'div';
3346 3345
 							if (attr.hasOwnProperty("block_wrap")) {
@@ -3391,9 +3390,9 @@  discard block
 block discarded – undo
3391 3390
 				$device_type_icon = '';
3392 3391
 				if($device_type=='Desktop'){
3393 3392
 					$device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3394
-				}elseif($device_type=='Tablet'){
3393
+				} elseif($device_type=='Tablet'){
3395 3394
 					$device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3396
-				}elseif($device_type=='Mobile'){
3395
+				} elseif($device_type=='Mobile'){
3397 3396
 					$device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3398 3397
 				}
3399 3398
 				echo $element_require;
@@ -3438,7 +3437,7 @@  discard block
 block discarded – undo
3438 3437
 
3439 3438
 					<?php
3440 3439
 					if(false){?></script><?php }
3441
-				}elseif(!empty($args['row']['close'])){
3440
+				} elseif(!empty($args['row']['close'])){
3442 3441
 					if(false){?><script><?php }?>
3443 3442
 						el(
3444 3443
 							'div',
@@ -3447,7 +3446,7 @@  discard block
 block discarded – undo
3447 3446
 							},
3448 3447
 					<?php
3449 3448
 					if(false){?></script><?php }
3450
-				}else{
3449
+				} else{
3451 3450
 					if(false){?><script><?php }?>
3452 3451
 						el(
3453 3452
 							'div',
@@ -3552,9 +3551,9 @@  discard block
 block discarded – undo
3552 3551
 			$device_type_icon = '';
3553 3552
 			if($device_type=='Desktop'){
3554 3553
 				$device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3555
-			}elseif($device_type=='Tablet'){
3554
+			} elseif($device_type=='Tablet'){
3556 3555
 				$device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3557
-			}elseif($device_type=='Mobile'){
3556
+			} elseif($device_type=='Mobile'){
3558 3557
 				$device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3559 3558
 			}
3560 3559
 
@@ -3617,7 +3616,7 @@  discard block
 block discarded – undo
3617 3616
 				$args['type'] == 'text';
3618 3617
 				// Save numbers as numbers and not strings
3619 3618
 				$value     = "props.attributes.$key ? props.attributes.$key : ''";
3620
-			}else if ( $args['type'] == 'notice' ) {
3619
+			} else if ( $args['type'] == 'notice' ) {
3621 3620
 
3622 3621
 				$notice_message = !empty($args['desc']) ? addslashes($args['desc']) : '';
3623 3622
 				$notice_status = !empty($args['status']) ? esc_attr($args['status']) : 'info';
@@ -3692,7 +3691,7 @@  discard block
 block discarded – undo
3692 3691
 							$key: value
3693 3692
 						});
3694 3693
 					},";
3695
-			}elseif ( $args['type'] == 'gradient' ) {
3694
+			} elseif ( $args['type'] == 'gradient' ) {
3696 3695
 				$type = 'GradientPicker';
3697 3696
 				$extra .= "gradients: [{
3698 3697
 			name: 'Vivid cyan blue to vivid purple',
@@ -3731,7 +3730,7 @@  discard block
 block discarded – undo
3731 3730
 			slug: 'cool-to-warm-spectrum',
3732 3731
 		}],";
3733 3732
 
3734
-			}elseif ( $args['type'] == 'image' ) {
3733
+			} elseif ( $args['type'] == 'image' ) {
3735 3734
 //                print_r($args);
3736 3735
 
3737 3736
 				$img_preview = isset($args['focalpoint']) && !$args['focalpoint'] ? " props.attributes.$key && el('img', { src: props.attributes.$key,style: {maxWidth:'100%',background: '#ccc'}})," : " ( props.attributes.$key ||  props.attributes.{$key}_use_featured ) && el(wp.components.FocalPointPicker,{
@@ -3868,8 +3867,7 @@  discard block
 block discarded – undo
3868 3867
 				$onchange = "";
3869 3868
 
3870 3869
 				//$inside_elements = ",el('div',{},'file upload')";
3871
-			}
3872
-			elseif ( $args['type'] == 'checkbox' ) {
3870
+			} elseif ( $args['type'] == 'checkbox' ) {
3873 3871
 				$type = 'CheckboxControl';
3874 3872
 				$extra .= "checked: props.attributes.$key,";
3875 3873
 				$onchange = "props.setAttributes({ $key: ! props.attributes.$key } )";
@@ -3881,9 +3879,9 @@  discard block
 block discarded – undo
3881 3879
 
3882 3880
 				if($args['name'] == 'category' && !empty($args['post_type_linked'])){
3883 3881
 					$options .= "options: taxonomies_".str_replace("-","_", $this->id).",";
3884
-				}elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){
3882
+				} elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){
3885 3883
 					$options .= "options: sort_by_".str_replace("-","_", $this->id).",";
3886
-				}else {
3884
+				} else {
3887 3885
 
3888 3886
 					if ( ! empty( $args['options'] ) ) {
3889 3887
 						$options .= "options: [";
@@ -4047,7 +4045,7 @@  discard block
 block discarded – undo
4047 4045
 				foreach ( $custom_attributes as $key => $val ) {
4048 4046
 					if(is_array($val)){
4049 4047
 						$attributes .= $key.': {'.$this->array_to_attributes( $val, $html ).'},';
4050
-					}else{
4048
+					} else{
4051 4049
 						$attributes .= $html ?  " $key='$val' " : "'$key': '$val',";
4052 4050
 					}
4053 4051
 				}
@@ -4088,7 +4086,7 @@  discard block
 block discarded – undo
4088 4086
 
4089 4087
 							if($new_args['element']=='InnerBlocks'){
4090 4088
 								echo "\n el( InnerBlocks, {";
4091
-							}elseif($new_args['element']=='innerBlocksProps'){
4089
+							} elseif($new_args['element']=='innerBlocksProps'){
4092 4090
 								$element = isset($new_args['inner_element']) ? esc_attr($new_args['inner_element']) : 'div';
4093 4091
 							  //  echo "\n el( 'section', wp.blockEditor.useInnerBlocksProps( blockProps, {";
4094 4092
 //                                echo $save ? "\n el( '$element', wp.blockEditor.useInnerBlocksProps.save( " : "\n el( '$element', wp.blockEditor.useInnerBlocksProps( ";
@@ -4101,11 +4099,11 @@  discard block
 block discarded – undo
4101 4099
 							//    echo '###';
4102 4100
 
4103 4101
 							  //  echo '###';
4104
-							}elseif($new_args['element']=='BlocksProps'){
4102
+							} elseif($new_args['element']=='BlocksProps'){
4105 4103
 
4106 4104
 								if ( isset($new_args['if_inner_element']) ) {
4107 4105
 									$element = $new_args['if_inner_element'];
4108
-								}else {
4106
+								} else {
4109 4107
 									$element = isset($new_args['inner_element']) ? "'".esc_attr($new_args['inner_element'])."'" : "'div'";
4110 4108
 								}
4111 4109
 
@@ -4116,7 +4114,7 @@  discard block
 block discarded – undo
4116 4114
 
4117 4115
 							   // echo "} ),";
4118 4116
 
4119
-							}else{
4117
+							} else{
4120 4118
 								echo "\n el( '" . $new_args['element'] . "', {";
4121 4119
 							}
4122 4120
 
@@ -4141,7 +4139,7 @@  discard block
 block discarded – undo
4141 4139
 
4142 4140
 									if ( $new_key === 'content' ) {
4143 4141
 										echo "'" . $this->block_props_replace( wp_slash( $new_value ) ) . "'";
4144
-									}else if ( $new_key === 'if_content' ) {
4142
+									} else if ( $new_key === 'if_content' ) {
4145 4143
 										echo  $this->block_props_replace(  $new_value  );
4146 4144
 									}
4147 4145
 
@@ -4171,7 +4169,7 @@  discard block
 block discarded – undo
4171 4169
 
4172 4170
 							if($new_args['element']=='innerBlocksProps' || $new_args['element']=='xBlocksProps'){
4173 4171
 								echo "))";// end content
4174
-							}else{
4172
+							} else{
4175 4173
 								echo ")";// end content
4176 4174
 							}
4177 4175
 
@@ -4795,11 +4793,11 @@  discard block
 block discarded – undo
4795 4793
 		public function get_widget_icon($icon = 'box-top', $title = ''){
4796 4794
 			if($icon=='box-top'){
4797 4795
 				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.048" height="9.017" fill="#555D66"></rect><rect x="16.265" y="5.498" width="1.023" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.186" width="8.964" height="2.482" fill="#272B2F"></rect><rect x="5.487" y="16.261" width="9.026" height="1.037" fill="#555D66"></rect></svg>';
4798
-			}elseif($icon=='box-right'){
4796
+			} elseif($icon=='box-right'){
4799 4797
 				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.046" height="9.017" fill="#555D66"></rect><rect x="15.244" y="5.498" width="2.518" height="9.003" fill="#272B2F"></rect><rect x="5.518" y="2.719" width="8.964" height="0.954" fill="#555D66"></rect><rect x="5.487" y="16.308" width="9.026" height="0.99" fill="#555D66"></rect></svg>';
4800
-			}elseif($icon=='box-bottom'){
4798
+			} elseif($icon=='box-bottom'){
4801 4799
 				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1" height="9.017" fill="#555D66"></rect><rect x="16.261" y="5.498" width="1.027" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.968" fill="#555D66"></rect><rect x="5.487" y="15.28" width="9.026" height="2.499" fill="#272B2F"></rect></svg>';
4802
-			}elseif($icon=='box-left'){
4800
+			} elseif($icon=='box-left'){
4803 4801
 				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.202" y="5.492" width="2.503" height="9.017" fill="#272B2F"></rect><rect x="16.276" y="5.498" width="1.012" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.966" fill="#555D66"></rect><rect x="5.487" y="16.303" width="9.026" height="0.995" fill="#555D66"></rect></svg>';
4804 4802
 			}
4805 4803
 		}
Please login to merge, or discard this patch.
Indentation   +2687 added lines, -2687 removed lines patch added patch discarded remove patch
@@ -1,147 +1,147 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 if ( ! defined( 'ABSPATH' ) ) {
3
-	exit;
3
+    exit;
4 4
 }
5 5
 
6 6
 if ( ! class_exists( 'WP_Super_Duper' ) ) {
7 7
 
8
-	define( 'SUPER_DUPER_VER', '1.2.17' );
9
-
10
-	/**
11
-	 * A Class to be able to create a Widget, Shortcode or Block to be able to output content for WordPress.
12
-	 *
13
-	 * Should not be called direct but extended instead.
14
-	 *
15
-	 * Class WP_Super_Duper
16
-	 * @since 1.0.16 change log moved to file change-log.txt - CHANGED
17
-	 * @ver 1.1.1
18
-	 */
19
-	class WP_Super_Duper extends WP_Widget {
20
-
21
-		public $version = SUPER_DUPER_VER;
22
-		public $font_awesome_icon_version = "5.11.2";
23
-		public $block_code;
24
-		public $options;
25
-		public $base_id;
26
-		public $settings_hash;
27
-		public $arguments = array();
28
-		public $instance = array();
29
-		private $class_name;
30
-
31
-		/**
32
-		 * The relative url to the current folder.
33
-		 *
34
-		 * @var string
35
-		 */
36
-		public $url = '';
37
-
38
-		/**
39
-		 * Take the array options and use them to build.
40
-		 */
41
-		public function __construct( $options ) {
42
-			global $sd_widgets;
43
-
44
-			$sd_widgets[ $options['base_id'] ] = array(
45
-				'name'       => $options['name'],
46
-				'class_name' => $options['class_name'],
47
-				'output_types' => !empty($options['output_types']) ? $options['output_types'] : array()
48
-			);
49
-			$this->base_id                     = $options['base_id'];
50
-			// lets filter the options before we do anything
51
-			$options       = apply_filters( "wp_super_duper_options", $options );
52
-			$options       = apply_filters( "wp_super_duper_options_{$this->base_id}", $options );
53
-			$options       = $this->add_name_from_key( $options );
54
-			$this->options = $options;
55
-
56
-			$this->base_id   = $options['base_id'];
57
-			$this->arguments = isset( $options['arguments'] ) ? $options['arguments'] : array();
58
-
59
-			// nested blocks can't work as a widget
60
-			if(!empty($this->options['nested-block'])){
61
-				if(empty($this->options['output_types'])){
62
-					$this->options['output_types'] = array('shortcode','block');
63
-				}elseif (($key = array_search('widget', $this->options['output_types'])) !== false) {
64
-					unset($this->options['output_types'][$key]);
65
-				}
66
-			}
8
+    define( 'SUPER_DUPER_VER', '1.2.17' );
9
+
10
+    /**
11
+     * A Class to be able to create a Widget, Shortcode or Block to be able to output content for WordPress.
12
+     *
13
+     * Should not be called direct but extended instead.
14
+     *
15
+     * Class WP_Super_Duper
16
+     * @since 1.0.16 change log moved to file change-log.txt - CHANGED
17
+     * @ver 1.1.1
18
+     */
19
+    class WP_Super_Duper extends WP_Widget {
20
+
21
+        public $version = SUPER_DUPER_VER;
22
+        public $font_awesome_icon_version = "5.11.2";
23
+        public $block_code;
24
+        public $options;
25
+        public $base_id;
26
+        public $settings_hash;
27
+        public $arguments = array();
28
+        public $instance = array();
29
+        private $class_name;
67 30
 
68
-			// init parent
69
-			if(empty($this->options['output_types']) || in_array('widget',$this->options['output_types'])){
70
-				parent::__construct( $options['base_id'], $options['name'], $options['widget_ops'] );
71
-			}
31
+        /**
32
+         * The relative url to the current folder.
33
+         *
34
+         * @var string
35
+         */
36
+        public $url = '';
37
+
38
+        /**
39
+         * Take the array options and use them to build.
40
+         */
41
+        public function __construct( $options ) {
42
+            global $sd_widgets;
43
+
44
+            $sd_widgets[ $options['base_id'] ] = array(
45
+                'name'       => $options['name'],
46
+                'class_name' => $options['class_name'],
47
+                'output_types' => !empty($options['output_types']) ? $options['output_types'] : array()
48
+            );
49
+            $this->base_id                     = $options['base_id'];
50
+            // lets filter the options before we do anything
51
+            $options       = apply_filters( "wp_super_duper_options", $options );
52
+            $options       = apply_filters( "wp_super_duper_options_{$this->base_id}", $options );
53
+            $options       = $this->add_name_from_key( $options );
54
+            $this->options = $options;
55
+
56
+            $this->base_id   = $options['base_id'];
57
+            $this->arguments = isset( $options['arguments'] ) ? $options['arguments'] : array();
58
+
59
+            // nested blocks can't work as a widget
60
+            if(!empty($this->options['nested-block'])){
61
+                if(empty($this->options['output_types'])){
62
+                    $this->options['output_types'] = array('shortcode','block');
63
+                }elseif (($key = array_search('widget', $this->options['output_types'])) !== false) {
64
+                    unset($this->options['output_types'][$key]);
65
+                }
66
+            }
72 67
 
68
+            // init parent
69
+            if(empty($this->options['output_types']) || in_array('widget',$this->options['output_types'])){
70
+                parent::__construct( $options['base_id'], $options['name'], $options['widget_ops'] );
71
+            }
73 72
 
74
-			if ( isset( $options['class_name'] ) ) {
75
-				// register widget
76
-				$this->class_name = $options['class_name'];
77 73
 
78
-				// register shortcode, this needs to be done even for blocks and widgets
79
-				$this->register_shortcode();
74
+            if ( isset( $options['class_name'] ) ) {
75
+                // register widget
76
+                $this->class_name = $options['class_name'];
80 77
 
78
+                // register shortcode, this needs to be done even for blocks and widgets
79
+                $this->register_shortcode();
81 80
 
82
-				// Fusion Builder (avada) support
83
-				if ( function_exists( 'fusion_builder_map' ) ) {
84
-					add_action( 'init', array( $this, 'register_fusion_element' ) );
85
-				}
81
+
82
+                // Fusion Builder (avada) support
83
+                if ( function_exists( 'fusion_builder_map' ) ) {
84
+                    add_action( 'init', array( $this, 'register_fusion_element' ) );
85
+                }
86 86
 
87 87
                 // maybe load the Bricks transformer class
88 88
                 if( class_exists('\Bricks\Elements', false) ){
89
-					add_action( 'init', array( $this, 'load_bricks_element_class' ) );
89
+                    add_action( 'init', array( $this, 'load_bricks_element_class' ) );
90 90
                 }
91 91
 
92
-				// register block
93
-				if(empty($this->options['output_types']) || in_array('block',$this->options['output_types'])){
94
-					add_action( 'admin_enqueue_scripts', array( $this, 'register_block' ) );
95
-				}
96
-			}
92
+                // register block
93
+                if(empty($this->options['output_types']) || in_array('block',$this->options['output_types'])){
94
+                    add_action( 'admin_enqueue_scripts', array( $this, 'register_block' ) );
95
+                }
96
+            }
97 97
 
98
-			// add the CSS and JS we need ONCE
99
-			global $sd_widget_scripts;
98
+            // add the CSS and JS we need ONCE
99
+            global $sd_widget_scripts;
100 100
 
101
-			if ( ! $sd_widget_scripts ) {
102
-				wp_add_inline_script( 'admin-widgets', $this->widget_js() );
103
-				wp_add_inline_script( 'customize-controls', $this->widget_js() );
104
-				wp_add_inline_style( 'widgets', $this->widget_css() );
101
+            if ( ! $sd_widget_scripts ) {
102
+                wp_add_inline_script( 'admin-widgets', $this->widget_js() );
103
+                wp_add_inline_script( 'customize-controls', $this->widget_js() );
104
+                wp_add_inline_style( 'widgets', $this->widget_css() );
105 105
 
106
-				// maybe add elementor editor styles
107
-				add_action( 'elementor/editor/after_enqueue_styles', array( $this, 'elementor_editor_styles' ) );
106
+                // maybe add elementor editor styles
107
+                add_action( 'elementor/editor/after_enqueue_styles', array( $this, 'elementor_editor_styles' ) );
108 108
 
109
-				$sd_widget_scripts = true;
109
+                $sd_widget_scripts = true;
110 110
 
111
-				// add shortcode insert button once
112
-				add_action( 'media_buttons', array( $this, 'wp_media_buttons' ), 1 );
113
-				add_action( 'media_buttons', array( $this, 'shortcode_insert_button' ) );
114
-				// generatepress theme sections compatibility
115
-				if ( function_exists( 'generate_sections_sections_metabox' ) ) {
116
-					add_action( 'generate_sections_metabox', array( $this, 'shortcode_insert_button_script' ) );
117
-				}
118
-				/* Load script on Divi theme builder page */
119
-				if ( function_exists( 'et_builder_is_tb_admin_screen' ) && et_builder_is_tb_admin_screen() ) {
120
-					add_thickbox();
121
-					add_action( 'admin_footer', array( $this, 'shortcode_insert_button_script' ) );
122
-				}
111
+                // add shortcode insert button once
112
+                add_action( 'media_buttons', array( $this, 'wp_media_buttons' ), 1 );
113
+                add_action( 'media_buttons', array( $this, 'shortcode_insert_button' ) );
114
+                // generatepress theme sections compatibility
115
+                if ( function_exists( 'generate_sections_sections_metabox' ) ) {
116
+                    add_action( 'generate_sections_metabox', array( $this, 'shortcode_insert_button_script' ) );
117
+                }
118
+                /* Load script on Divi theme builder page */
119
+                if ( function_exists( 'et_builder_is_tb_admin_screen' ) && et_builder_is_tb_admin_screen() ) {
120
+                    add_thickbox();
121
+                    add_action( 'admin_footer', array( $this, 'shortcode_insert_button_script' ) );
122
+                }
123 123
 
124
-				if ( $this->is_preview() ) {
125
-					add_action( 'wp_footer', array( $this, 'shortcode_insert_button_script' ) );
126
-					// this makes the insert button work for elementor
127
-					add_action( 'elementor/editor/after_enqueue_scripts', array(
128
-						$this,
129
-						'shortcode_insert_button_script'
130
-					) ); // for elementor
131
-				}
132
-				// this makes the insert button work for cornerstone
133
-				add_action( 'wp_print_footer_scripts', array( __CLASS__, 'maybe_cornerstone_builder' ) );
124
+                if ( $this->is_preview() ) {
125
+                    add_action( 'wp_footer', array( $this, 'shortcode_insert_button_script' ) );
126
+                    // this makes the insert button work for elementor
127
+                    add_action( 'elementor/editor/after_enqueue_scripts', array(
128
+                        $this,
129
+                        'shortcode_insert_button_script'
130
+                    ) ); // for elementor
131
+                }
132
+                // this makes the insert button work for cornerstone
133
+                add_action( 'wp_print_footer_scripts', array( __CLASS__, 'maybe_cornerstone_builder' ) );
134 134
 
135
-				add_action( 'wp_ajax_super_duper_get_widget_settings', array( __CLASS__, 'get_widget_settings' ) );
136
-				add_action( 'wp_ajax_super_duper_get_picker', array( __CLASS__, 'get_picker' ) );
135
+                add_action( 'wp_ajax_super_duper_get_widget_settings', array( __CLASS__, 'get_widget_settings' ) );
136
+                add_action( 'wp_ajax_super_duper_get_picker', array( __CLASS__, 'get_picker' ) );
137 137
 
138
-				// add generator text to head
139
-				add_action( 'admin_head', array( $this, 'generator' ), 99 );
140
-				add_action( 'wp_head', array( $this, 'generator' ), 99 );
141
-			}
138
+                // add generator text to head
139
+                add_action( 'admin_head', array( $this, 'generator' ), 99 );
140
+                add_action( 'wp_head', array( $this, 'generator' ), 99 );
141
+            }
142 142
 
143
-			do_action( 'wp_super_duper_widget_init', $options, $this );
144
-		}
143
+            do_action( 'wp_super_duper_widget_init', $options, $this );
144
+        }
145 145
 
146 146
         /**
147 147
          * Load the Bricks conversion class if we are running Bricks.
@@ -151,163 +151,163 @@  discard block
 block discarded – undo
151 151
                     include_once __DIR__ . '/includes/class-super-duper-bricks-element.php';
152 152
         }
153 153
 
154
-		/**
155
-		 * The register widget function
156
-		 * @return void
157
-		 */
158
-		public function _register() {
159
-			if(empty($this->options['output_types']) || in_array('widget',$this->options['output_types'])){
160
-				parent::_register();
161
-			}
162
-		}
163
-
164
-		/**
165
-		 * Add our widget CSS to elementor editor.
166
-		 */
167
-		public function elementor_editor_styles() {
168
-			wp_add_inline_style( 'elementor-editor', $this->widget_css( false ) );
169
-		}
170
-
171
-		public function register_fusion_element() {
172
-
173
-			$options = $this->options;
174
-
175
-			if ( $this->base_id ) {
176
-
177
-				$params = $this->get_fusion_params();
178
-
179
-				$args = array(
180
-					'name'            => $options['name'],
181
-					'shortcode'       => $this->base_id,
182
-					'icon'            => $options['block-icon'] ? $options['block-icon'] : 'far fa-square',
183
-					'allow_generator' => true,
184
-				);
185
-
186
-				if ( ! empty( $params ) ) {
187
-					$args['params'] = $params;
188
-				}
189
-
190
-				fusion_builder_map( $args );
191
-			}
154
+        /**
155
+         * The register widget function
156
+         * @return void
157
+         */
158
+        public function _register() {
159
+            if(empty($this->options['output_types']) || in_array('widget',$this->options['output_types'])){
160
+                parent::_register();
161
+            }
162
+        }
192 163
 
193
-		}
164
+        /**
165
+         * Add our widget CSS to elementor editor.
166
+         */
167
+        public function elementor_editor_styles() {
168
+            wp_add_inline_style( 'elementor-editor', $this->widget_css( false ) );
169
+        }
194 170
 
195
-		public function get_fusion_params() {
196
-			$params    = array();
197
-			$arguments = $this->get_arguments();
198
-
199
-			if ( ! empty( $arguments ) ) {
200
-				foreach ( $arguments as $key => $val ) {
201
-					$param = array();
202
-					// type
203
-					$param['type'] = str_replace(
204
-						array(
205
-							"text",
206
-							"number",
207
-							"email",
208
-							"color",
209
-							"checkbox"
210
-						),
211
-						array(
212
-							"textfield",
213
-							"textfield",
214
-							"textfield",
215
-							"colorpicker",
216
-							"select",
171
+        public function register_fusion_element() {
217 172
 
218
-						),
219
-						$val['type'] );
173
+            $options = $this->options;
220 174
 
221
-					// multiselect
222
-					if ( $val['type'] == 'multiselect' || ( ( $param['type'] == 'select' || $val['type'] == 'select' ) && ! empty( $val['multiple'] ) ) ) {
223
-						$param['type']     = 'multiple_select';
224
-						$param['multiple'] = true;
225
-					}
175
+            if ( $this->base_id ) {
226 176
 
227
-					// heading
228
-					$param['heading'] = isset( $val['title'] ) ? $val['title'] : '';
177
+                $params = $this->get_fusion_params();
229 178
 
230
-					// description
231
-					$param['description'] = isset( $val['desc'] ) ? $val['desc'] : '';
179
+                $args = array(
180
+                    'name'            => $options['name'],
181
+                    'shortcode'       => $this->base_id,
182
+                    'icon'            => $options['block-icon'] ? $options['block-icon'] : 'far fa-square',
183
+                    'allow_generator' => true,
184
+                );
232 185
 
233
-					// param_name
234
-					$param['param_name'] = $key;
186
+                if ( ! empty( $params ) ) {
187
+                    $args['params'] = $params;
188
+                }
235 189
 
236
-					// Default
237
-					$param['default'] = isset( $val['default'] ) ? $val['default'] : '';
190
+                fusion_builder_map( $args );
191
+            }
238 192
 
239
-					// Group
240
-					if ( isset( $val['group'] ) ) {
241
-						$param['group'] = $val['group'];
242
-					}
193
+        }
243 194
 
244
-					// value
245
-					if ( $val['type'] == 'checkbox' ) {
246
-						if ( isset( $val['default'] ) && $val['default'] == '0' ) {
247
-							unset( $param['default'] );
248
-						}
249
-						$param['value'] = array( '0' => __( "No", 'ayecode-connect' ), '1' => __( "Yes", 'ayecode-connect' ) );
250
-					} elseif ( $param['type'] == 'select' || $param['type'] == 'multiple_select' ) {
251
-						$param['value'] = isset( $val['options'] ) ? $val['options'] : array();
252
-					} else {
253
-						$param['value'] = isset( $val['default'] ) ? $val['default'] : '';
254
-					}
195
+        public function get_fusion_params() {
196
+            $params    = array();
197
+            $arguments = $this->get_arguments();
198
+
199
+            if ( ! empty( $arguments ) ) {
200
+                foreach ( $arguments as $key => $val ) {
201
+                    $param = array();
202
+                    // type
203
+                    $param['type'] = str_replace(
204
+                        array(
205
+                            "text",
206
+                            "number",
207
+                            "email",
208
+                            "color",
209
+                            "checkbox"
210
+                        ),
211
+                        array(
212
+                            "textfield",
213
+                            "textfield",
214
+                            "textfield",
215
+                            "colorpicker",
216
+                            "select",
217
+
218
+                        ),
219
+                        $val['type'] );
220
+
221
+                    // multiselect
222
+                    if ( $val['type'] == 'multiselect' || ( ( $param['type'] == 'select' || $val['type'] == 'select' ) && ! empty( $val['multiple'] ) ) ) {
223
+                        $param['type']     = 'multiple_select';
224
+                        $param['multiple'] = true;
225
+                    }
226
+
227
+                    // heading
228
+                    $param['heading'] = isset( $val['title'] ) ? $val['title'] : '';
229
+
230
+                    // description
231
+                    $param['description'] = isset( $val['desc'] ) ? $val['desc'] : '';
232
+
233
+                    // param_name
234
+                    $param['param_name'] = $key;
235
+
236
+                    // Default
237
+                    $param['default'] = isset( $val['default'] ) ? $val['default'] : '';
238
+
239
+                    // Group
240
+                    if ( isset( $val['group'] ) ) {
241
+                        $param['group'] = $val['group'];
242
+                    }
243
+
244
+                    // value
245
+                    if ( $val['type'] == 'checkbox' ) {
246
+                        if ( isset( $val['default'] ) && $val['default'] == '0' ) {
247
+                            unset( $param['default'] );
248
+                        }
249
+                        $param['value'] = array( '0' => __( "No", 'ayecode-connect' ), '1' => __( "Yes", 'ayecode-connect' ) );
250
+                    } elseif ( $param['type'] == 'select' || $param['type'] == 'multiple_select' ) {
251
+                        $param['value'] = isset( $val['options'] ) ? $val['options'] : array();
252
+                    } else {
253
+                        $param['value'] = isset( $val['default'] ) ? $val['default'] : '';
254
+                    }
255
+
256
+                    // setup the param
257
+                    $params[] = $param;
255 258
 
256
-					// setup the param
257
-					$params[] = $param;
259
+                }
260
+            }
258 261
 
259
-				}
260
-			}
261 262
 
263
+            return $params;
264
+        }
262 265
 
263
-			return $params;
264
-		}
266
+        /**
267
+         * Maybe insert the shortcode inserter button in the footer if we are in the cornerstone builder
268
+         */
269
+        public static function maybe_cornerstone_builder() {
270
+            if ( did_action( 'cornerstone_before_boot_app' ) ) {
271
+                self::shortcode_insert_button_script();
272
+            }
273
+        }
265 274
 
266
-		/**
267
-		 * Maybe insert the shortcode inserter button in the footer if we are in the cornerstone builder
268
-		 */
269
-		public static function maybe_cornerstone_builder() {
270
-			if ( did_action( 'cornerstone_before_boot_app' ) ) {
271
-				self::shortcode_insert_button_script();
272
-			}
273
-		}
275
+        /**
276
+         * A function to ge the shortcode builder picker html.
277
+         *
278
+         * @param string $editor_id
279
+         *
280
+         * @return string
281
+         */
282
+        public static function get_picker( $editor_id = '' ) {
274 283
 
275
-		/**
276
-		 * A function to ge the shortcode builder picker html.
277
-		 *
278
-		 * @param string $editor_id
279
-		 *
280
-		 * @return string
281
-		 */
282
-		public static function get_picker( $editor_id = '' ) {
283
-
284
-			ob_start();
285
-			if ( isset( $_POST['editor_id'] ) ) {
286
-				$editor_id = esc_attr( $_POST['editor_id'] );
287
-			} elseif ( isset( $_REQUEST['et_fb'] ) ) {
288
-				$editor_id = 'main_content_content_vb_tiny_mce';
289
-			}
284
+            ob_start();
285
+            if ( isset( $_POST['editor_id'] ) ) {
286
+                $editor_id = esc_attr( $_POST['editor_id'] );
287
+            } elseif ( isset( $_REQUEST['et_fb'] ) ) {
288
+                $editor_id = 'main_content_content_vb_tiny_mce';
289
+            }
290 290
 
291
-			global $sd_widgets;
291
+            global $sd_widgets;
292 292
 
293 293
 //			print_r($sd_widgets);exit;
294
-			?>
294
+            ?>
295 295
 
296 296
 			<div class="sd-shortcode-left-wrap">
297 297
 				<?php
298
-				ksort( $sd_widgets );
299
-				//				print_r($sd_widgets);exit;
300
-				if ( ! empty( $sd_widgets ) ) {
301
-					echo '<select class="widefat" onchange="sd_get_shortcode_options(this);">';
302
-					echo "<option>" . __( 'Select shortcode', 'ayecode-connect' ) . "</option>";
303
-					foreach ( $sd_widgets as $shortcode => $class ) {
304
-						if(!empty($class['output_types']) && !in_array('shortcode', $class['output_types'])){ continue; }
305
-						echo "<option value='" . esc_attr( $shortcode ) . "'>" . esc_attr( $shortcode ) . " (" . esc_attr( $class['name'] ) . ")</option>";
306
-					}
307
-					echo "</select>";
298
+                ksort( $sd_widgets );
299
+                //				print_r($sd_widgets);exit;
300
+                if ( ! empty( $sd_widgets ) ) {
301
+                    echo '<select class="widefat" onchange="sd_get_shortcode_options(this);">';
302
+                    echo "<option>" . __( 'Select shortcode', 'ayecode-connect' ) . "</option>";
303
+                    foreach ( $sd_widgets as $shortcode => $class ) {
304
+                        if(!empty($class['output_types']) && !in_array('shortcode', $class['output_types'])){ continue; }
305
+                        echo "<option value='" . esc_attr( $shortcode ) . "'>" . esc_attr( $shortcode ) . " (" . esc_attr( $class['name'] ) . ")</option>";
306
+                    }
307
+                    echo "</select>";
308 308
 
309
-				}
310
-				?>
309
+                }
310
+                ?>
311 311
 				<div class="sd-shortcode-settings"></div>
312 312
 
313 313
 			</div>
@@ -318,8 +318,8 @@  discard block
 block discarded – undo
318 318
 					<?php if ( $editor_id != '' ) { ?>
319 319
 						<button class="button sd-insert-shortcode-button"
320 320
 								onclick="sd_insert_shortcode(<?php if ( ! empty( $editor_id ) ) {
321
-									echo "'" . $editor_id . "'";
322
-								} ?>)"><?php _e( 'Insert shortcode', 'ayecode-connect' ); ?></button>
321
+                                    echo "'" . $editor_id . "'";
322
+                                } ?>)"><?php _e( 'Insert shortcode', 'ayecode-connect' ); ?></button>
323 323
 					<?php } ?>
324 324
 					<button class="button"
325 325
 							onclick="sd_copy_to_clipboard()"><?php _e( 'Copy shortcode' ); ?></button>
@@ -327,150 +327,150 @@  discard block
 block discarded – undo
327 327
 			</div>
328 328
 			<?php
329 329
 
330
-			$html = ob_get_clean();
330
+            $html = ob_get_clean();
331 331
 
332
-			if ( wp_doing_ajax() ) {
333
-				echo $html;
334
-				$should_die = true;
332
+            if ( wp_doing_ajax() ) {
333
+                echo $html;
334
+                $should_die = true;
335 335
 
336
-				// some builder get the editor via ajax so we should not die on those occasions
337
-				$dont_die = array(
338
-					'parent_tag',// WP Bakery
339
-					'avia_request' // enfold
340
-				);
336
+                // some builder get the editor via ajax so we should not die on those occasions
337
+                $dont_die = array(
338
+                    'parent_tag',// WP Bakery
339
+                    'avia_request' // enfold
340
+                );
341 341
 
342
-				foreach ( $dont_die as $request ) {
343
-					if ( isset( $_REQUEST[ $request ] ) ) {
344
-						$should_die = false;
345
-					}
346
-				}
342
+                foreach ( $dont_die as $request ) {
343
+                    if ( isset( $_REQUEST[ $request ] ) ) {
344
+                        $should_die = false;
345
+                    }
346
+                }
347 347
 
348
-				if ( $should_die ) {
349
-					wp_die();
350
-				}
348
+                if ( $should_die ) {
349
+                    wp_die();
350
+                }
351 351
 
352
-			} else {
353
-				return $html;
354
-			}
352
+            } else {
353
+                return $html;
354
+            }
355 355
 
356
-			return '';
356
+            return '';
357 357
 
358
-		}
358
+        }
359 359
 
360
-		/**
361
-		 * Output the version in the header.
362
-		 */
363
-		public function generator() {
364
-			$file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
365
-			$plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
366
-
367
-			// Find source plugin/theme of SD
368
-			$source = array();
369
-			if ( strpos( $file, $plugins_dir ) !== false ) {
370
-				$source = explode( "/", plugin_basename( $file ) );
371
-			} else if ( function_exists( 'get_theme_root' ) ) {
372
-				$themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
373
-
374
-				if ( strpos( $file, $themes_dir ) !== false ) {
375
-					$source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
376
-				}
377
-			}
360
+        /**
361
+         * Output the version in the header.
362
+         */
363
+        public function generator() {
364
+            $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
365
+            $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
366
+
367
+            // Find source plugin/theme of SD
368
+            $source = array();
369
+            if ( strpos( $file, $plugins_dir ) !== false ) {
370
+                $source = explode( "/", plugin_basename( $file ) );
371
+            } else if ( function_exists( 'get_theme_root' ) ) {
372
+                $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
373
+
374
+                if ( strpos( $file, $themes_dir ) !== false ) {
375
+                    $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
376
+                }
377
+            }
378 378
 
379
-			echo '<meta name="generator" content="WP Super Duper v' . esc_attr( $this->version ) . '"' . ( ! empty( $source[0] ) ? ' data-sd-source="' . esc_attr( $source[0] ) . '"' : '' ) . ' />';
380
-		}
379
+            echo '<meta name="generator" content="WP Super Duper v' . esc_attr( $this->version ) . '"' . ( ! empty( $source[0] ) ? ' data-sd-source="' . esc_attr( $source[0] ) . '"' : '' ) . ' />';
380
+        }
381 381
 
382
-		/**
383
-		 * Get widget settings.
384
-		 *
385
-		 * @since 1.0.0
386
-		 */
387
-		public static function get_widget_settings() {
388
-			global $sd_widgets;
389
-
390
-			$shortcode = isset( $_REQUEST['shortcode'] ) && $_REQUEST['shortcode'] ? sanitize_title_with_dashes( $_REQUEST['shortcode'] ) : '';
391
-			if ( ! $shortcode ) {
392
-				wp_die();
393
-			}
394
-			$widget_args = isset( $sd_widgets[ $shortcode ] ) ? $sd_widgets[ $shortcode ] : '';
395
-			if ( ! $widget_args ) {
396
-				wp_die();
397
-			}
398
-			$class_name = isset( $widget_args['class_name'] ) && $widget_args['class_name'] ? $widget_args['class_name'] : '';
399
-			if ( ! $class_name ) {
400
-				wp_die();
401
-			}
382
+        /**
383
+         * Get widget settings.
384
+         *
385
+         * @since 1.0.0
386
+         */
387
+        public static function get_widget_settings() {
388
+            global $sd_widgets;
402 389
 
403
-			// invoke an instance method
404
-			$widget = new $class_name;
390
+            $shortcode = isset( $_REQUEST['shortcode'] ) && $_REQUEST['shortcode'] ? sanitize_title_with_dashes( $_REQUEST['shortcode'] ) : '';
391
+            if ( ! $shortcode ) {
392
+                wp_die();
393
+            }
394
+            $widget_args = isset( $sd_widgets[ $shortcode ] ) ? $sd_widgets[ $shortcode ] : '';
395
+            if ( ! $widget_args ) {
396
+                wp_die();
397
+            }
398
+            $class_name = isset( $widget_args['class_name'] ) && $widget_args['class_name'] ? $widget_args['class_name'] : '';
399
+            if ( ! $class_name ) {
400
+                wp_die();
401
+            }
402
+
403
+            // invoke an instance method
404
+            $widget = new $class_name;
405 405
 
406
-			ob_start();
407
-			$widget->form( array() );
408
-			$form = ob_get_clean();
409
-			echo "<form id='$shortcode'>" . $form . "<div class=\"widget-control-save\"></div></form>";
410
-			echo "<style>" . $widget->widget_css() . "</style>";
411
-			echo "<script>" . $widget->widget_js() . "</script>";
412
-			?>
406
+            ob_start();
407
+            $widget->form( array() );
408
+            $form = ob_get_clean();
409
+            echo "<form id='$shortcode'>" . $form . "<div class=\"widget-control-save\"></div></form>";
410
+            echo "<style>" . $widget->widget_css() . "</style>";
411
+            echo "<script>" . $widget->widget_js() . "</script>";
412
+            ?>
413 413
 			<?php
414
-			wp_die();
415
-		}
414
+            wp_die();
415
+        }
416 416
 
417
-		/**
418
-		 * Insert shortcode builder button to classic editor (not inside Gutenberg, not needed).
419
-		 *
420
-		 * @param string $editor_id Optional. Shortcode editor id. Default null.
421
-		 * @param string $insert_shortcode_function Optional. Insert shortcode function. Default null.
422
-		 *
423
-		 *@since 1.0.0
424
-		 *
425
-		 */
426
-		public static function shortcode_insert_button( $editor_id = '', $insert_shortcode_function = '' ) {
427
-			global $sd_widgets, $shortcode_insert_button_once;
428
-			if ( $shortcode_insert_button_once ) {
429
-				return;
430
-			}
431
-			add_thickbox();
417
+        /**
418
+         * Insert shortcode builder button to classic editor (not inside Gutenberg, not needed).
419
+         *
420
+         * @param string $editor_id Optional. Shortcode editor id. Default null.
421
+         * @param string $insert_shortcode_function Optional. Insert shortcode function. Default null.
422
+         *
423
+         *@since 1.0.0
424
+         *
425
+         */
426
+        public static function shortcode_insert_button( $editor_id = '', $insert_shortcode_function = '' ) {
427
+            global $sd_widgets, $shortcode_insert_button_once;
428
+            if ( $shortcode_insert_button_once ) {
429
+                return;
430
+            }
431
+            add_thickbox();
432 432
 
433 433
 
434
-			/**
435
-			 * Cornerstone makes us play dirty tricks :/
436
-			 * All media_buttons are removed via JS unless they are two specific id's so we wrap our content in this ID so it is not removed.
437
-			 */
438
-			if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
439
-				echo '<span id="insert-media-button">';
440
-			}
434
+            /**
435
+             * Cornerstone makes us play dirty tricks :/
436
+             * All media_buttons are removed via JS unless they are two specific id's so we wrap our content in this ID so it is not removed.
437
+             */
438
+            if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
439
+                echo '<span id="insert-media-button">';
440
+            }
441 441
 
442
-			echo self::shortcode_button( 'this', 'true' );
442
+            echo self::shortcode_button( 'this', 'true' );
443 443
 
444
-			// see opening note
445
-			if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
446
-				echo '</span>'; // end #insert-media-button
447
-			}
444
+            // see opening note
445
+            if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
446
+                echo '</span>'; // end #insert-media-button
447
+            }
448 448
 
449
-			// Add separate script for generatepress theme sections
450
-			if ( function_exists( 'generate_sections_sections_metabox' ) && did_action( 'generate_sections_metabox' ) ) {
451
-			} else {
452
-				self::shortcode_insert_button_script( $editor_id, $insert_shortcode_function );
453
-			}
449
+            // Add separate script for generatepress theme sections
450
+            if ( function_exists( 'generate_sections_sections_metabox' ) && did_action( 'generate_sections_metabox' ) ) {
451
+            } else {
452
+                self::shortcode_insert_button_script( $editor_id, $insert_shortcode_function );
453
+            }
454 454
 
455
-			$shortcode_insert_button_once = true;
456
-		}
455
+            $shortcode_insert_button_once = true;
456
+        }
457 457
 
458
-		/**
459
-		 * Gets the shortcode insert button html.
460
-		 *
461
-		 * @param string $id
462
-		 * @param string $search_for_id
463
-		 *
464
-		 * @return mixed
465
-		 */
466
-		public static function shortcode_button( $id = '', $search_for_id = '' ) {
467
-			ob_start();
468
-			?>
458
+        /**
459
+         * Gets the shortcode insert button html.
460
+         *
461
+         * @param string $id
462
+         * @param string $search_for_id
463
+         *
464
+         * @return mixed
465
+         */
466
+        public static function shortcode_button( $id = '', $search_for_id = '' ) {
467
+            ob_start();
468
+            ?>
469 469
 			<span class="sd-lable-shortcode-inserter">
470 470
 				<a onclick="sd_ajax_get_picker(<?php echo $id;
471
-				if ( $search_for_id ) {
472
-					echo "," . $search_for_id;
473
-				} ?>);" href="#TB_inline?width=100%&height=550&inlineId=super-duper-content-ajaxed"
471
+                if ( $search_for_id ) {
472
+                    echo "," . $search_for_id;
473
+                } ?>);" href="#TB_inline?width=100%&height=550&inlineId=super-duper-content-ajaxed"
474 474
 				   class="thickbox button super-duper-content-open" title="Add Shortcode">
475 475
 					<span style="vertical-align: middle;line-height: 18px;font-size: 20px;"
476 476
 						  class="dashicons dashicons-screenoptions"></span>
@@ -481,21 +481,21 @@  discard block
 block discarded – undo
481 481
 			</span>
482 482
 
483 483
 			<?php
484
-			$html = ob_get_clean();
484
+            $html = ob_get_clean();
485 485
 
486
-			// remove line breaks so we can use it in js
487
-			return preg_replace( "/\r|\n/", "", trim( $html ) );
488
-		}
486
+            // remove line breaks so we can use it in js
487
+            return preg_replace( "/\r|\n/", "", trim( $html ) );
488
+        }
489 489
 
490
-		/**
491
-		 * Makes SD work with the siteOrigin page builder.
492
-		 *
493
-		 * @return mixed
494
-		 *@since 1.0.6
495
-		 */
496
-		public static function siteorigin_js() {
497
-			ob_start();
498
-			?>
490
+        /**
491
+         * Makes SD work with the siteOrigin page builder.
492
+         *
493
+         * @return mixed
494
+         *@since 1.0.6
495
+         */
496
+        public static function siteorigin_js() {
497
+            ob_start();
498
+            ?>
499 499
 			<script>
500 500
 				/**
501 501
 				 * Check a form to see what items should be shown or hidden.
@@ -571,29 +571,29 @@  discard block
 block discarded – undo
571 571
 				});
572 572
 			</script>
573 573
 			<?php
574
-			$output = ob_get_clean();
574
+            $output = ob_get_clean();
575 575
 
576
-			/*
576
+            /*
577 577
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
578 578
 			 */
579 579
 
580
-			return str_replace( array(
581
-				'<script>',
582
-				'</script>'
583
-			), '', $output );
584
-		}
580
+            return str_replace( array(
581
+                '<script>',
582
+                '</script>'
583
+            ), '', $output );
584
+        }
585 585
 
586
-		/**
587
-		 * Output the JS and CSS for the shortcode insert button.
588
-		 *
589
-		 * @param string $editor_id
590
-		 * @param string $insert_shortcode_function
591
-		 *
592
-		 *@since 1.0.6
593
-		 *
594
-		 */
595
-		public static function shortcode_insert_button_script( $editor_id = '', $insert_shortcode_function = '' ) {
596
-			?>
586
+        /**
587
+         * Output the JS and CSS for the shortcode insert button.
588
+         *
589
+         * @param string $editor_id
590
+         * @param string $insert_shortcode_function
591
+         *
592
+         *@since 1.0.6
593
+         *
594
+         */
595
+        public static function shortcode_insert_button_script( $editor_id = '', $insert_shortcode_function = '' ) {
596
+            ?>
597 597
 			<style>
598 598
 				.sd-shortcode-left-wrap {
599 599
 					float: left;
@@ -721,35 +721,35 @@  discard block
 block discarded – undo
721 721
 				<?php } ?>
722 722
 			</style>
723 723
 			<?php
724
-			if ( class_exists( 'SiteOrigin_Panels' ) ) {
725
-				echo "<script>" . self::siteorigin_js() . "</script>";
726
-			}
727
-			?>
724
+            if ( class_exists( 'SiteOrigin_Panels' ) ) {
725
+                echo "<script>" . self::siteorigin_js() . "</script>";
726
+            }
727
+            ?>
728 728
 			<script>
729 729
 				<?php
730
-				if(! empty( $insert_shortcode_function )){
731
-					echo $insert_shortcode_function;
732
-				}else{
733
-
734
-				/**
735
-				 * Function for super duper insert shortcode.
736
-				 *
737
-				 * @since 1.0.0
738
-				 */
739
-				?>
730
+                if(! empty( $insert_shortcode_function )){
731
+                    echo $insert_shortcode_function;
732
+                }else{
733
+
734
+                /**
735
+                 * Function for super duper insert shortcode.
736
+                 *
737
+                 * @since 1.0.0
738
+                 */
739
+                ?>
740 740
 				function sd_insert_shortcode($editor_id) {
741 741
 					$shortcode = jQuery('#TB_ajaxContent #sd-shortcode-output').val();
742 742
 					if ($shortcode) {
743 743
 						if (!$editor_id) {
744 744
 							<?php
745
-							if ( isset( $_REQUEST['et_fb'] ) ) {
746
-								echo '$editor_id = "#main_content_content_vb_tiny_mce";';
747
-							} elseif ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) {
748
-								echo '$editor_id = "#elementor-controls .wp-editor-container textarea";';
749
-							} else {
750
-								echo '$editor_id = "#wp-content-editor-container textarea";';
751
-							}
752
-							?>
745
+                            if ( isset( $_REQUEST['et_fb'] ) ) {
746
+                                echo '$editor_id = "#main_content_content_vb_tiny_mce";';
747
+                            } elseif ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) {
748
+                                echo '$editor_id = "#elementor-controls .wp-editor-container textarea";';
749
+                            } else {
750
+                                echo '$editor_id = "#wp-content-editor-container textarea";';
751
+                            }
752
+                            ?>
753 753
 						} else {
754 754
 							$editor_id = '#' + $editor_id;
755 755
 						}
@@ -1063,18 +1063,18 @@  discard block
 block discarded – undo
1063 1063
 				}
1064 1064
 			</script>
1065 1065
 			<?php
1066
-		}
1066
+        }
1067 1067
 
1068
-		/**
1069
-		 * Gets some CSS for the widgets screen.
1070
-		 *
1071
-		 * @param bool $advanced If we should include advanced CSS.
1072
-		 *
1073
-		 * @return mixed
1074
-		 */
1075
-		public function widget_css( $advanced = true ) {
1076
-			ob_start();
1077
-			?>
1068
+        /**
1069
+         * Gets some CSS for the widgets screen.
1070
+         *
1071
+         * @param bool $advanced If we should include advanced CSS.
1072
+         *
1073
+         * @return mixed
1074
+         */
1075
+        public function widget_css( $advanced = true ) {
1076
+            ob_start();
1077
+            ?>
1078 1078
 			<style>
1079 1079
 				<?php if( $advanced ){ ?>
1080 1080
 				.sd-advanced-setting {
@@ -1114,26 +1114,26 @@  discard block
 block discarded – undo
1114 1114
 				.elementor-control .sd-argument select[multiple] option{padding:3px}
1115 1115
 			</style>
1116 1116
 			<?php
1117
-			$output = ob_get_clean();
1117
+            $output = ob_get_clean();
1118 1118
 
1119
-			/*
1119
+            /*
1120 1120
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1121 1121
 			 */
1122 1122
 
1123
-			return str_replace( array(
1124
-				'<style>',
1125
-				'</style>'
1126
-			), '', $output );
1127
-		}
1123
+            return str_replace( array(
1124
+                '<style>',
1125
+                '</style>'
1126
+            ), '', $output );
1127
+        }
1128 1128
 
1129
-		/**
1130
-		 * Gets some JS for the widgets screen.
1131
-		 *
1132
-		 * @return mixed
1133
-		 */
1134
-		public function widget_js() {
1135
-			ob_start();
1136
-			?>
1129
+        /**
1130
+         * Gets some JS for the widgets screen.
1131
+         *
1132
+         * @return mixed
1133
+         */
1134
+        public function widget_js() {
1135
+            ob_start();
1136
+            ?>
1137 1137
 			<script>
1138 1138
 
1139 1139
 				/**
@@ -1284,513 +1284,513 @@  discard block
 block discarded – undo
1284 1284
 				<?php do_action( 'wp_super_duper_widget_js', $this ); ?>
1285 1285
 			</script>
1286 1286
 			<?php
1287
-			$output = ob_get_clean();
1287
+            $output = ob_get_clean();
1288 1288
 
1289
-			/*
1289
+            /*
1290 1290
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1291 1291
 			 */
1292 1292
 
1293
-			return str_replace( array(
1294
-				'<script>',
1295
-				'</script>'
1296
-			), '', $output );
1297
-		}
1293
+            return str_replace( array(
1294
+                '<script>',
1295
+                '</script>'
1296
+            ), '', $output );
1297
+        }
1298 1298
 
1299 1299
 
1300
-		/**
1301
-		 * Set the name from the argument key.
1302
-		 *
1303
-		 * @param $options
1304
-		 *
1305
-		 * @return mixed
1306
-		 */
1307
-		private function add_name_from_key( $options, $arguments = false ) {
1308
-			if ( ! empty( $options['arguments'] ) ) {
1309
-				foreach ( $options['arguments'] as $key => $val ) {
1310
-					$options['arguments'][ $key ]['name'] = $key;
1311
-				}
1312
-			} elseif ( $arguments && is_array( $options ) && ! empty( $options ) ) {
1313
-				foreach ( $options as $key => $val ) {
1314
-					$options[ $key ]['name'] = $key;
1315
-				}
1316
-			}
1300
+        /**
1301
+         * Set the name from the argument key.
1302
+         *
1303
+         * @param $options
1304
+         *
1305
+         * @return mixed
1306
+         */
1307
+        private function add_name_from_key( $options, $arguments = false ) {
1308
+            if ( ! empty( $options['arguments'] ) ) {
1309
+                foreach ( $options['arguments'] as $key => $val ) {
1310
+                    $options['arguments'][ $key ]['name'] = $key;
1311
+                }
1312
+            } elseif ( $arguments && is_array( $options ) && ! empty( $options ) ) {
1313
+                foreach ( $options as $key => $val ) {
1314
+                    $options[ $key ]['name'] = $key;
1315
+                }
1316
+            }
1317 1317
 
1318
-			return $options;
1319
-		}
1318
+            return $options;
1319
+        }
1320 1320
 
1321
-		/**
1322
-		 * Register the parent shortcode.
1323
-		 *
1324
-		 * @since 1.0.0
1325
-		 */
1326
-		public function register_shortcode() {
1327
-			add_shortcode( $this->base_id, array( $this, 'shortcode_output' ) );
1328
-			add_action( 'wp_ajax_super_duper_output_shortcode', array( $this, 'render_shortcode' ) );
1329
-		}
1321
+        /**
1322
+         * Register the parent shortcode.
1323
+         *
1324
+         * @since 1.0.0
1325
+         */
1326
+        public function register_shortcode() {
1327
+            add_shortcode( $this->base_id, array( $this, 'shortcode_output' ) );
1328
+            add_action( 'wp_ajax_super_duper_output_shortcode', array( $this, 'render_shortcode' ) );
1329
+        }
1330 1330
 
1331
-		/**
1332
-		 * Render the shortcode via ajax so we can return it to Gutenberg.
1333
-		 *
1334
-		 * @since 1.0.0
1335
-		 */
1336
-		public function render_shortcode() {
1337
-			check_ajax_referer( 'super_duper_output_shortcode', '_ajax_nonce', true );
1338
-			if ( ! current_user_can( 'manage_options' ) ) {
1339
-				wp_die();
1340
-			}
1331
+        /**
1332
+         * Render the shortcode via ajax so we can return it to Gutenberg.
1333
+         *
1334
+         * @since 1.0.0
1335
+         */
1336
+        public function render_shortcode() {
1337
+            check_ajax_referer( 'super_duper_output_shortcode', '_ajax_nonce', true );
1338
+            if ( ! current_user_can( 'manage_options' ) ) {
1339
+                wp_die();
1340
+            }
1341 1341
 
1342
-			// we might need the $post value here so lets set it.
1343
-			if ( isset( $_POST['post_id'] ) && $_POST['post_id'] ) {
1344
-				$post_obj = get_post( absint( $_POST['post_id'] ) );
1345
-				if ( ! empty( $post_obj ) && empty( $post ) ) {
1346
-					global $post;
1347
-					$post = $post_obj;
1348
-				}
1349
-			}
1342
+            // we might need the $post value here so lets set it.
1343
+            if ( isset( $_POST['post_id'] ) && $_POST['post_id'] ) {
1344
+                $post_obj = get_post( absint( $_POST['post_id'] ) );
1345
+                if ( ! empty( $post_obj ) && empty( $post ) ) {
1346
+                    global $post;
1347
+                    $post = $post_obj;
1348
+                }
1349
+            }
1350 1350
 
1351
-			if ( isset( $_POST['shortcode'] ) && $_POST['shortcode'] ) {
1352
-				$is_preview = $this->is_preview();
1353
-				$shortcode_name   = sanitize_title_with_dashes( $_POST['shortcode'] );
1354
-				$attributes_array = isset( $_POST['attributes'] ) && $_POST['attributes'] ? $_POST['attributes'] : array();
1355
-				$attributes       = '';
1356
-				if ( ! empty( $attributes_array ) ) {
1357
-					foreach ( $attributes_array as $key => $value ) {
1358
-						if ( is_array( $value ) ) {
1359
-							$value = implode( ",", $value );
1360
-						}
1351
+            if ( isset( $_POST['shortcode'] ) && $_POST['shortcode'] ) {
1352
+                $is_preview = $this->is_preview();
1353
+                $shortcode_name   = sanitize_title_with_dashes( $_POST['shortcode'] );
1354
+                $attributes_array = isset( $_POST['attributes'] ) && $_POST['attributes'] ? $_POST['attributes'] : array();
1355
+                $attributes       = '';
1356
+                if ( ! empty( $attributes_array ) ) {
1357
+                    foreach ( $attributes_array as $key => $value ) {
1358
+                        if ( is_array( $value ) ) {
1359
+                            $value = implode( ",", $value );
1360
+                        }
1361
+
1362
+                        if ( ! empty( $value ) ) {
1363
+                            $value = wp_unslash( $value );
1364
+
1365
+                            // Encode [ and ].
1366
+                            if ( $is_preview ) {
1367
+                                $value = $this->encode_shortcodes( $value );
1368
+                            }
1369
+                        }
1370
+                        $attributes .= " " . esc_attr( sanitize_title_with_dashes( $key ) ) . "='" . esc_attr( $value ) . "' ";
1371
+                    }
1372
+                }
1361 1373
 
1362
-						if ( ! empty( $value ) ) {
1363
-							$value = wp_unslash( $value );
1374
+                $shortcode = "[" . esc_attr( $shortcode_name ) . " " . $attributes . "]";
1364 1375
 
1365
-							// Encode [ and ].
1366
-							if ( $is_preview ) {
1367
-								$value = $this->encode_shortcodes( $value );
1368
-							}
1369
-						}
1370
-						$attributes .= " " . esc_attr( sanitize_title_with_dashes( $key ) ) . "='" . esc_attr( $value ) . "' ";
1371
-					}
1372
-				}
1376
+                $content = do_shortcode( $shortcode );
1373 1377
 
1374
-				$shortcode = "[" . esc_attr( $shortcode_name ) . " " . $attributes . "]";
1378
+                // Decode [ and ].
1379
+                if ( ! empty( $content ) && $is_preview ) {
1380
+                    $content = $this->decode_shortcodes( $content );
1381
+                }
1375 1382
 
1376
-				$content = do_shortcode( $shortcode );
1383
+                echo $content;
1384
+            }
1385
+            wp_die();
1386
+        }
1377 1387
 
1378
-				// Decode [ and ].
1379
-				if ( ! empty( $content ) && $is_preview ) {
1380
-					$content = $this->decode_shortcodes( $content );
1381
-				}
1388
+        /**
1389
+         * Output the shortcode.
1390
+         *
1391
+         * @param array $args
1392
+         * @param string $content
1393
+         *
1394
+         * @return string
1395
+         */
1396
+        public function shortcode_output( $args = array(), $content = '' ) {
1397
+            $_instance = $args;
1382 1398
 
1383
-				echo $content;
1384
-			}
1385
-			wp_die();
1386
-		}
1399
+            $args = $this->argument_values( $args );
1387 1400
 
1388
-		/**
1389
-		 * Output the shortcode.
1390
-		 *
1391
-		 * @param array $args
1392
-		 * @param string $content
1393
-		 *
1394
-		 * @return string
1395
-		 */
1396
-		public function shortcode_output( $args = array(), $content = '' ) {
1397
-			$_instance = $args;
1398
-
1399
-			$args = $this->argument_values( $args );
1400
-
1401
-			// add extra argument so we know its a output to gutenberg
1402
-			//$args
1403
-			$args = $this->string_to_bool( $args );
1404
-
1405
-			// if we have a enclosed shortcode we add it to the special `html` argument
1406
-			if ( ! empty( $content ) ) {
1407
-				$args['html'] = $content;
1408
-			}
1401
+            // add extra argument so we know its a output to gutenberg
1402
+            //$args
1403
+            $args = $this->string_to_bool( $args );
1409 1404
 
1410
-			if ( ! $this->is_preview() ) {
1411
-				/**
1412
-				 * Filters the settings for a particular widget args.
1413
-				 *
1414
-				 * @param array          $args      The current widget instance's settings.
1415
-				 * @param WP_Super_Duper $widget    The current widget settings.
1416
-				 * @param array          $_instance An array of default widget arguments.
1417
-				 *
1418
-				 *@since 1.0.28
1419
-				 *
1420
-				 */
1421
-				$args = apply_filters( 'wp_super_duper_widget_display_callback', $args, $this, $_instance );
1405
+            // if we have a enclosed shortcode we add it to the special `html` argument
1406
+            if ( ! empty( $content ) ) {
1407
+                $args['html'] = $content;
1408
+            }
1422 1409
 
1423
-				if ( ! is_array( $args ) ) {
1424
-					return $args;
1425
-				}
1426
-			}
1410
+            if ( ! $this->is_preview() ) {
1411
+                /**
1412
+                 * Filters the settings for a particular widget args.
1413
+                 *
1414
+                 * @param array          $args      The current widget instance's settings.
1415
+                 * @param WP_Super_Duper $widget    The current widget settings.
1416
+                 * @param array          $_instance An array of default widget arguments.
1417
+                 *
1418
+                 *@since 1.0.28
1419
+                 *
1420
+                 */
1421
+                $args = apply_filters( 'wp_super_duper_widget_display_callback', $args, $this, $_instance );
1422
+
1423
+                if ( ! is_array( $args ) ) {
1424
+                    return $args;
1425
+                }
1426
+            }
1427 1427
 
1428
-			$class = isset( $this->options['widget_ops']['classname'] ) ? esc_attr( $this->options['widget_ops']['classname'] ) : '';
1429
-			$class .= " sdel-".$this->get_instance_hash();
1428
+            $class = isset( $this->options['widget_ops']['classname'] ) ? esc_attr( $this->options['widget_ops']['classname'] ) : '';
1429
+            $class .= " sdel-".$this->get_instance_hash();
1430 1430
 
1431
-			$class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
1432
-			$class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
1431
+            $class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
1432
+            $class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
1433 1433
 
1434
-			$attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
1435
-			$attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this );
1434
+            $attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
1435
+            $attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this );
1436 1436
 
1437
-			$shortcode_args = array();
1438
-			$output         = '';
1439
-			$no_wrap        = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
1440
-			if ( isset( $args['no_wrap'] ) && $args['no_wrap'] ) {
1441
-				$no_wrap = true;
1442
-			}
1443
-			$main_content = $this->output( $args, $shortcode_args, $content );
1444
-			if ( $main_content && ! $no_wrap ) {
1445
-				// wrap the shortcode in a div with the same class as the widget
1446
-				$output .= '<div class="' . $class . '" ' . $attrs . '>';
1447
-				if ( ! empty( $args['title'] ) ) {
1448
-					// if its a shortcode and there is a title try to grab the title wrappers
1449
-					$shortcode_args = array( 'before_title' => '', 'after_title' => '' );
1450
-					if ( empty( $instance ) ) {
1451
-						global $wp_registered_sidebars;
1452
-						if ( ! empty( $wp_registered_sidebars ) ) {
1453
-							foreach ( $wp_registered_sidebars as $sidebar ) {
1454
-								if ( ! empty( $sidebar['before_title'] ) ) {
1455
-									$shortcode_args['before_title'] = $sidebar['before_title'];
1456
-									$shortcode_args['after_title']  = $sidebar['after_title'];
1457
-									break;
1458
-								}
1459
-							}
1460
-						}
1461
-					}
1462
-					$output .= $this->output_title( $shortcode_args, $args );
1463
-				}
1464
-				$output .= $main_content;
1465
-				$output .= '</div>';
1466
-			} elseif ( $main_content && $no_wrap ) {
1467
-				$output .= $main_content;
1468
-			}
1437
+            $shortcode_args = array();
1438
+            $output         = '';
1439
+            $no_wrap        = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
1440
+            if ( isset( $args['no_wrap'] ) && $args['no_wrap'] ) {
1441
+                $no_wrap = true;
1442
+            }
1443
+            $main_content = $this->output( $args, $shortcode_args, $content );
1444
+            if ( $main_content && ! $no_wrap ) {
1445
+                // wrap the shortcode in a div with the same class as the widget
1446
+                $output .= '<div class="' . $class . '" ' . $attrs . '>';
1447
+                if ( ! empty( $args['title'] ) ) {
1448
+                    // if its a shortcode and there is a title try to grab the title wrappers
1449
+                    $shortcode_args = array( 'before_title' => '', 'after_title' => '' );
1450
+                    if ( empty( $instance ) ) {
1451
+                        global $wp_registered_sidebars;
1452
+                        if ( ! empty( $wp_registered_sidebars ) ) {
1453
+                            foreach ( $wp_registered_sidebars as $sidebar ) {
1454
+                                if ( ! empty( $sidebar['before_title'] ) ) {
1455
+                                    $shortcode_args['before_title'] = $sidebar['before_title'];
1456
+                                    $shortcode_args['after_title']  = $sidebar['after_title'];
1457
+                                    break;
1458
+                                }
1459
+                            }
1460
+                        }
1461
+                    }
1462
+                    $output .= $this->output_title( $shortcode_args, $args );
1463
+                }
1464
+                $output .= $main_content;
1465
+                $output .= '</div>';
1466
+            } elseif ( $main_content && $no_wrap ) {
1467
+                $output .= $main_content;
1468
+            }
1469 1469
 
1470
-			// if preview show a placeholder if empty
1471
-			if ( $this->is_preview() && $output == '' ) {
1472
-				$output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
1473
-			}
1470
+            // if preview show a placeholder if empty
1471
+            if ( $this->is_preview() && $output == '' ) {
1472
+                $output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
1473
+            }
1474 1474
 
1475
-			return apply_filters( 'wp_super_duper_widget_output', $output, $args, $shortcode_args, $this );
1476
-		}
1475
+            return apply_filters( 'wp_super_duper_widget_output', $output, $args, $shortcode_args, $this );
1476
+        }
1477 1477
 
1478
-		/**
1479
-		 * Placeholder text to show if output is empty and we are on a preview/builder page.
1480
-		 *
1481
-		 * @param string $name
1482
-		 *
1483
-		 * @return string
1484
-		 */
1485
-		public function preview_placeholder_text( $name = '' ) {
1486
-			return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . wp_sprintf( __( 'Placeholder for: %s', 'ayecode-connect' ), $name ) . "</div>";
1487
-		}
1478
+        /**
1479
+         * Placeholder text to show if output is empty and we are on a preview/builder page.
1480
+         *
1481
+         * @param string $name
1482
+         *
1483
+         * @return string
1484
+         */
1485
+        public function preview_placeholder_text( $name = '' ) {
1486
+            return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . wp_sprintf( __( 'Placeholder for: %s', 'ayecode-connect' ), $name ) . "</div>";
1487
+        }
1488 1488
 
1489
-		/**
1490
-		 * Sometimes booleans values can be turned to strings, so we fix that.
1491
-		 *
1492
-		 * @param $options
1493
-		 *
1494
-		 * @return mixed
1495
-		 */
1496
-		public function string_to_bool( $options ) {
1497
-			// convert bool strings to booleans
1498
-			foreach ( $options as $key => $val ) {
1499
-				if ( $val == 'false' ) {
1500
-					$options[ $key ] = false;
1501
-				} elseif ( $val == 'true' ) {
1502
-					$options[ $key ] = true;
1503
-				}
1504
-			}
1489
+        /**
1490
+         * Sometimes booleans values can be turned to strings, so we fix that.
1491
+         *
1492
+         * @param $options
1493
+         *
1494
+         * @return mixed
1495
+         */
1496
+        public function string_to_bool( $options ) {
1497
+            // convert bool strings to booleans
1498
+            foreach ( $options as $key => $val ) {
1499
+                if ( $val == 'false' ) {
1500
+                    $options[ $key ] = false;
1501
+                } elseif ( $val == 'true' ) {
1502
+                    $options[ $key ] = true;
1503
+                }
1504
+            }
1505 1505
 
1506
-			return $options;
1507
-		}
1506
+            return $options;
1507
+        }
1508 1508
 
1509
-		/**
1510
-		 * Get the argument values that are also filterable.
1511
-		 *
1512
-		 * @param $instance
1513
-		 *
1514
-		 * @return array
1515
-		 *@since 1.0.12 Don't set checkbox default value if the value is empty.
1516
-		 *
1517
-		 */
1518
-		public function argument_values( $instance ) {
1519
-			$argument_values = array();
1520
-
1521
-			// set widget instance
1522
-			$this->instance = $instance;
1523
-
1524
-			if ( empty( $this->arguments ) ) {
1525
-				$this->arguments = $this->get_arguments();
1526
-			}
1509
+        /**
1510
+         * Get the argument values that are also filterable.
1511
+         *
1512
+         * @param $instance
1513
+         *
1514
+         * @return array
1515
+         *@since 1.0.12 Don't set checkbox default value if the value is empty.
1516
+         *
1517
+         */
1518
+        public function argument_values( $instance ) {
1519
+            $argument_values = array();
1527 1520
 
1528
-			if ( ! empty( $this->arguments ) ) {
1529
-				foreach ( $this->arguments as $key => $args ) {
1530
-					// set the input name from the key
1531
-					$args['name'] = $key;
1532
-					//
1533
-					$argument_values[ $key ] = isset( $instance[ $key ] ) ? $instance[ $key ] : '';
1534
-					if ( $args['type'] == 'checkbox' && $argument_values[ $key ] == '' ) {
1535
-						// don't set default for an empty checkbox
1536
-					} elseif ( $argument_values[ $key ] == '' && isset( $args['default'] ) ) {
1537
-						$argument_values[ $key ] = $args['default'];
1538
-					}
1539
-				}
1540
-			}
1521
+            // set widget instance
1522
+            $this->instance = $instance;
1541 1523
 
1542
-			return $argument_values;
1543
-		}
1524
+            if ( empty( $this->arguments ) ) {
1525
+                $this->arguments = $this->get_arguments();
1526
+            }
1544 1527
 
1545
-		/**
1546
-		 * Set arguments in super duper.
1547
-		 *
1548
-		 * @return array Set arguments.
1549
-		 *@since 1.0.0
1550
-		 *
1551
-		 */
1552
-		public function set_arguments() {
1553
-			return $this->arguments;
1554
-		}
1528
+            if ( ! empty( $this->arguments ) ) {
1529
+                foreach ( $this->arguments as $key => $args ) {
1530
+                    // set the input name from the key
1531
+                    $args['name'] = $key;
1532
+                    //
1533
+                    $argument_values[ $key ] = isset( $instance[ $key ] ) ? $instance[ $key ] : '';
1534
+                    if ( $args['type'] == 'checkbox' && $argument_values[ $key ] == '' ) {
1535
+                        // don't set default for an empty checkbox
1536
+                    } elseif ( $argument_values[ $key ] == '' && isset( $args['default'] ) ) {
1537
+                        $argument_values[ $key ] = $args['default'];
1538
+                    }
1539
+                }
1540
+            }
1555 1541
 
1556
-		/**
1557
-		 * Get arguments in super duper.
1558
-		 *
1559
-		 * @return array Get arguments.
1560
-		 *@since 1.0.0
1561
-		 *
1562
-		 */
1563
-		public function get_arguments() {
1564
-			if ( empty( $this->arguments ) ) {
1565
-				$this->arguments = $this->set_arguments();
1566
-			}
1542
+            return $argument_values;
1543
+        }
1567 1544
 
1568
-			$this->arguments = apply_filters( 'wp_super_duper_arguments', $this->arguments, $this->options, $this->instance );
1569
-			$this->arguments = $this->add_name_from_key( $this->arguments, true );
1545
+        /**
1546
+         * Set arguments in super duper.
1547
+         *
1548
+         * @return array Set arguments.
1549
+         *@since 1.0.0
1550
+         *
1551
+         */
1552
+        public function set_arguments() {
1553
+            return $this->arguments;
1554
+        }
1570 1555
 
1571
-			return $this->arguments;
1572
-		}
1556
+        /**
1557
+         * Get arguments in super duper.
1558
+         *
1559
+         * @return array Get arguments.
1560
+         *@since 1.0.0
1561
+         *
1562
+         */
1563
+        public function get_arguments() {
1564
+            if ( empty( $this->arguments ) ) {
1565
+                $this->arguments = $this->set_arguments();
1566
+            }
1573 1567
 
1574
-		/**
1575
-		 * This is the main output class for all 3 items, widget, shortcode and block, it is extended in the calling class.
1576
-		 *
1577
-		 * @param array $args
1578
-		 * @param array $widget_args
1579
-		 * @param string $content
1580
-		 */
1581
-		public function output( $args = array(), $widget_args = array(), $content = '' ) {
1568
+            $this->arguments = apply_filters( 'wp_super_duper_arguments', $this->arguments, $this->options, $this->instance );
1569
+            $this->arguments = $this->add_name_from_key( $this->arguments, true );
1582 1570
 
1583
-		}
1571
+            return $this->arguments;
1572
+        }
1584 1573
 
1585
-		/**
1586
-		 * Add the dynamic block code inline when the wp-block in enqueued.
1587
-		 */
1588
-		public function register_block() {
1589
-			wp_add_inline_script( 'wp-blocks', $this->block() );
1590
-			if ( class_exists( 'SiteOrigin_Panels' ) ) {
1591
-				wp_add_inline_script( 'wp-blocks', $this->siteorigin_js() );
1592
-			}
1593
-		}
1574
+        /**
1575
+         * This is the main output class for all 3 items, widget, shortcode and block, it is extended in the calling class.
1576
+         *
1577
+         * @param array $args
1578
+         * @param array $widget_args
1579
+         * @param string $content
1580
+         */
1581
+        public function output( $args = array(), $widget_args = array(), $content = '' ) {
1594 1582
 
1595
-		/**
1596
-		 * Check if we need to show advanced options.
1597
-		 *
1598
-		 * @return bool
1599
-		 */
1600
-		public function block_show_advanced() {
1601
-
1602
-			$show      = false;
1603
-			$arguments = $this->get_arguments();
1604
-
1605
-			if ( ! empty( $arguments ) ) {
1606
-				foreach ( $arguments as $argument ) {
1607
-					if ( isset( $argument['advanced'] ) && $argument['advanced'] ) {
1608
-						$show = true;
1609
-						break; // no need to continue if we know we have it
1610
-					}
1611
-				}
1612
-			}
1583
+        }
1613 1584
 
1614
-			return $show;
1615
-		}
1585
+        /**
1586
+         * Add the dynamic block code inline when the wp-block in enqueued.
1587
+         */
1588
+        public function register_block() {
1589
+            wp_add_inline_script( 'wp-blocks', $this->block() );
1590
+            if ( class_exists( 'SiteOrigin_Panels' ) ) {
1591
+                wp_add_inline_script( 'wp-blocks', $this->siteorigin_js() );
1592
+            }
1593
+        }
1616 1594
 
1617
-		/**
1618
-		 * Get the url path to the current folder.
1619
-		 *
1620
-		 * @return string
1621
-		 */
1622
-		public function get_url() {
1623
-			$url = $this->url;
1624
-
1625
-			if ( ! $url ) {
1626
-				$content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) );
1627
-				$content_url = untrailingslashit( WP_CONTENT_URL );
1628
-
1629
-				// Replace http:// to https://.
1630
-				if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) {
1631
-					$content_url = str_replace( 'http://', 'https://', $content_url );
1632
-				}
1595
+        /**
1596
+         * Check if we need to show advanced options.
1597
+         *
1598
+         * @return bool
1599
+         */
1600
+        public function block_show_advanced() {
1633 1601
 
1634
-				// Check if we are inside a plugin
1635
-				$file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) );
1636
-				$url = str_replace( $content_dir, $content_url, $file_dir );
1637
-				$url = trailingslashit( $url );
1638
-				$this->url = $url;
1639
-			}
1602
+            $show      = false;
1603
+            $arguments = $this->get_arguments();
1640 1604
 
1641
-			return $url;
1642
-		}
1605
+            if ( ! empty( $arguments ) ) {
1606
+                foreach ( $arguments as $argument ) {
1607
+                    if ( isset( $argument['advanced'] ) && $argument['advanced'] ) {
1608
+                        $show = true;
1609
+                        break; // no need to continue if we know we have it
1610
+                    }
1611
+                }
1612
+            }
1643 1613
 
1644
-		/**
1645
-		 * Get the url path to the current folder.
1646
-		 *
1647
-		 * @return string
1648
-		 */
1649
-		public function get_url_old() {
1614
+            return $show;
1615
+        }
1650 1616
 
1651
-			$url = $this->url;
1617
+        /**
1618
+         * Get the url path to the current folder.
1619
+         *
1620
+         * @return string
1621
+         */
1622
+        public function get_url() {
1623
+            $url = $this->url;
1652 1624
 
1653
-			if ( ! $url ) {
1654
-				// check if we are inside a plugin
1655
-				$file_dir = str_replace( "/includes", "", dirname( __FILE__ ) );
1625
+            if ( ! $url ) {
1626
+                $content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) );
1627
+                $content_url = untrailingslashit( WP_CONTENT_URL );
1656 1628
 
1657
-				$dir_parts = explode( "/wp-content/", $file_dir );
1658
-				$url_parts = explode( "/wp-content/", plugins_url() );
1629
+                // Replace http:// to https://.
1630
+                if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) {
1631
+                    $content_url = str_replace( 'http://', 'https://', $content_url );
1632
+                }
1659 1633
 
1660
-				if ( ! empty( $url_parts[0] ) && ! empty( $dir_parts[1] ) ) {
1661
-					$url       = trailingslashit( $url_parts[0] . "/wp-content/" . $dir_parts[1] );
1662
-					$this->url = $url;
1663
-				}
1664
-			}
1634
+                // Check if we are inside a plugin
1635
+                $file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) );
1636
+                $url = str_replace( $content_dir, $content_url, $file_dir );
1637
+                $url = trailingslashit( $url );
1638
+                $this->url = $url;
1639
+            }
1665 1640
 
1641
+            return $url;
1642
+        }
1666 1643
 
1667
-			return $url;
1668
-		}
1644
+        /**
1645
+         * Get the url path to the current folder.
1646
+         *
1647
+         * @return string
1648
+         */
1649
+        public function get_url_old() {
1669 1650
 
1670
-		/**
1671
-		 * Generate the block icon.
1672
-		 *
1673
-		 * Enables the use of Font Awesome icons.
1674
-		 *
1675
-		 * @note xlink:href is actually deprecated but href is not supported by all so we use both.
1676
-		 *
1677
-		 * @param $icon
1678
-		 *
1679
-		 * @return string
1680
-		 *@since 1.1.0
1681
-		 */
1682
-		public function get_block_icon( $icon ) {
1683
-
1684
-			// check if we have a Font Awesome icon
1685
-			$fa_type = '';
1686
-			if ( substr( $icon, 0, 7 ) === "fas fa-" ) {
1687
-				$fa_type = 'solid';
1688
-			} elseif ( substr( $icon, 0, 7 ) === "far fa-" ) {
1689
-				$fa_type = 'regular';
1690
-			} elseif ( substr( $icon, 0, 7 ) === "fab fa-" ) {
1691
-				$fa_type = 'brands';
1692
-			} else {
1693
-				$icon = "'" . $icon . "'";
1694
-			}
1651
+            $url = $this->url;
1695 1652
 
1696
-			// set the icon if we found one
1697
-			if ( $fa_type ) {
1698
-				$fa_icon = str_replace( array( "fas fa-", "far fa-", "fab fa-" ), "", $icon );
1699
-				$icon    = "el('svg',{width: 20, height: 20, viewBox: '0 0 20 20'},el('use', {'xlink:href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "','href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "'}))";
1700
-			}
1653
+            if ( ! $url ) {
1654
+                // check if we are inside a plugin
1655
+                $file_dir = str_replace( "/includes", "", dirname( __FILE__ ) );
1701 1656
 
1702
-			return $icon;
1703
-		}
1657
+                $dir_parts = explode( "/wp-content/", $file_dir );
1658
+                $url_parts = explode( "/wp-content/", plugins_url() );
1704 1659
 
1705
-		public function group_arguments( $arguments ) {
1706
-			if ( ! empty( $arguments ) ) {
1707
-				$temp_arguments = array();
1708
-				$general        = __( "General", 'ayecode-connect' );
1709
-				$add_sections   = false;
1710
-				foreach ( $arguments as $key => $args ) {
1711
-					if ( isset( $args['group'] ) ) {
1712
-						$temp_arguments[ $args['group'] ][ $key ] = $args;
1713
-						$add_sections                             = true;
1714
-					} else {
1715
-						$temp_arguments[ $general ][ $key ] = $args;
1716
-					}
1717
-				}
1660
+                if ( ! empty( $url_parts[0] ) && ! empty( $dir_parts[1] ) ) {
1661
+                    $url       = trailingslashit( $url_parts[0] . "/wp-content/" . $dir_parts[1] );
1662
+                    $this->url = $url;
1663
+                }
1664
+            }
1718 1665
 
1719
-				// only add sections if more than one
1720
-				if ( $add_sections ) {
1721
-					$arguments = $temp_arguments;
1722
-				}
1723
-			}
1724 1666
 
1725
-			return $arguments;
1726
-		}
1667
+            return $url;
1668
+        }
1727 1669
 
1728
-		/**
1729
-		 * Parse used group tabs.
1730
-		 *
1731
-		 * @since 1.1.17
1732
-		 */
1733
-		public function group_block_tabs( $tabs, $arguments ) {
1734
-			if ( ! empty( $tabs ) && ! empty( $arguments ) ) {
1735
-				$has_sections = false;
1736
-
1737
-				foreach ( $this->arguments as $key => $args ) {
1738
-					if ( isset( $args['group'] ) ) {
1739
-						$has_sections = true;
1740
-						break;
1741
-					}
1742
-				}
1670
+        /**
1671
+         * Generate the block icon.
1672
+         *
1673
+         * Enables the use of Font Awesome icons.
1674
+         *
1675
+         * @note xlink:href is actually deprecated but href is not supported by all so we use both.
1676
+         *
1677
+         * @param $icon
1678
+         *
1679
+         * @return string
1680
+         *@since 1.1.0
1681
+         */
1682
+        public function get_block_icon( $icon ) {
1683
+
1684
+            // check if we have a Font Awesome icon
1685
+            $fa_type = '';
1686
+            if ( substr( $icon, 0, 7 ) === "fas fa-" ) {
1687
+                $fa_type = 'solid';
1688
+            } elseif ( substr( $icon, 0, 7 ) === "far fa-" ) {
1689
+                $fa_type = 'regular';
1690
+            } elseif ( substr( $icon, 0, 7 ) === "fab fa-" ) {
1691
+                $fa_type = 'brands';
1692
+            } else {
1693
+                $icon = "'" . $icon . "'";
1694
+            }
1743 1695
 
1744
-				if ( ! $has_sections ) {
1745
-					return $tabs;
1746
-				}
1696
+            // set the icon if we found one
1697
+            if ( $fa_type ) {
1698
+                $fa_icon = str_replace( array( "fas fa-", "far fa-", "fab fa-" ), "", $icon );
1699
+                $icon    = "el('svg',{width: 20, height: 20, viewBox: '0 0 20 20'},el('use', {'xlink:href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "','href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "'}))";
1700
+            }
1747 1701
 
1748
-				$new_tabs = array();
1702
+            return $icon;
1703
+        }
1749 1704
 
1750
-				foreach ( $tabs as $tab_key => $tab ) {
1751
-					$new_groups = array();
1705
+        public function group_arguments( $arguments ) {
1706
+            if ( ! empty( $arguments ) ) {
1707
+                $temp_arguments = array();
1708
+                $general        = __( "General", 'ayecode-connect' );
1709
+                $add_sections   = false;
1710
+                foreach ( $arguments as $key => $args ) {
1711
+                    if ( isset( $args['group'] ) ) {
1712
+                        $temp_arguments[ $args['group'] ][ $key ] = $args;
1713
+                        $add_sections                             = true;
1714
+                    } else {
1715
+                        $temp_arguments[ $general ][ $key ] = $args;
1716
+                    }
1717
+                }
1752 1718
 
1753
-					if ( ! empty( $tab['groups'] ) && is_array( $tab['groups'] ) ) {
1754
-						foreach ( $tab['groups'] as $group ) {
1755
-							if ( isset( $arguments[ $group ] ) ) {
1756
-								$new_groups[] = $group;
1757
-							}
1758
-						}
1759
-					}
1719
+                // only add sections if more than one
1720
+                if ( $add_sections ) {
1721
+                    $arguments = $temp_arguments;
1722
+                }
1723
+            }
1760 1724
 
1761
-					if ( ! empty( $new_groups ) ) {
1762
-						$tab['groups'] = $new_groups;
1725
+            return $arguments;
1726
+        }
1763 1727
 
1764
-						$new_tabs[ $tab_key ] = $tab;
1765
-					}
1766
-				}
1728
+        /**
1729
+         * Parse used group tabs.
1730
+         *
1731
+         * @since 1.1.17
1732
+         */
1733
+        public function group_block_tabs( $tabs, $arguments ) {
1734
+            if ( ! empty( $tabs ) && ! empty( $arguments ) ) {
1735
+                $has_sections = false;
1736
+
1737
+                foreach ( $this->arguments as $key => $args ) {
1738
+                    if ( isset( $args['group'] ) ) {
1739
+                        $has_sections = true;
1740
+                        break;
1741
+                    }
1742
+                }
1767 1743
 
1768
-				$tabs = $new_tabs;
1769
-			}
1744
+                if ( ! $has_sections ) {
1745
+                    return $tabs;
1746
+                }
1770 1747
 
1771
-			return $tabs;
1772
-		}
1748
+                $new_tabs = array();
1749
+
1750
+                foreach ( $tabs as $tab_key => $tab ) {
1751
+                    $new_groups = array();
1752
+
1753
+                    if ( ! empty( $tab['groups'] ) && is_array( $tab['groups'] ) ) {
1754
+                        foreach ( $tab['groups'] as $group ) {
1755
+                            if ( isset( $arguments[ $group ] ) ) {
1756
+                                $new_groups[] = $group;
1757
+                            }
1758
+                        }
1759
+                    }
1760
+
1761
+                    if ( ! empty( $new_groups ) ) {
1762
+                        $tab['groups'] = $new_groups;
1773 1763
 
1774
-		/**
1775
-		 * Output the JS for building the dynamic Guntenberg block.
1776
-		 *
1777
-		 * @return mixed
1778
-		 *@since 1.0.9 Save numbers as numbers and not strings.
1779
-		 * @since 1.1.0 Font Awesome classes can be used for icons.
1780
-		 * @since 1.0.4 Added block_wrap property which will set the block wrapping output element ie: div, span, p or empty for no wrap.
1781
-		 */
1782
-		public function block() {
1783
-			global $sd_is_js_functions_loaded, $aui_bs5;
1784
-
1785
-			$show_advanced = $this->block_show_advanced();
1786
-
1787
-			ob_start();
1788
-			?>
1764
+                        $new_tabs[ $tab_key ] = $tab;
1765
+                    }
1766
+                }
1767
+
1768
+                $tabs = $new_tabs;
1769
+            }
1770
+
1771
+            return $tabs;
1772
+        }
1773
+
1774
+        /**
1775
+         * Output the JS for building the dynamic Guntenberg block.
1776
+         *
1777
+         * @return mixed
1778
+         *@since 1.0.9 Save numbers as numbers and not strings.
1779
+         * @since 1.1.0 Font Awesome classes can be used for icons.
1780
+         * @since 1.0.4 Added block_wrap property which will set the block wrapping output element ie: div, span, p or empty for no wrap.
1781
+         */
1782
+        public function block() {
1783
+            global $sd_is_js_functions_loaded, $aui_bs5;
1784
+
1785
+            $show_advanced = $this->block_show_advanced();
1786
+
1787
+            ob_start();
1788
+            ?>
1789 1789
 			<script>
1790 1790
 			<?php
1791
-			if ( ! $sd_is_js_functions_loaded ) {
1792
-				$sd_is_js_functions_loaded = true;
1793
-			?>
1791
+            if ( ! $sd_is_js_functions_loaded ) {
1792
+                $sd_is_js_functions_loaded = true;
1793
+            ?>
1794 1794
 function sd_show_view_options($this){
1795 1795
 	if(jQuery($this).html().length){
1796 1796
 		jQuery($this).html('');
@@ -2290,8 +2290,8 @@  discard block
 block discarded – undo
2290 2290
 				$classes = [];
2291 2291
 
2292 2292
 				<?php
2293
-				if($aui_bs5){
2294
-					?>
2293
+                if($aui_bs5){
2294
+                    ?>
2295 2295
 				$aui_bs5 = true;
2296 2296
 				$p_ml = 'ms-';
2297 2297
 				$p_mr = 'me-';
@@ -2299,8 +2299,8 @@  discard block
 block discarded – undo
2299 2299
 				$p_pl = 'ps-';
2300 2300
 				$p_pr = 'pe-';
2301 2301
 					<?php
2302
-				}else{
2303
-						?>
2302
+                }else{
2303
+                        ?>
2304 2304
 				$aui_bs5 = false;
2305 2305
 				$p_ml = 'ml-';
2306 2306
 				$p_mr = 'mr-';
@@ -2308,8 +2308,8 @@  discard block
 block discarded – undo
2308 2308
 				$p_pl = 'pl-';
2309 2309
 				$p_pr = 'pr-';
2310 2310
 					<?php
2311
-				}
2312
-				?>
2311
+                }
2312
+                ?>
2313 2313
 
2314 2314
 				// margins
2315 2315
 				if ( $args['mt'] !== undefined && $args['mt'] !== '' ) { $classes.push( "mt-" + $args['mt'] );  $mt = $args['mt']; }else{$mt = null;}
@@ -2493,12 +2493,12 @@  discard block
 block discarded – undo
2493 2493
 			<?php
2494 2494
 
2495 2495
 
2496
-			}
2496
+            }
2497 2497
 
2498
-			if(method_exists($this,'block_global_js')){
2499
-					echo $this->block_global_js();
2500
-			}
2501
-			?>
2498
+            if(method_exists($this,'block_global_js')){
2499
+                    echo $this->block_global_js();
2500
+            }
2501
+            ?>
2502 2502
 
2503 2503
 jQuery(function() {
2504 2504
 
@@ -2551,13 +2551,13 @@  discard block
 block discarded – undo
2551 2551
 						icon: <?php echo $this->get_block_icon( $this->options['block-icon'] );?>,//'<?php echo isset( $this->options['block-icon'] ) ? esc_attr( $this->options['block-icon'] ) : 'shield-alt';?>', // Block icon from Dashicons → https://developer.wordpress.org/resource/dashicons/.
2552 2552
 						supports: {
2553 2553
 							<?php
2554
-							if(!isset($this->options['block-supports']['renaming'])){
2555
-								$this->options['block-supports']['renaming'] = false;
2556
-							}
2557
-							if ( isset( $this->options['block-supports'] ) ) {
2558
-								echo $this->array_to_attributes( $this->options['block-supports'] );
2559
-							}
2560
-							?>
2554
+                            if(!isset($this->options['block-supports']['renaming'])){
2555
+                                $this->options['block-supports']['renaming'] = false;
2556
+                            }
2557
+                            if ( isset( $this->options['block-supports'] ) ) {
2558
+                                echo $this->array_to_attributes( $this->options['block-supports'] );
2559
+                            }
2560
+                            ?>
2561 2561
 						},
2562 2562
 						__experimentalLabel( attributes, { context } ) {
2563 2563
 							var visibility_html = attributes && attributes.visibility_conditions ? ' &#128065;' : '';
@@ -2567,174 +2567,174 @@  discard block
 block discarded – undo
2567 2567
 						},
2568 2568
 						category: '<?php echo isset( $this->options['block-category'] ) ? esc_attr( $this->options['block-category'] ) : 'common';?>', // Block category — Group blocks together based on common traits E.g. common, formatting, layout widgets, embed.
2569 2569
 						<?php if ( isset( $this->options['block-keywords'] ) ) {
2570
-						echo "keywords : " . $this->options['block-keywords'] . ",";
2571
-						}
2572
-
2573
-
2574
-						// block hover preview.
2575
-						$example_args = array();
2576
-						if(!empty($this->arguments)){
2577
-							foreach($this->arguments as $key => $a_args){
2578
-								if(isset($a_args['example'])){
2579
-									$example_args[$key] = $a_args['example'];
2580
-								}
2581
-							}
2582
-						}
2583
-						$viewport_width = isset($this->options['example']['viewportWidth']) ? 'viewportWidth: '.absint($this->options['example']['viewportWidth']) : '';
2584
-						$example_inner_blocks = !empty($this->options['example']['innerBlocks']) && is_array($this->options['example']['innerBlocks']) ? 'innerBlocks: ' . wp_json_encode($this->options['example']['innerBlocks']) : '';
2585
-						if( isset( $this->options['example'] ) && $this->options['example'] === false ){
2586
-							// no preview if set to false
2587
-						}elseif( !empty( $example_args ) ){
2588
-							echo "example : {attributes:{".$this->array_to_attributes( $example_args )."},$viewport_width},";
2589
-						}elseif( !empty( $this->options['example'] ) ){
2590
-							unset($this->options['example']['viewportWidth']);
2591
-							unset($this->options['example']['innerBlocks']);
2592
-							$example_atts = $this->array_to_attributes( $this->options['example'] );
2593
-							$example_parts = array();
2594
-							if($example_atts){
2595
-								$example_parts[] = rtrim($example_atts,",");
2596
-							}
2597
-							if($viewport_width){
2598
-								$example_parts[] = $viewport_width;
2599
-							}
2600
-							if($example_inner_blocks){
2601
-								$example_parts[] = $example_inner_blocks;
2602
-							}
2603
-							if(!empty($example_parts)){
2604
-								echo "example : {".implode(',', $example_parts)."},";
2605
-							}
2606
-						}else{
2607
-							echo 'example : {viewportWidth: 500},';
2608
-						}
2609
-
2610
-
2611
-
2612
-						// limit to parent
2613
-						if( !empty( $this->options['parent'] ) ){
2614
-							echo "parent : " . wp_json_encode( $this->options['parent'] ) . ",";
2615
-						}
2616
-
2617
-						// limit allowed blocks
2618
-						if( !empty( $this->options['allowed-blocks'] ) ){
2619
-							echo "allowedBlocks : " . wp_json_encode( $this->options['allowed-blocks'] ) . ",";
2620
-						}
2621
-
2622
-						// maybe set no_wrap
2623
-						$no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
2624
-						if ( isset( $this->arguments['no_wrap'] ) && $this->arguments['no_wrap'] ) {
2625
-							$no_wrap = true;
2626
-						}
2627
-						if ( $no_wrap ) {
2628
-							$this->options['block-wrap'] = '';
2629
-						}
2630
-
2631
-						// maybe load the drag/drop functions.
2632
-						$img_drag_drop = false;
2633
-
2634
-						$show_alignment = false;
2635
-						// align feature
2636
-						/*echo "supports: {";
2570
+                        echo "keywords : " . $this->options['block-keywords'] . ",";
2571
+                        }
2572
+
2573
+
2574
+                        // block hover preview.
2575
+                        $example_args = array();
2576
+                        if(!empty($this->arguments)){
2577
+                            foreach($this->arguments as $key => $a_args){
2578
+                                if(isset($a_args['example'])){
2579
+                                    $example_args[$key] = $a_args['example'];
2580
+                                }
2581
+                            }
2582
+                        }
2583
+                        $viewport_width = isset($this->options['example']['viewportWidth']) ? 'viewportWidth: '.absint($this->options['example']['viewportWidth']) : '';
2584
+                        $example_inner_blocks = !empty($this->options['example']['innerBlocks']) && is_array($this->options['example']['innerBlocks']) ? 'innerBlocks: ' . wp_json_encode($this->options['example']['innerBlocks']) : '';
2585
+                        if( isset( $this->options['example'] ) && $this->options['example'] === false ){
2586
+                            // no preview if set to false
2587
+                        }elseif( !empty( $example_args ) ){
2588
+                            echo "example : {attributes:{".$this->array_to_attributes( $example_args )."},$viewport_width},";
2589
+                        }elseif( !empty( $this->options['example'] ) ){
2590
+                            unset($this->options['example']['viewportWidth']);
2591
+                            unset($this->options['example']['innerBlocks']);
2592
+                            $example_atts = $this->array_to_attributes( $this->options['example'] );
2593
+                            $example_parts = array();
2594
+                            if($example_atts){
2595
+                                $example_parts[] = rtrim($example_atts,",");
2596
+                            }
2597
+                            if($viewport_width){
2598
+                                $example_parts[] = $viewport_width;
2599
+                            }
2600
+                            if($example_inner_blocks){
2601
+                                $example_parts[] = $example_inner_blocks;
2602
+                            }
2603
+                            if(!empty($example_parts)){
2604
+                                echo "example : {".implode(',', $example_parts)."},";
2605
+                            }
2606
+                        }else{
2607
+                            echo 'example : {viewportWidth: 500},';
2608
+                        }
2609
+
2610
+
2611
+
2612
+                        // limit to parent
2613
+                        if( !empty( $this->options['parent'] ) ){
2614
+                            echo "parent : " . wp_json_encode( $this->options['parent'] ) . ",";
2615
+                        }
2616
+
2617
+                        // limit allowed blocks
2618
+                        if( !empty( $this->options['allowed-blocks'] ) ){
2619
+                            echo "allowedBlocks : " . wp_json_encode( $this->options['allowed-blocks'] ) . ",";
2620
+                        }
2621
+
2622
+                        // maybe set no_wrap
2623
+                        $no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
2624
+                        if ( isset( $this->arguments['no_wrap'] ) && $this->arguments['no_wrap'] ) {
2625
+                            $no_wrap = true;
2626
+                        }
2627
+                        if ( $no_wrap ) {
2628
+                            $this->options['block-wrap'] = '';
2629
+                        }
2630
+
2631
+                        // maybe load the drag/drop functions.
2632
+                        $img_drag_drop = false;
2633
+
2634
+                        $show_alignment = false;
2635
+                        // align feature
2636
+                        /*echo "supports: {";
2637 2637
 						echo "	align: true,";
2638 2638
 						echo "  html: false";
2639 2639
 						echo "},";*/
2640 2640
 
2641 2641
 
2642
-							echo "attributes : {";
2643
-
2644
-							if ( $show_advanced ) {
2645
-								echo "show_advanced: {";
2646
-								echo "	type: 'boolean',";
2647
-								echo "  default: false,";
2648
-								echo "},";
2649
-							}
2650
-
2651
-							// block wrap element
2652
-							if ( ! empty( $this->options['block-wrap'] ) ) { //@todo we should validate this?
2653
-								echo "block_wrap: {";
2654
-								echo "	type: 'string',";
2655
-								echo "  default: '" . esc_attr( $this->options['block-wrap'] ) . "',";
2656
-								echo "},";
2657
-							}
2658
-
2659
-
2660
-							if ( ! empty( $this->arguments ) ) {
2661
-
2662
-								foreach ( $this->arguments as $key => $args ) {
2663
-
2664
-									if( $args['type'] == 'image' ||  $args['type'] == 'images' ){
2665
-										$img_drag_drop = true;
2666
-									}
2667
-
2668
-									// set if we should show alignment
2669
-									if ( $key == 'alignment' ) {
2670
-										$show_alignment = true;
2671
-									}
2672
-
2673
-									$extra = '';
2674
-
2675
-									if ( $args['type'] == 'notice' ||  $args['type'] == 'tab' ) {
2676
-										continue;
2677
-									}
2678
-									elseif ( $args['type'] == 'checkbox' ) {
2679
-										$type    = 'boolean';
2680
-										$default = isset( $args['default'] ) && $args['default'] ? 'true' : 'false';
2681
-									} elseif ( $args['type'] == 'number' ) {
2682
-										$type    = 'number';
2683
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2684
-									} elseif ( $args['type'] == 'select' && ! empty( $args['multiple'] ) ) {
2685
-										$type = 'array';
2686
-										if ( isset( $args['default'] ) && is_array( $args['default'] ) ) {
2687
-											$default = ! empty( $args['default'] ) ? "['" . implode( "','", $args['default'] ) . "']" : "[]";
2688
-										} else {
2689
-											$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2690
-										}
2691
-									} elseif ( $args['type'] == 'tagselect' ) {
2692
-										$type    = 'array';
2693
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2694
-									} elseif ( $args['type'] == 'multiselect' ) {
2695
-										$type    = 'array';
2696
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2697
-									} elseif ( $args['type'] == 'image_xy' ) {
2698
-										$type    = 'object';
2699
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2700
-									} elseif ( $args['type'] == 'image' ) {
2701
-										$type    = 'string';
2702
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2703
-
2704
-										// add a field for ID
2705
-	//                                    echo $key . "_id : {";
2706
-	//                                    echo "type : 'number',";
2707
-	//                                    echo "},";
2708
-	//                                    echo $key . "_xy : {";
2709
-	//                                    echo "type : 'object',";
2710
-	//                                    echo "},";
2711
-
2712
-									} else {
2713
-										$type    = !empty($args['hidden_type']) ? esc_attr($args['hidden_type']) : 'string';
2714
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2715
-
2716
-									}
2717
-									echo $key . " : {";
2718
-									echo "type : '$type',";
2719
-									echo "default : $default,";
2720
-									echo "},";
2721
-								}
2722
-							}
2723
-
2724
-							echo "content : {type : 'string',default: 'Please select the attributes in the block settings'},";
2725
-							echo "sd_shortcode : {type : 'string',default: ''},";
2726
-
2727
-							if(!empty($this->options['nested-block']) || !empty($this->arguments['html']) ){
2728
-								echo "sd_shortcode_close : {type : 'string',default: ''},";
2729
-							}
2730
-
2731
-							echo "className: { type: 'string', default: '' },";
2732
-
2733
-							echo "},";
2734
-
2735
-
2736
-
2737
-						?>
2642
+                            echo "attributes : {";
2643
+
2644
+                            if ( $show_advanced ) {
2645
+                                echo "show_advanced: {";
2646
+                                echo "	type: 'boolean',";
2647
+                                echo "  default: false,";
2648
+                                echo "},";
2649
+                            }
2650
+
2651
+                            // block wrap element
2652
+                            if ( ! empty( $this->options['block-wrap'] ) ) { //@todo we should validate this?
2653
+                                echo "block_wrap: {";
2654
+                                echo "	type: 'string',";
2655
+                                echo "  default: '" . esc_attr( $this->options['block-wrap'] ) . "',";
2656
+                                echo "},";
2657
+                            }
2658
+
2659
+
2660
+                            if ( ! empty( $this->arguments ) ) {
2661
+
2662
+                                foreach ( $this->arguments as $key => $args ) {
2663
+
2664
+                                    if( $args['type'] == 'image' ||  $args['type'] == 'images' ){
2665
+                                        $img_drag_drop = true;
2666
+                                    }
2667
+
2668
+                                    // set if we should show alignment
2669
+                                    if ( $key == 'alignment' ) {
2670
+                                        $show_alignment = true;
2671
+                                    }
2672
+
2673
+                                    $extra = '';
2674
+
2675
+                                    if ( $args['type'] == 'notice' ||  $args['type'] == 'tab' ) {
2676
+                                        continue;
2677
+                                    }
2678
+                                    elseif ( $args['type'] == 'checkbox' ) {
2679
+                                        $type    = 'boolean';
2680
+                                        $default = isset( $args['default'] ) && $args['default'] ? 'true' : 'false';
2681
+                                    } elseif ( $args['type'] == 'number' ) {
2682
+                                        $type    = 'number';
2683
+                                        $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2684
+                                    } elseif ( $args['type'] == 'select' && ! empty( $args['multiple'] ) ) {
2685
+                                        $type = 'array';
2686
+                                        if ( isset( $args['default'] ) && is_array( $args['default'] ) ) {
2687
+                                            $default = ! empty( $args['default'] ) ? "['" . implode( "','", $args['default'] ) . "']" : "[]";
2688
+                                        } else {
2689
+                                            $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2690
+                                        }
2691
+                                    } elseif ( $args['type'] == 'tagselect' ) {
2692
+                                        $type    = 'array';
2693
+                                        $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2694
+                                    } elseif ( $args['type'] == 'multiselect' ) {
2695
+                                        $type    = 'array';
2696
+                                        $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2697
+                                    } elseif ( $args['type'] == 'image_xy' ) {
2698
+                                        $type    = 'object';
2699
+                                        $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2700
+                                    } elseif ( $args['type'] == 'image' ) {
2701
+                                        $type    = 'string';
2702
+                                        $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2703
+
2704
+                                        // add a field for ID
2705
+    //                                    echo $key . "_id : {";
2706
+    //                                    echo "type : 'number',";
2707
+    //                                    echo "},";
2708
+    //                                    echo $key . "_xy : {";
2709
+    //                                    echo "type : 'object',";
2710
+    //                                    echo "},";
2711
+
2712
+                                    } else {
2713
+                                        $type    = !empty($args['hidden_type']) ? esc_attr($args['hidden_type']) : 'string';
2714
+                                        $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2715
+
2716
+                                    }
2717
+                                    echo $key . " : {";
2718
+                                    echo "type : '$type',";
2719
+                                    echo "default : $default,";
2720
+                                    echo "},";
2721
+                                }
2722
+                            }
2723
+
2724
+                            echo "content : {type : 'string',default: 'Please select the attributes in the block settings'},";
2725
+                            echo "sd_shortcode : {type : 'string',default: ''},";
2726
+
2727
+                            if(!empty($this->options['nested-block']) || !empty($this->arguments['html']) ){
2728
+                                echo "sd_shortcode_close : {type : 'string',default: ''},";
2729
+                            }
2730
+
2731
+                            echo "className: { type: 'string', default: '' },";
2732
+
2733
+                            echo "},";
2734
+
2735
+
2736
+
2737
+                        ?>
2738 2738
 
2739 2739
 						// The "edit" property must be a valid function.
2740 2740
 						edit: function (props) {
@@ -2809,10 +2809,10 @@  discard block
 block discarded – undo
2809 2809
 							}
2810 2810
 
2811 2811
 							<?php
2812
-							if(!empty($this->options['block-edit-raw'])) {
2813
-								echo $this->options['block-edit-raw']; // strings have to be in single quotes, may cause issues
2814
-							}else{
2815
-							?>
2812
+                            if(!empty($this->options['block-edit-raw'])) {
2813
+                                echo $this->options['block-edit-raw']; // strings have to be in single quotes, may cause issues
2814
+                            }else{
2815
+                            ?>
2816 2816
 
2817 2817
 function hasSelectedInnerBlock(props) {
2818 2818
 	const select = wp.data.select('core/editor');
@@ -2834,9 +2834,9 @@  discard block
 block discarded – undo
2834 2834
 
2835 2835
 	var $value = '';
2836 2836
 	<?php
2837
-	// if we have a post_type and a category then link them
2838
-	if( isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked']) ){
2839
-	?>
2837
+    // if we have a post_type and a category then link them
2838
+    if( isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked']) ){
2839
+    ?>
2840 2840
 	if(typeof(prev_attributes[props.clientId]) != 'undefined' && selectedBlock && selectedBlock.clientId === props.clientId){
2841 2841
 		$pt = props.attributes.post_type;
2842 2842
 		if(post_type_rest_slugs.length){
@@ -2849,11 +2849,11 @@  discard block
 block discarded – undo
2849 2849
 			term_query_type = $pt;
2850 2850
 		}
2851 2851
 <?php
2852
-	$cat_path = '';
2853
-	if ( ! empty( $this->arguments['post_type']['onchange_rest']['path'] ) ) {
2854
-		$cat_path = esc_js( strip_tags( $this->arguments['post_type']['onchange_rest']['path'] ) );
2855
-		$cat_path = str_replace( array( '&quot;', '&#039;' ), array( '"', "'" ), $cat_path );
2856
-	}
2852
+    $cat_path = '';
2853
+    if ( ! empty( $this->arguments['post_type']['onchange_rest']['path'] ) ) {
2854
+        $cat_path = esc_js( strip_tags( $this->arguments['post_type']['onchange_rest']['path'] ) );
2855
+        $cat_path = str_replace( array( '&quot;', '&#039;' ), array( '"', "'" ), $cat_path );
2856
+    }
2857 2857
 ?>
2858 2858
 		/* taxonomies */
2859 2859
 		if($value && 'post_type' in prev_attributes[props.clientId] && 'category' in prev_attributes[props.clientId] && run){
@@ -2945,7 +2945,7 @@  discard block
 block discarded – undo
2945 2945
 <?php
2946 2946
 $current_screen = function_exists('get_current_screen') ? get_current_screen() : '';
2947 2947
 if(!empty($current_screen->base) && $current_screen->base==='widgets'){
2948
-	echo 'const { deviceType } = "";';
2948
+    echo 'const { deviceType } = "";';
2949 2949
 }else{
2950 2950
 ?>
2951 2951
 /** Get device type const. */
@@ -3009,8 +3009,8 @@  discard block
 block discarded – undo
3009 3009
 										'attributes': props.attributes,
3010 3010
 										'block_parent_name': parentBlocks.length ? parentBlocks[parentBlocks.length - 1].name : '',
3011 3011
 										'post_id': <?php global $post; if ( isset( $post->ID ) ) {
3012
-										echo $post->ID;
3013
-									}else{echo '0';}?>,
3012
+                                        echo $post->ID;
3013
+                                    }else{echo '0';}?>,
3014 3014
 										'_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_output_shortcode' );?>'
3015 3015
 									};
3016 3016
 
@@ -3024,20 +3024,20 @@  discard block
 block discarded – undo
3024 3024
 										}
3025 3025
 
3026 3026
 										 <?php
3027
-										if(!empty($this->options['nested-block'])){
3028
-											?>
3027
+                                        if(!empty($this->options['nested-block'])){
3028
+                                            ?>
3029 3029
 											// props.setAttributes({content: env});
3030 3030
 										is_fetching = false;
3031 3031
 										prev_attributes[props.clientId] = props.attributes;
3032 3032
 											 <?php
3033
-										}else{
3034
-										?>
3033
+                                        }else{
3034
+                                        ?>
3035 3035
 										props.setAttributes({content: env});
3036 3036
 										is_fetching = false;
3037 3037
 										prev_attributes[props.clientId] = props.attributes;
3038 3038
 										<?php
3039
-										}
3040
-										?>
3039
+                                        }
3040
+                                        ?>
3041 3041
 
3042 3042
 
3043 3043
 										// if AUI is active call the js init function
@@ -3056,31 +3056,31 @@  discard block
 block discarded – undo
3056 3056
 							}
3057 3057
 
3058 3058
 							<?php
3059
-							if(!empty($this->options['block-edit-js'])) {
3060
-								echo  $this->options['block-edit-js'] ; // strings have to be in single quotes, may cause issues
3061
-							}
3059
+                            if(!empty($this->options['block-edit-js'])) {
3060
+                                echo  $this->options['block-edit-js'] ; // strings have to be in single quotes, may cause issues
3061
+                            }
3062 3062
 
3063 3063
 
3064 3064
 
3065 3065
 
3066
-							if(empty($this->options['block-save-return'])){
3067
-							?>
3066
+                            if(empty($this->options['block-save-return'])){
3067
+                            ?>
3068 3068
 								///////////////////////////////////////////////////////////////////////
3069 3069
 
3070 3070
 									 // build the shortcode.
3071 3071
 								shortcode = "[<?php echo $this->options['base_id'];?>";
3072 3072
 								<?php
3073 3073
 
3074
-								if(! empty( $this->arguments )){
3074
+                                if(! empty( $this->arguments )){
3075 3075
 
3076
-								foreach($this->arguments as $key => $args){
3077
-								   // if($args['type']=='tabs'){continue;}
3076
+                                foreach($this->arguments as $key => $args){
3077
+                                    // if($args['type']=='tabs'){continue;}
3078 3078
 
3079
-								   // don't add metadata arguments
3080
-								   if (substr($key, 0, 9 ) === 'metadata_') {
3081
-									   continue;
3082
-								   }
3083
-								?>
3079
+                                    // don't add metadata arguments
3080
+                                    if (substr($key, 0, 9 ) === 'metadata_') {
3081
+                                        continue;
3082
+                                    }
3083
+                                ?>
3084 3084
 								if (props.attributes.hasOwnProperty("<?php echo esc_attr( $key );?>")) {
3085 3085
 									if ('<?php echo esc_attr( $key );?>' == 'html') {
3086 3086
 									} else if ('<?php echo esc_attr( $args['type'] );?>' == 'image_xy') {
@@ -3091,10 +3091,10 @@  discard block
 block discarded – undo
3091 3091
 									}
3092 3092
 								}
3093 3093
 								<?php
3094
-								}
3095
-								}
3094
+                                }
3095
+                                }
3096 3096
 
3097
-								?>
3097
+                                ?>
3098 3098
 								shortcode += "]";
3099 3099
 
3100 3100
 								if(shortcode){
@@ -3106,17 +3106,17 @@  discard block
 block discarded – undo
3106 3106
 
3107 3107
 
3108 3108
 									<?php
3109
-									if(!empty($this->options['nested-block']) || !empty($this->arguments['html']) ){
3110
-										echo "props.setAttributes({sd_shortcode_close: '[/".esc_attr( $this->options['base_id'] )."]'});";
3111
-									}
3112
-									?>
3109
+                                    if(!empty($this->options['nested-block']) || !empty($this->arguments['html']) ){
3110
+                                        echo "props.setAttributes({sd_shortcode_close: '[/".esc_attr( $this->options['base_id'] )."]'});";
3111
+                                    }
3112
+                                    ?>
3113 3113
 								}
3114 3114
 
3115 3115
 
3116 3116
 							///////////////////////////////////////////////////////////////////////
3117 3117
 							<?php
3118
-							} // end nested block check
3119
-							?>
3118
+                            } // end nested block check
3119
+                            ?>
3120 3120
 
3121 3121
 							return [
3122 3122
 
@@ -3140,10 +3140,10 @@  discard block
 block discarded – undo
3140 3140
 
3141 3141
 									<?php
3142 3142
 
3143
-									if(! empty( $this->arguments )){
3143
+                                    if(! empty( $this->arguments )){
3144 3144
 
3145
-									if ( $show_advanced ) {
3146
-									?>
3145
+                                    if ( $show_advanced ) {
3146
+                                    ?>
3147 3147
 									el('div', {
3148 3148
 											style: {'padding-left': '16px','padding-right': '16px'}
3149 3149
 										},
@@ -3160,119 +3160,119 @@  discard block
 block discarded – undo
3160 3160
 									)
3161 3161
 									,
3162 3162
 									<?php
3163
-									}
3164
-
3165
-									$arguments = $this->group_arguments( $this->arguments );
3166
-									$block_group_tabs = ! empty( $this->options['block_group_tabs'] ) ? $this->group_block_tabs( $this->options['block_group_tabs'], $arguments ) : array();
3167
-
3168
-									// Do we have sections?
3169
-									$has_sections = $arguments == $this->arguments ? false : true;
3170
-
3171
-									if($has_sections){
3172
-									$panel_count = 0;
3173
-									$open_tab = '';
3174
-
3175
-									$open_tab_groups = array();
3176
-									$used_tabs = array();
3177
-
3178
-									foreach ( $arguments as $key => $args ) {
3179
-										$close_tab = false;
3180
-										$close_tabs = false;
3181
-
3182
-										 if ( ! empty( $block_group_tabs ) ) {
3183
-											foreach ( $block_group_tabs as $tab_name => $tab_args ) {
3184
-												if ( in_array( $key, $tab_args['groups'] ) ) {
3185
-													$open_tab_groups[] = $key;
3186
-
3187
-													if ( $open_tab != $tab_name ) {
3188
-														$tab_args['tab']['tabs_open'] = $open_tab == '' ? true : false;
3189
-														$tab_args['tab']['open'] = true;
3190
-
3191
-														$this->block_tab_start( '', $tab_args );
3192
-														$open_tab = $tab_name;
3193
-														$used_tabs[] = $tab_name;
3194
-													}
3195
-
3196
-													if ( $open_tab_groups == $tab_args['groups'] ) {
3197
-														$close_tab = true;
3198
-														$open_tab_groups = array();
3199
-
3200
-														if ( $used_tabs == array_keys( $block_group_tabs ) ) {
3201
-															$close_tabs = true;
3202
-														}
3203
-													}
3204
-												}
3205
-											}
3206
-										}
3207
-										?>
3163
+                                    }
3164
+
3165
+                                    $arguments = $this->group_arguments( $this->arguments );
3166
+                                    $block_group_tabs = ! empty( $this->options['block_group_tabs'] ) ? $this->group_block_tabs( $this->options['block_group_tabs'], $arguments ) : array();
3167
+
3168
+                                    // Do we have sections?
3169
+                                    $has_sections = $arguments == $this->arguments ? false : true;
3170
+
3171
+                                    if($has_sections){
3172
+                                    $panel_count = 0;
3173
+                                    $open_tab = '';
3174
+
3175
+                                    $open_tab_groups = array();
3176
+                                    $used_tabs = array();
3177
+
3178
+                                    foreach ( $arguments as $key => $args ) {
3179
+                                        $close_tab = false;
3180
+                                        $close_tabs = false;
3181
+
3182
+                                            if ( ! empty( $block_group_tabs ) ) {
3183
+                                            foreach ( $block_group_tabs as $tab_name => $tab_args ) {
3184
+                                                if ( in_array( $key, $tab_args['groups'] ) ) {
3185
+                                                    $open_tab_groups[] = $key;
3186
+
3187
+                                                    if ( $open_tab != $tab_name ) {
3188
+                                                        $tab_args['tab']['tabs_open'] = $open_tab == '' ? true : false;
3189
+                                                        $tab_args['tab']['open'] = true;
3190
+
3191
+                                                        $this->block_tab_start( '', $tab_args );
3192
+                                                        $open_tab = $tab_name;
3193
+                                                        $used_tabs[] = $tab_name;
3194
+                                                    }
3195
+
3196
+                                                    if ( $open_tab_groups == $tab_args['groups'] ) {
3197
+                                                        $close_tab = true;
3198
+                                                        $open_tab_groups = array();
3199
+
3200
+                                                        if ( $used_tabs == array_keys( $block_group_tabs ) ) {
3201
+                                                            $close_tabs = true;
3202
+                                                        }
3203
+                                                    }
3204
+                                                }
3205
+                                            }
3206
+                                        }
3207
+                                        ?>
3208 3208
 										el(wp.components.PanelBody, {
3209 3209
 												title: '<?php esc_attr_e( $key ); ?>',
3210 3210
 												initialOpen: <?php if ( $panel_count ) {
3211
-												echo "false";
3212
-											} else {
3213
-												echo "true";
3214
-											}?>
3211
+                                                echo "false";
3212
+                                            } else {
3213
+                                                echo "true";
3214
+                                            }?>
3215 3215
 											},
3216 3216
 											<?php
3217
-											foreach ( $args as $k => $a ) {
3218
-												$this->block_tab_start( $k, $a );
3219
-												$this->block_row_start( $k, $a );
3220
-												$this->build_block_arguments( $k, $a );
3221
-												$this->block_row_end( $k, $a );
3222
-												$this->block_tab_end( $k, $a );
3223
-											}
3224
-											?>
3217
+                                            foreach ( $args as $k => $a ) {
3218
+                                                $this->block_tab_start( $k, $a );
3219
+                                                $this->block_row_start( $k, $a );
3220
+                                                $this->build_block_arguments( $k, $a );
3221
+                                                $this->block_row_end( $k, $a );
3222
+                                                $this->block_tab_end( $k, $a );
3223
+                                            }
3224
+                                            ?>
3225 3225
 										),
3226 3226
 										<?php
3227
-										$panel_count ++;
3227
+                                        $panel_count ++;
3228 3228
 
3229
-										if($close_tab || $close_tabs){
3230
-											$tab_args = array(
3231
-												'tab'	=> array(
3232
-													'tabs_close' => $close_tabs,
3233
-												'close' => true,
3234
-												)
3229
+                                        if($close_tab || $close_tabs){
3230
+                                            $tab_args = array(
3231
+                                                'tab'	=> array(
3232
+                                                    'tabs_close' => $close_tabs,
3233
+                                                'close' => true,
3234
+                                                )
3235 3235
 
3236
-											);
3237
-											$this->block_tab_end( '', $tab_args );
3236
+                                            );
3237
+                                            $this->block_tab_end( '', $tab_args );
3238 3238
 //											echo '###close'; print_r($tab_args);
3239
-											$panel_count = 0;
3240
-										}
3239
+                                            $panel_count = 0;
3240
+                                        }
3241 3241
 //
3242 3242
 
3243
-									}
3244
-									}else {
3245
-									?>
3243
+                                    }
3244
+                                    }else {
3245
+                                    ?>
3246 3246
 									el(wp.components.PanelBody, {
3247 3247
 											title: '<?php esc_attr_e( "Settings", 'ayecode-connect' ); ?>',
3248 3248
 											initialOpen: true
3249 3249
 										},
3250 3250
 										<?php
3251
-										foreach ( $this->arguments as $key => $args ) {
3252
-											$this->block_row_start( $key, $args );
3253
-											$this->build_block_arguments( $key, $args );
3254
-											$this->block_row_end( $key, $args );
3255
-										}
3256
-										?>
3251
+                                        foreach ( $this->arguments as $key => $args ) {
3252
+                                            $this->block_row_start( $key, $args );
3253
+                                            $this->build_block_arguments( $key, $args );
3254
+                                            $this->block_row_end( $key, $args );
3255
+                                        }
3256
+                                        ?>
3257 3257
 									),
3258 3258
 									<?php
3259
-									}
3259
+                                    }
3260 3260
 
3261
-									}
3262
-									?>
3261
+                                    }
3262
+                                    ?>
3263 3263
 
3264 3264
 								),
3265 3265
 
3266 3266
 								<?php
3267
-								// If the user sets block-output array then build it
3268
-								if ( ! empty( $this->options['block-output'] ) ) {
3269
-								$this->block_element( $this->options['block-output'] );
3270
-							}elseif(!empty($this->options['block-edit-return'])){
3271
-								   echo $this->options['block-edit-return'];
3272
-							}else{
3273
-								// if no block-output is set then we try and get the shortcode html output via ajax.
3274
-								$block_edit_wrap_tag = !empty($this->options['block_edit_wrap_tag']) ? esc_attr($this->options['block_edit_wrap_tag']) : 'div';
3275
-								?>
3267
+                                // If the user sets block-output array then build it
3268
+                                if ( ! empty( $this->options['block-output'] ) ) {
3269
+                                $this->block_element( $this->options['block-output'] );
3270
+                            }elseif(!empty($this->options['block-edit-return'])){
3271
+                                    echo $this->options['block-edit-return'];
3272
+                            }else{
3273
+                                // if no block-output is set then we try and get the shortcode html output via ajax.
3274
+                                $block_edit_wrap_tag = !empty($this->options['block_edit_wrap_tag']) ? esc_attr($this->options['block_edit_wrap_tag']) : 'div';
3275
+                                ?>
3276 3276
 								el('<?php echo esc_attr($block_edit_wrap_tag); ?>', wp.blockEditor.useBlockProps({
3277 3277
 									dangerouslySetInnerHTML: {__html: onChangeContent()},
3278 3278
 									className: props.className,
@@ -3280,13 +3280,13 @@  discard block
 block discarded – undo
3280 3280
 									style: {'minHeight': '30px'}
3281 3281
 								}))
3282 3282
 								<?php
3283
-								}
3284
-								?>
3283
+                                }
3284
+                                ?>
3285 3285
 							]; // end return
3286 3286
 
3287 3287
 							<?php
3288
-							} // end block-edit-raw else
3289
-							?>
3288
+                            } // end block-edit-raw else
3289
+                            ?>
3290 3290
 						},
3291 3291
 
3292 3292
 						// The "save" property must be specified and must be a valid function.
@@ -3300,16 +3300,16 @@  discard block
 block discarded – undo
3300 3300
 							$html = '';
3301 3301
 							<?php
3302 3302
 
3303
-							if(! empty( $this->arguments )){
3303
+                            if(! empty( $this->arguments )){
3304 3304
 
3305
-							foreach($this->arguments as $key => $args){
3306
-							   // if($args['type']=='tabs'){continue;}
3305
+                            foreach($this->arguments as $key => $args){
3306
+                                // if($args['type']=='tabs'){continue;}
3307 3307
 
3308
-							   // don't add metadata arguments
3309
-							   if (substr($key, 0, 9 ) === 'metadata_') {
3310
-								   continue;
3311
-							   }
3312
-							?>
3308
+                                // don't add metadata arguments
3309
+                                if (substr($key, 0, 9 ) === 'metadata_') {
3310
+                                    continue;
3311
+                                }
3312
+                            ?>
3313 3313
 							if (attr.hasOwnProperty("<?php echo esc_attr( $key );?>")) {
3314 3314
 								if ('<?php echo esc_attr( $key );?>' == 'html') {
3315 3315
 									$html = attr.<?php echo esc_attr( $key );?>;
@@ -3320,10 +3320,10 @@  discard block
 block discarded – undo
3320 3320
 								}
3321 3321
 							}
3322 3322
 							<?php
3323
-							}
3324
-							}
3323
+                            }
3324
+                            }
3325 3325
 
3326
-							?>
3326
+                            ?>
3327 3327
 							content += "]";
3328 3328
 							 content = '';
3329 3329
 
@@ -3333,7 +3333,7 @@  discard block
 block discarded – undo
3333 3333
 //                                $html = 'el( InnerBlocks.Content )';
3334 3334
 //                                <?php
3335 3335
 //                            }
3336
-							?>
3336
+                            ?>
3337 3337
 							// if has html element
3338 3338
 							if ($html) {
3339 3339
 								//content += $html + "[/<?php echo $this->options['base_id'];?>]";
@@ -3366,12 +3366,12 @@  discard block
 block discarded – undo
3366 3366
 //                                <x?php
3367 3367
 //							}else
3368 3368
 
3369
-							if(!empty($this->options['block-output'])){
3369
+                            if(!empty($this->options['block-output'])){
3370 3370
 //                               echo "return";
3371 3371
 //                               $this->block_element( $this->options['block-output'], true );
3372 3372
 //                               echo ";";
3373 3373
 
3374
-							   ?>
3374
+                                ?>
3375 3375
 							  return el(
3376 3376
 								   '',
3377 3377
 								   {},
@@ -3381,10 +3381,10 @@  discard block
 block discarded – undo
3381 3381
 							   );
3382 3382
 								<?php
3383 3383
 
3384
-							}elseif(!empty($this->options['block-save-return'])){
3385
-								   echo 'return ' . $this->options['block-save-return'];
3386
-							}elseif(!empty($this->options['nested-block'])){
3387
-								?>
3384
+                            }elseif(!empty($this->options['block-save-return'])){
3385
+                                    echo 'return ' . $this->options['block-save-return'];
3386
+                            }elseif(!empty($this->options['nested-block'])){
3387
+                                ?>
3388 3388
 							  return el(
3389 3389
 								   '',
3390 3390
 								   {},
@@ -3393,22 +3393,22 @@  discard block
 block discarded – undo
3393 3393
 								 //  el('', {dangerouslySetInnerHTML: {__html: "[/<?php echo $this->options['base_id'];?>]"}})
3394 3394
 							   );
3395 3395
 								<?php
3396
-							}elseif(!empty( $this->options['block-save-return'] ) ){
3397
-								echo "return ". $this->options['block-edit-return'].";";
3398
-							}elseif(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){
3399
-							?>
3396
+                            }elseif(!empty( $this->options['block-save-return'] ) ){
3397
+                                echo "return ". $this->options['block-edit-return'].";";
3398
+                            }elseif(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){
3399
+                            ?>
3400 3400
 							return content;
3401 3401
 							<?php
3402
-							}else{
3403
-							?>
3402
+                            }else{
3403
+                            ?>
3404 3404
 							var block_wrap = 'div';
3405 3405
 							if (attr.hasOwnProperty("block_wrap")) {
3406 3406
 								block_wrap = attr.block_wrap;
3407 3407
 							}
3408 3408
 							return el(block_wrap, wp.blockEditor.useBlockProps.save( {dangerouslySetInnerHTML: {__html: content}, className: align} ));
3409 3409
 							<?php
3410
-							}
3411
-							?>
3410
+                            }
3411
+                            ?>
3412 3412
 
3413 3413
 
3414 3414
 						}
@@ -3422,43 +3422,43 @@  discard block
 block discarded – undo
3422 3422
 				});
3423 3423
 			</script>
3424 3424
 			<?php
3425
-			$output = ob_get_clean();
3425
+            $output = ob_get_clean();
3426 3426
 
3427
-			/*
3427
+            /*
3428 3428
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
3429 3429
 			 */
3430 3430
 
3431
-			return str_replace( array(
3432
-				'<script>',
3433
-				'</script>'
3434
-			), '', $output );
3435
-		}
3431
+            return str_replace( array(
3432
+                '<script>',
3433
+                '</script>'
3434
+            ), '', $output );
3435
+        }
3436 3436
 
3437 3437
 
3438 3438
 
3439
-		public function block_row_start($key, $args){
3439
+        public function block_row_start($key, $args){
3440 3440
 
3441
-			// check for row
3442
-			if(!empty($args['row'])){
3441
+            // check for row
3442
+            if(!empty($args['row'])){
3443 3443
 
3444
-				if(!empty($args['row']['open'])){
3444
+                if(!empty($args['row']['open'])){
3445 3445
 
3446
-				// element require
3447
-				$element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
3448
-				$device_type = ! empty( $args['device_type'] ) ? esc_attr($args['device_type']) : '';
3449
-				$device_type_require = ! empty( $args['device_type'] ) ? " deviceType == '" . esc_attr($device_type) . "' && " : '';
3450
-				$device_type_icon = '';
3451
-				if($device_type=='Desktop'){
3452
-					$device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3453
-				}elseif($device_type=='Tablet'){
3454
-					$device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3455
-				}elseif($device_type=='Mobile'){
3456
-					$device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3457
-				}
3458
-				echo $element_require;
3459
-				echo $device_type_require;
3446
+                // element require
3447
+                $element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
3448
+                $device_type = ! empty( $args['device_type'] ) ? esc_attr($args['device_type']) : '';
3449
+                $device_type_require = ! empty( $args['device_type'] ) ? " deviceType == '" . esc_attr($device_type) . "' && " : '';
3450
+                $device_type_icon = '';
3451
+                if($device_type=='Desktop'){
3452
+                    $device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3453
+                }elseif($device_type=='Tablet'){
3454
+                    $device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3455
+                }elseif($device_type=='Mobile'){
3456
+                    $device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3457
+                }
3458
+                echo $element_require;
3459
+                echo $device_type_require;
3460 3460
 
3461
-					if(false){?><script><?php }?>
3461
+                    if(false){?><script><?php }?>
3462 3462
 						el('div', {
3463 3463
 								className: 'bsui components-base-control',
3464 3464
 							},
@@ -3471,8 +3471,8 @@  discard block
 block discarded – undo
3471 3471
 								<?php if($device_type_icon){ ?>
3472 3472
 									deviceType == '<?php echo $device_type;?>' && el('span',{dangerouslySetInnerHTML: {__html: '<?php echo $device_type_icon; ?>'},title: deviceType + ": Set preview mode to change",style: {right:"0",position:"absolute",color:"var(--wp-admin-theme-color)"}})
3473 3473
 								<?php
3474
-								}
3475
-								?>
3474
+                                }
3475
+                                ?>
3476 3476
 
3477 3477
 
3478 3478
 							),
@@ -3496,51 +3496,51 @@  discard block
 block discarded – undo
3496 3496
 									},
3497 3497
 
3498 3498
 					<?php
3499
-					if(false){?></script><?php }
3500
-				}elseif(!empty($args['row']['close'])){
3501
-					if(false){?><script><?php }?>
3499
+                    if(false){?></script><?php }
3500
+                }elseif(!empty($args['row']['close'])){
3501
+                    if(false){?><script><?php }?>
3502 3502
 						el(
3503 3503
 							'div',
3504 3504
 							{
3505 3505
 								className: 'col pl-0 ps-0',
3506 3506
 							},
3507 3507
 					<?php
3508
-					if(false){?></script><?php }
3509
-				}else{
3510
-					if(false){?><script><?php }?>
3508
+                    if(false){?></script><?php }
3509
+                }else{
3510
+                    if(false){?><script><?php }?>
3511 3511
 						el(
3512 3512
 							'div',
3513 3513
 							{
3514 3514
 								className: 'col pl-0 ps-0 pr-2 pe-2',
3515 3515
 							},
3516 3516
 					<?php
3517
-					if(false){?></script><?php }
3518
-				}
3517
+                    if(false){?></script><?php }
3518
+                }
3519 3519
 
3520
-			}
3520
+            }
3521 3521
 
3522
-		}
3522
+        }
3523 3523
 
3524
-		public function block_row_end($key, $args){
3524
+        public function block_row_end($key, $args){
3525 3525
 
3526
-			if(!empty($args['row'])){
3527
-				// maybe close
3528
-				if(!empty($args['row']['close'])){
3529
-					echo "))";
3530
-				}
3526
+            if(!empty($args['row'])){
3527
+                // maybe close
3528
+                if(!empty($args['row']['close'])){
3529
+                    echo "))";
3530
+                }
3531 3531
 
3532
-				echo "),";
3533
-			}
3534
-		}
3532
+                echo "),";
3533
+            }
3534
+        }
3535 3535
 
3536
-		public function block_tab_start($key, $args){
3536
+        public function block_tab_start($key, $args){
3537 3537
 
3538
-			// check for row
3539
-			if(!empty($args['tab'])){
3538
+            // check for row
3539
+            if(!empty($args['tab'])){
3540 3540
 
3541
-				if(!empty($args['tab']['tabs_open'])){
3541
+                if(!empty($args['tab']['tabs_open'])){
3542 3542
 
3543
-					if(false){?><script><?php }?>
3543
+                    if(false){?><script><?php }?>
3544 3544
 
3545 3545
 el('div',{className: 'bsui'},
3546 3546
 
@@ -3553,12 +3553,12 @@  discard block
 block discarded – undo
3553 3553
 										tabs: [
3554 3554
 
3555 3555
 					<?php
3556
-					if(false){?></script><?php }
3557
-				}
3556
+                    if(false){?></script><?php }
3557
+                }
3558 3558
 
3559
-				if(!empty($args['tab']['open'])){
3559
+                if(!empty($args['tab']['open'])){
3560 3560
 
3561
-					if(false){?><script><?php }?>
3561
+                    if(false){?><script><?php }?>
3562 3562
 							{
3563 3563
 												name: '<?php echo addslashes( esc_attr( $args['tab']['key']) ); ?>',
3564 3564
 												title: el('div', {dangerouslySetInnerHTML: {__html: '<?php echo addslashes( esc_attr( $args['tab']['title']) ); ?>'}}),
@@ -3567,93 +3567,93 @@  discard block
 block discarded – undo
3567 3567
 									className: 'components-base-control__help mb-0',
3568 3568
 									dangerouslySetInnerHTML: {__html:'<?php echo addslashes( $args['tab']['desc'] ); ?>'}
3569 3569
 								}),<?php }
3570
-					if(false){?></script><?php }
3571
-				}
3570
+                    if(false){?></script><?php }
3571
+                }
3572 3572
 
3573
-			}
3573
+            }
3574 3574
 
3575
-		}
3575
+        }
3576 3576
 
3577
-		public function block_tab_end($key, $args){
3577
+        public function block_tab_end($key, $args){
3578 3578
 
3579
-			if(!empty($args['tab'])){
3580
-				// maybe close
3581
-				if(!empty($args['tab']['close'])){
3582
-					echo ")}, /* tab close */";
3583
-				}
3579
+            if(!empty($args['tab'])){
3580
+                // maybe close
3581
+                if(!empty($args['tab']['close'])){
3582
+                    echo ")}, /* tab close */";
3583
+                }
3584 3584
 
3585
-				if(!empty($args['tab']['tabs_close'])){
3586
-					if(false){?><script><?php }?>
3585
+                if(!empty($args['tab']['tabs_close'])){
3586
+                    if(false){?><script><?php }?>
3587 3587
 						]}, ( tab ) => {
3588 3588
 								return tab.content;
3589 3589
 							}
3590 3590
 						)), /* tabs close */
3591 3591
 					<?php if(false){ ?></script><?php }
3592
-				}
3593
-			}
3594
-		}
3592
+                }
3593
+            }
3594
+        }
3595 3595
 
3596
-		public function build_block_arguments( $key, $args ) {
3597
-			$custom_attributes = ! empty( $args['custom_attributes'] ) ? $this->array_to_attributes( $args['custom_attributes'] ) : '';
3598
-			$options           = '';
3599
-			$extra             = '';
3600
-			$require           = '';
3601
-			$inside_elements   = '';
3602
-			$after_elements	   = '';
3603
-
3604
-			// `content` is a protected and special argument
3605
-			if ( $key == 'content' ) {
3606
-				return;
3607
-			}
3596
+        public function build_block_arguments( $key, $args ) {
3597
+            $custom_attributes = ! empty( $args['custom_attributes'] ) ? $this->array_to_attributes( $args['custom_attributes'] ) : '';
3598
+            $options           = '';
3599
+            $extra             = '';
3600
+            $require           = '';
3601
+            $inside_elements   = '';
3602
+            $after_elements	   = '';
3603
+
3604
+            // `content` is a protected and special argument
3605
+            if ( $key == 'content' ) {
3606
+                return;
3607
+            }
3608 3608
 
3609
-			$device_type = ! empty( $args['device_type'] ) ? esc_attr($args['device_type']) : '';
3610
-			$device_type_require = ! empty( $args['device_type'] ) ? " deviceType == '" . esc_attr($device_type) . "' && " : '';
3611
-			$device_type_icon = '';
3612
-			if($device_type=='Desktop'){
3613
-				$device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3614
-			}elseif($device_type=='Tablet'){
3615
-				$device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3616
-			}elseif($device_type=='Mobile'){
3617
-				$device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3618
-			}
3609
+            $device_type = ! empty( $args['device_type'] ) ? esc_attr($args['device_type']) : '';
3610
+            $device_type_require = ! empty( $args['device_type'] ) ? " deviceType == '" . esc_attr($device_type) . "' && " : '';
3611
+            $device_type_icon = '';
3612
+            if($device_type=='Desktop'){
3613
+                $device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3614
+            }elseif($device_type=='Tablet'){
3615
+                $device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3616
+            }elseif($device_type=='Mobile'){
3617
+                $device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3618
+            }
3619 3619
 
3620
-			// icon
3621
-			$icon = '';
3622
-			if( !empty( $args['icon'] ) ){
3623
-				$icon .= "el('div', {";
3624
-									$icon .= "dangerouslySetInnerHTML: {__html: '".self::get_widget_icon( esc_attr($args['icon']))."'},";
3625
-									$icon .= "className: 'text-center',";
3626
-									$icon .= "title: '".addslashes( $args['title'] )."',";
3627
-								$icon .= "}),";
3628
-
3629
-				// blank title as its added to the icon.
3630
-				$args['title'] = '';
3631
-			}
3620
+            // icon
3621
+            $icon = '';
3622
+            if( !empty( $args['icon'] ) ){
3623
+                $icon .= "el('div', {";
3624
+                                    $icon .= "dangerouslySetInnerHTML: {__html: '".self::get_widget_icon( esc_attr($args['icon']))."'},";
3625
+                                    $icon .= "className: 'text-center',";
3626
+                                    $icon .= "title: '".addslashes( $args['title'] )."',";
3627
+                                $icon .= "}),";
3628
+
3629
+                // blank title as its added to the icon.
3630
+                $args['title'] = '';
3631
+            }
3632 3632
 
3633
-			// require advanced
3634
-			$require_advanced = ! empty( $args['advanced'] ) ? "props.attributes.show_advanced && " : "";
3633
+            // require advanced
3634
+            $require_advanced = ! empty( $args['advanced'] ) ? "props.attributes.show_advanced && " : "";
3635 3635
 
3636
-			// element require
3637
-			$element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
3636
+            // element require
3637
+            $element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
3638 3638
 
3639 3639
 
3640
-			$onchange  = "props.setAttributes({ $key: $key } )";
3641
-			$onchangecomplete  = "";
3642
-			$value     = "props.attributes.$key";
3643
-			$text_type = array( 'text', 'password', 'number', 'email', 'tel', 'url', 'colorx','range' );
3644
-			if ( in_array( $args['type'], $text_type ) ) {
3645
-				$type = 'TextControl';
3646
-				// Save numbers as numbers and not strings
3647
-				if ( $args['type'] == 'number' ) {
3648
-					$onchange = "props.setAttributes({ $key: $key ? Number($key) : '' } )";
3649
-				}
3640
+            $onchange  = "props.setAttributes({ $key: $key } )";
3641
+            $onchangecomplete  = "";
3642
+            $value     = "props.attributes.$key";
3643
+            $text_type = array( 'text', 'password', 'number', 'email', 'tel', 'url', 'colorx','range' );
3644
+            if ( in_array( $args['type'], $text_type ) ) {
3645
+                $type = 'TextControl';
3646
+                // Save numbers as numbers and not strings
3647
+                if ( $args['type'] == 'number' ) {
3648
+                    $onchange = "props.setAttributes({ $key: $key ? Number($key) : '' } )";
3649
+                }
3650 3650
 
3651
-				if (substr($key, 0, 9 ) === 'metadata_') {
3652
-					$real_key = str_replace('metadata_','', $key );
3653
-					$onchange = "props.setAttributes({ metadata: { $real_key: $key } } )";
3654
-					$value     = "props.attributes.metadata && props.attributes.metadata.$real_key ? props.attributes.metadata.$real_key : ''";
3655
-				}
3656
-			}
3651
+                if (substr($key, 0, 9 ) === 'metadata_') {
3652
+                    $real_key = str_replace('metadata_','', $key );
3653
+                    $onchange = "props.setAttributes({ metadata: { $real_key: $key } } )";
3654
+                    $value     = "props.attributes.metadata && props.attributes.metadata.$real_key ? props.attributes.metadata.$real_key : ''";
3655
+                }
3656
+            }
3657 3657
 //			else if ( $args['type'] == 'popup' ) {
3658 3658
 //				$type = 'TextControl';
3659 3659
 //				$args['type'] == 'text';
@@ -3671,21 +3671,21 @@  discard block
 block discarded – undo
3671 3671
 //
3672 3672
 //				$value     = "props.attributes.$key ? props.attributes.$key : ''";
3673 3673
 //			}
3674
-			else if ( $args['type'] == 'styleid' ) {
3675
-				$type = 'TextControl';
3676
-				$args['type'] == 'text';
3677
-				// Save numbers as numbers and not strings
3678
-				$value     = "props.attributes.$key ? props.attributes.$key : ''";
3679
-			}else if ( $args['type'] == 'notice' ) {
3680
-
3681
-				$notice_message = !empty($args['desc']) ? addslashes($args['desc']) : '';
3682
-				$notice_status = !empty($args['status']) ? esc_attr($args['status']) : 'info';
3683
-
3684
-				$notice = "el('div',{className:'bsui'},el(wp.components.Notice, {status: '$notice_status',isDismissible: false,className: 'm-0 pr-0 pe-0 mb-3'},el('div',{dangerouslySetInnerHTML: {__html: '$notice_message'}}))),";
3685
-				echo $notice_message ? $element_require . $notice : '';
3686
-				return;
3687
-			}
3688
-			/*
3674
+            else if ( $args['type'] == 'styleid' ) {
3675
+                $type = 'TextControl';
3676
+                $args['type'] == 'text';
3677
+                // Save numbers as numbers and not strings
3678
+                $value     = "props.attributes.$key ? props.attributes.$key : ''";
3679
+            }else if ( $args['type'] == 'notice' ) {
3680
+
3681
+                $notice_message = !empty($args['desc']) ? addslashes($args['desc']) : '';
3682
+                $notice_status = !empty($args['status']) ? esc_attr($args['status']) : 'info';
3683
+
3684
+                $notice = "el('div',{className:'bsui'},el(wp.components.Notice, {status: '$notice_status',isDismissible: false,className: 'm-0 pr-0 pe-0 mb-3'},el('div',{dangerouslySetInnerHTML: {__html: '$notice_message'}}))),";
3685
+                echo $notice_message ? $element_require . $notice : '';
3686
+                return;
3687
+            }
3688
+            /*
3689 3689
 			 * https://www.wptricks.com/question/set-current-tab-on-a-gutenberg-tabpanel-component-from-outside-that-component/ es5 layout
3690 3690
 						elseif($args['type']=='tabs'){
3691 3691
 							?>
@@ -3738,22 +3738,22 @@  discard block
 block discarded – undo
3738 3738
 							return;
3739 3739
 						}
3740 3740
 */
3741
-			elseif ( $args['type'] == 'color' ) {
3742
-				$type = 'ColorPicker';
3743
-				$onchange = "";
3744
-				$extra = "color: $value,";
3745
-				if(!empty($args['disable_alpha'])){
3746
-					$extra .= "disableAlpha: true,";
3747
-				}
3748
-				$onchangecomplete = "onChangeComplete: function($key) {
3741
+            elseif ( $args['type'] == 'color' ) {
3742
+                $type = 'ColorPicker';
3743
+                $onchange = "";
3744
+                $extra = "color: $value,";
3745
+                if(!empty($args['disable_alpha'])){
3746
+                    $extra .= "disableAlpha: true,";
3747
+                }
3748
+                $onchangecomplete = "onChangeComplete: function($key) {
3749 3749
 				value =  $key.rgb.a && $key.rgb.a < 1 ? \"rgba(\"+$key.rgb.r+\",\"+$key.rgb.g+\",\"+$key.rgb.b+\",\"+$key.rgb.a+\")\" : $key.hex;
3750 3750
 						props.setAttributes({
3751 3751
 							$key: value
3752 3752
 						});
3753 3753
 					},";
3754
-			}elseif ( $args['type'] == 'gradient' ) {
3755
-				$type = 'GradientPicker';
3756
-				$extra .= "gradients: [{
3754
+            }elseif ( $args['type'] == 'gradient' ) {
3755
+                $type = 'GradientPicker';
3756
+                $extra .= "gradients: [{
3757 3757
 			name: 'Vivid cyan blue to vivid purple',
3758 3758
 			gradient:
3759 3759
 				'linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)',
@@ -3790,10 +3790,10 @@  discard block
 block discarded – undo
3790 3790
 			slug: 'cool-to-warm-spectrum',
3791 3791
 		}],";
3792 3792
 
3793
-			}elseif ( $args['type'] == 'image' ) {
3793
+            }elseif ( $args['type'] == 'image' ) {
3794 3794
 //                print_r($args);
3795 3795
 
3796
-				$img_preview = isset($args['focalpoint']) && !$args['focalpoint'] ? " props.attributes.$key && el('img', { src: props.attributes.$key,style: {maxWidth:'100%',background: '#ccc'}})," : " ( props.attributes.$key ||  props.attributes.{$key}_use_featured ) && el(wp.components.FocalPointPicker,{
3796
+                $img_preview = isset($args['focalpoint']) && !$args['focalpoint'] ? " props.attributes.$key && el('img', { src: props.attributes.$key,style: {maxWidth:'100%',background: '#ccc'}})," : " ( props.attributes.$key ||  props.attributes.{$key}_use_featured ) && el(wp.components.FocalPointPicker,{
3797 3797
 							url:  props.attributes.{$key}_use_featured === true ? 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiID8+CjxzdmcgYmFzZVByb2ZpbGU9InRpbnkiIGhlaWdodD0iNDAwIiB2ZXJzaW9uPSIxLjIiIHdpZHRoPSI0MDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6ZXY9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEveG1sLWV2ZW50cyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxkZWZzIC8+PHJlY3QgZmlsbD0iI2QzZDNkMyIgaGVpZ2h0PSI0MDAiIHdpZHRoPSI0MDAiIHg9IjAiIHk9IjAiIC8+PGxpbmUgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIxMCIgeDE9IjAiIHgyPSI0MDAiIHkxPSIwIiB5Mj0iNDAwIiAvPjxsaW5lIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMTAiIHgxPSIwIiB4Mj0iNDAwIiB5MT0iNDAwIiB5Mj0iMCIgLz48cmVjdCBmaWxsPSIjZDNkM2QzIiBoZWlnaHQ9IjUwIiB3aWR0aD0iMjE4LjAiIHg9IjkxLjAiIHk9IjE3NS4wIiAvPjx0ZXh0IGZpbGw9IndoaXRlIiBmb250LXNpemU9IjMwIiBmb250LXdlaWdodD0iYm9sZCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgeD0iMjAwLjAiIHk9IjIwNy41Ij5QTEFDRUhPTERFUjwvdGV4dD48L3N2Zz4='  : props.attributes.$key,
3798 3798
 							value: props.attributes.{$key}_xy.x !== undefined && props.attributes.{$key}_xy.x >= 0 ? props.attributes.{$key}_xy  : {x: 0.5,y: 0.5,},
3799 3799
 //                            value: props.attributes.{$key}_xy,
@@ -3814,16 +3814,16 @@  discard block
 block discarded – undo
3814 3814
 						}), ";
3815 3815
 
3816 3816
 
3817
-				$value = '""';
3818
-				$type = 'MediaUpload';
3819
-				$extra .= "onSelect: function(media){
3817
+                $value = '""';
3818
+                $type = 'MediaUpload';
3819
+                $extra .= "onSelect: function(media){
3820 3820
 					  return props.setAttributes({
3821 3821
 						  $key: media.url,
3822 3822
 						  {$key}_id: media.id
3823 3823
 						});
3824 3824
 					  },";
3825
-				   $extra .= "type: 'image',";
3826
-				   $extra .= "render: function (obj) {
3825
+                    $extra .= "type: 'image',";
3826
+                    $extra .= "render: function (obj) {
3827 3827
 						return el( 'div',{},
3828 3828
 						( !props.attributes.$key && !props.attributes.{$key}_use_featured ) && el( wp.components.Button, {
3829 3829
 						  className: 'components-button components-circular-option-picker__clear is-primary is-smallx',
@@ -3849,11 +3849,11 @@  discard block
 block discarded – undo
3849 3849
 
3850 3850
 
3851 3851
 					  }";
3852
-				$onchange = "";
3852
+                $onchange = "";
3853 3853
 
3854
-				//$inside_elements = ",el('div',{},'file upload')";
3855
-			} else if ( $args['type'] == 'images' ) {
3856
-				$img_preview = "props.attributes.$key && (function() {
3854
+                //$inside_elements = ",el('div',{},'file upload')";
3855
+            } else if ( $args['type'] == 'images' ) {
3856
+                $img_preview = "props.attributes.$key && (function() {
3857 3857
 	let uploads = JSON.parse('['+props.attributes.$key+']');
3858 3858
 	let images = [];
3859 3859
 	uploads.map((upload, index) => (
@@ -3880,9 +3880,9 @@  discard block
 block discarded – undo
3880 3880
 })(),";
3881 3881
 
3882 3882
 
3883
-				$value = '""';
3884
-				$type = 'MediaUpload';
3885
-				$extra .= "onSelect: function(media){
3883
+                $value = '""';
3884
+                $type = 'MediaUpload';
3885
+                $extra .= "onSelect: function(media){
3886 3886
 	let slim_images = props.attributes.$key ? JSON.parse('['+props.attributes.$key+']') : [];
3887 3887
 	if(media.length){
3888 3888
 		for (var i=0; i < media.length; i++) {
@@ -3895,9 +3895,9 @@  discard block
 block discarded – undo
3895 3895
 	}
3896 3896
 	return props.setAttributes({ $key: slimImagesV});
3897 3897
 },";
3898
-				$extra .= "type: 'image',";
3899
-				$extra .= "multiple: true,";
3900
-				$extra .= "render: function (obj) {
3898
+                $extra .= "type: 'image',";
3899
+                $extra .= "multiple: true,";
3900
+                $extra .= "render: function (obj) {
3901 3901
 	/* Init the sort */
3902 3902
 	enableDragSort('sd-sortable');
3903 3903
 	return el( 'div',{},
@@ -3924,40 +3924,40 @@  discard block
 block discarded – undo
3924 3924
 		)
3925 3925
 	)
3926 3926
 }";
3927
-				$onchange = "";
3927
+                $onchange = "";
3928 3928
 
3929
-				//$inside_elements = ",el('div',{},'file upload')";
3930
-			}
3931
-			elseif ( $args['type'] == 'checkbox' ) {
3932
-				$type = 'CheckboxControl';
3933
-				$extra .= "checked: props.attributes.$key,";
3934
-				$onchange = "props.setAttributes({ $key: ! props.attributes.$key } )";
3935
-			} elseif ( $args['type'] == 'textarea' ) {
3936
-				$type = 'TextareaControl';
3937
-
3938
-			} elseif ( $args['type'] == 'select' || $args['type'] == 'multiselect' ) {
3939
-				$type = 'SelectControl';
3940
-
3941
-				if($args['name'] == 'category' && !empty($args['post_type_linked'])){
3942
-					$options .= "options: taxonomies_".str_replace("-","_", $this->id).",";
3943
-				}elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){
3944
-					$options .= "options: sort_by_".str_replace("-","_", $this->id).",";
3945
-				}else {
3946
-
3947
-					if ( ! empty( $args['options'] ) ) {
3948
-						$options .= "options: [";
3949
-						foreach ( $args['options'] as $option_val => $option_label ) {
3950
-							$options .= "{ value: '" . esc_attr( $option_val ) . "', label: '" . esc_js( addslashes( $option_label ) ) . "' },";
3951
-						}
3952
-						$options .= "],";
3953
-					}
3954
-				}
3955
-				if ( isset( $args['multiple'] ) && $args['multiple'] ) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550
3956
-					$extra .= ' multiple:true,style:{height:"auto",paddingRight:"8px","overflow-y":"auto"}, ';
3957
-				}
3929
+                //$inside_elements = ",el('div',{},'file upload')";
3930
+            }
3931
+            elseif ( $args['type'] == 'checkbox' ) {
3932
+                $type = 'CheckboxControl';
3933
+                $extra .= "checked: props.attributes.$key,";
3934
+                $onchange = "props.setAttributes({ $key: ! props.attributes.$key } )";
3935
+            } elseif ( $args['type'] == 'textarea' ) {
3936
+                $type = 'TextareaControl';
3937
+
3938
+            } elseif ( $args['type'] == 'select' || $args['type'] == 'multiselect' ) {
3939
+                $type = 'SelectControl';
3940
+
3941
+                if($args['name'] == 'category' && !empty($args['post_type_linked'])){
3942
+                    $options .= "options: taxonomies_".str_replace("-","_", $this->id).",";
3943
+                }elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){
3944
+                    $options .= "options: sort_by_".str_replace("-","_", $this->id).",";
3945
+                }else {
3946
+
3947
+                    if ( ! empty( $args['options'] ) ) {
3948
+                        $options .= "options: [";
3949
+                        foreach ( $args['options'] as $option_val => $option_label ) {
3950
+                            $options .= "{ value: '" . esc_attr( $option_val ) . "', label: '" . esc_js( addslashes( $option_label ) ) . "' },";
3951
+                        }
3952
+                        $options .= "],";
3953
+                    }
3954
+                }
3955
+                if ( isset( $args['multiple'] ) && $args['multiple'] ) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550
3956
+                    $extra .= ' multiple:true,style:{height:"auto",paddingRight:"8px","overflow-y":"auto"}, ';
3957
+                }
3958 3958
 
3959
-				if($args['type'] == 'multiselect' ||  ( isset( $args['multiple'] ) && $args['multiple'] ) ){
3960
-					$after_elements	 .= "props.attributes.$key && el( wp.components.Button, {
3959
+                if($args['type'] == 'multiselect' ||  ( isset( $args['multiple'] ) && $args['multiple'] ) ){
3960
+                    $after_elements	 .= "props.attributes.$key && el( wp.components.Button, {
3961 3961
 									  className: 'components-button components-circular-option-picker__clear is-secondary is-small',
3962 3962
 									  style: {margin:'-8px 0 8px 0',display: 'block'},
3963 3963
 									  onClick: function(){
@@ -3968,8 +3968,8 @@  discard block
 block discarded – undo
3968 3968
 									},
3969 3969
 									'Clear'
3970 3970
 							),";
3971
-				}
3972
-			} elseif ( $args['type'] == 'tagselect' ) {
3971
+                }
3972
+            } elseif ( $args['type'] == 'tagselect' ) {
3973 3973
 //				$type = 'FormTokenField';
3974 3974
 //
3975 3975
 //				if ( ! empty( $args['options'] ) ) {
@@ -4004,20 +4004,20 @@  discard block
 block discarded – undo
4004 4004
 //				$value     = "[]";
4005 4005
 //				$extra .= ' __experimentalExpandOnFocus: true,';
4006 4006
 
4007
-			} else if ( $args['type'] == 'alignment' ) {
4008
-				$type = 'AlignmentToolbar'; // @todo this does not seem to work but cant find a example
4009
-			} else if ( $args['type'] == 'margins' ) {
4010
-
4011
-			} else if ( $args['type'] == 'visibility_conditions' && ( function_exists( 'wp_is_block_theme' ) && wp_is_block_theme() ) ) {
4012
-				$type = 'TextControl';
4013
-				$value = "(props.attributes.$key ? props.attributes.$key : '')";
4014
-				$args['type'] = 'text';
4015
-				$options .= 'disabled:true,';
4016
-				$bsvc_title = esc_attr( addslashes( $args['title'] ) );
4017
-				$bsvc_body = $this->block_visibility_fields( $args );
4018
-				// @TODO reset button
4019
-				$bsvc_footer = '<button type="button" class="btn btn-danger d-none">' . __( 'Reset', 'ayecode-connect' ) . '</button><button type="button" class="btn btn-secondary bs-vc-close text-white" data-bs-dismiss="modal">' . __( 'Close', 'ayecode-connect' ) . '</button><button type="button" class="btn btn-primary bs-vc-save">' . __( 'Save Rules', 'ayecode-connect' ) . '</button>';
4020
-				$after_elements .= "el('div', {className: 'components-base-control bs-vc-button-wrap'}, el(wp.components.Button, {
4007
+            } else if ( $args['type'] == 'alignment' ) {
4008
+                $type = 'AlignmentToolbar'; // @todo this does not seem to work but cant find a example
4009
+            } else if ( $args['type'] == 'margins' ) {
4010
+
4011
+            } else if ( $args['type'] == 'visibility_conditions' && ( function_exists( 'wp_is_block_theme' ) && wp_is_block_theme() ) ) {
4012
+                $type = 'TextControl';
4013
+                $value = "(props.attributes.$key ? props.attributes.$key : '')";
4014
+                $args['type'] = 'text';
4015
+                $options .= 'disabled:true,';
4016
+                $bsvc_title = esc_attr( addslashes( $args['title'] ) );
4017
+                $bsvc_body = $this->block_visibility_fields( $args );
4018
+                // @TODO reset button
4019
+                $bsvc_footer = '<button type="button" class="btn btn-danger d-none">' . __( 'Reset', 'ayecode-connect' ) . '</button><button type="button" class="btn btn-secondary bs-vc-close text-white" data-bs-dismiss="modal">' . __( 'Close', 'ayecode-connect' ) . '</button><button type="button" class="btn btn-primary bs-vc-save">' . __( 'Save Rules', 'ayecode-connect' ) . '</button>';
4020
+                $after_elements .= "el('div', {className: 'components-base-control bs-vc-button-wrap'}, el(wp.components.Button, {
4021 4021
 						className: 'components-button components-circular-option-picker__clear is-primary is-smallx',
4022 4022
 						onClick: function() {
4023 4023
 							var sValue = props.attributes." . $key . ";
@@ -4043,39 +4043,39 @@  discard block
 block discarded – undo
4043 4043
 					},
4044 4044
 					'" . addslashes( ! empty( $args['button_title'] ) ? $args['button_title'] : $args['title'] ) . "'
4045 4045
 				) ),";
4046
-			} else {
4047
-				return;// if we have not implemented the control then don't break the JS.
4048
-			}
4046
+            } else {
4047
+                return;// if we have not implemented the control then don't break the JS.
4048
+            }
4049 4049
 
4050
-			// color input does not show the labels so we add them
4051
-			if($args['type']=='color'){
4052
-				// add show only if advanced
4053
-				echo $require_advanced;
4054
-				// add setting require if defined
4055
-				echo $element_require;
4056
-				echo "el('div', {style: {'marginBottom': '8px'}}, '".addslashes( $args['title'] )."'),";
4057
-			}
4050
+            // color input does not show the labels so we add them
4051
+            if($args['type']=='color'){
4052
+                // add show only if advanced
4053
+                echo $require_advanced;
4054
+                // add setting require if defined
4055
+                echo $element_require;
4056
+                echo "el('div', {style: {'marginBottom': '8px'}}, '".addslashes( $args['title'] )."'),";
4057
+            }
4058 4058
 
4059
-			// add show only if advanced
4060
-			echo $require_advanced;
4061
-			// add setting require if defined
4062
-			echo $element_require;
4063
-			echo $device_type_require;
4059
+            // add show only if advanced
4060
+            echo $require_advanced;
4061
+            // add setting require if defined
4062
+            echo $element_require;
4063
+            echo $device_type_require;
4064 4064
 
4065
-			// icon
4066
-			echo $icon;
4067
-			?>
4065
+            // icon
4066
+            echo $icon;
4067
+            ?>
4068 4068
 			el( <?php echo $args['type'] == 'image' || $args['type'] == 'images' ? $type  : "wp.components.".$type; ?>, {
4069 4069
 			label: <?php if ( empty( $args['title'] ) ) { echo "''"; } else if ( empty( $args['row'] ) && ! empty( $args['device_type'] ) ) { ?>el('label',{className:'components-base-control__label',style:{width:"100%"}},el('span',{dangerouslySetInnerHTML: {__html: '<?php echo addslashes( $args['title'] ) ?>'}}),<?php if ( $device_type_icon ) { ?>deviceType == '<?php echo $device_type;?>' && el('span',{dangerouslySetInnerHTML: {__html: '<?php echo $device_type_icon; ?>'},title: deviceType + ": Set preview mode to change",style: {right:"0",position:"absolute",color:"var(--wp-admin-theme-color)"}})<?php } ?>)<?php
4070
-			} else { ?>'<?php echo addslashes( trim( esc_html( $args['title'] ) ) ); ?>'<?php } ?>,
4070
+            } else { ?>'<?php echo addslashes( trim( esc_html( $args['title'] ) ) ); ?>'<?php } ?>,
4071 4071
 			help: <?php echo ( isset( $args['desc'] ) ? "el('span', {dangerouslySetInnerHTML: {__html: '" . trim( wp_kses_post( addslashes( $args['desc'] ) ) ) . "'}})" : "''" ); ?>,
4072 4072
 			value: <?php echo $value; ?>,
4073 4073
 			<?php if ( $type == 'TextControl' && $args['type'] != 'text' ) {
4074
-				echo "type: '" . addslashes( $args['type'] ) . "',";
4075
-			} ?>
4074
+                echo "type: '" . addslashes( $args['type'] ) . "',";
4075
+            } ?>
4076 4076
 			<?php if ( ! empty( $args['placeholder'] ) ) {
4077
-				echo "placeholder: '" . esc_js( addslashes( trim( esc_html( $args['placeholder'] ) ) ) ) . "',";
4078
-			} ?>
4077
+                echo "placeholder: '" . esc_js( addslashes( trim( esc_html( $args['placeholder'] ) ) ) ) . "',";
4078
+            } ?>
4079 4079
 			<?php echo $options; ?>
4080 4080
 			<?php echo $extra; ?>
4081 4081
 			<?php echo $custom_attributes; ?>
@@ -4087,1361 +4087,1361 @@  discard block
 block discarded – undo
4087 4087
 			<?php } ?>
4088 4088
 		} <?php echo $inside_elements; ?> ),
4089 4089
 			<?php
4090
-			echo $after_elements;
4091
-		}
4090
+            echo $after_elements;
4091
+        }
4092 4092
 
4093
-		/**
4094
-		 * Convert an array of attributes to block string.
4095
-		 *
4096
-		 * @param $custom_attributes
4097
-		 *
4098
-		 * @return string
4099
-		 *@todo there is prob a faster way to do this, also we could add some validation here.
4100
-		 *
4101
-		 */
4102
-		public function array_to_attributes( $custom_attributes, $html = false ) {
4103
-			$attributes = '';
4104
-			if ( ! empty( $custom_attributes ) ) {
4105
-
4106
-				foreach ( $custom_attributes as $key => $val ) {
4107
-					if(is_array($val)){
4108
-						$attributes .= $key.': {'.$this->array_to_attributes( $val, $html ).'},';
4109
-					}else{
4110
-						$attributes .= $html ?  " $key='$val' " : "'$key': '$val',";
4111
-					}
4112
-				}
4093
+        /**
4094
+         * Convert an array of attributes to block string.
4095
+         *
4096
+         * @param $custom_attributes
4097
+         *
4098
+         * @return string
4099
+         *@todo there is prob a faster way to do this, also we could add some validation here.
4100
+         *
4101
+         */
4102
+        public function array_to_attributes( $custom_attributes, $html = false ) {
4103
+            $attributes = '';
4104
+            if ( ! empty( $custom_attributes ) ) {
4105
+
4106
+                foreach ( $custom_attributes as $key => $val ) {
4107
+                    if(is_array($val)){
4108
+                        $attributes .= $key.': {'.$this->array_to_attributes( $val, $html ).'},';
4109
+                    }else{
4110
+                        $attributes .= $html ?  " $key='$val' " : "'$key': '$val',";
4111
+                    }
4112
+                }
4113 4113
 
4114
-			}
4114
+            }
4115 4115
 
4116
-			return $attributes;
4117
-		}
4116
+            return $attributes;
4117
+        }
4118 4118
 
4119 4119
 
4120 4120
 
4121
-		/**
4122
-		 * A self looping function to create the output for JS block elements.
4123
-		 *
4124
-		 * This is what is output in the WP Editor visual view.
4125
-		 *
4126
-		 * @param $args
4127
-		 */
4128
-		public function block_element( $args, $save = false ) {
4121
+        /**
4122
+         * A self looping function to create the output for JS block elements.
4123
+         *
4124
+         * This is what is output in the WP Editor visual view.
4125
+         *
4126
+         * @param $args
4127
+         */
4128
+        public function block_element( $args, $save = false ) {
4129 4129
 
4130 4130
 //            print_r($args);echo '###';exit;
4131 4131
 
4132
-			if ( ! empty( $args ) ) {
4133
-				foreach ( $args as $element => $new_args ) {
4132
+            if ( ! empty( $args ) ) {
4133
+                foreach ( $args as $element => $new_args ) {
4134 4134
 
4135
-					if ( is_array( $new_args ) ) { // its an element
4135
+                    if ( is_array( $new_args ) ) { // its an element
4136 4136
 
4137 4137
 
4138
-						if ( isset( $new_args['element'] ) ) {
4138
+                        if ( isset( $new_args['element'] ) ) {
4139 4139
 
4140
-							if ( isset( $new_args['element_require'] ) ) {
4141
-								echo str_replace( array(
4142
-										"'+",
4143
-										"+'"
4144
-									), '', $this->block_props_replace( $new_args['element_require'] ) ) . " &&  ";
4145
-								unset( $new_args['element_require'] );
4146
-							}
4140
+                            if ( isset( $new_args['element_require'] ) ) {
4141
+                                echo str_replace( array(
4142
+                                        "'+",
4143
+                                        "+'"
4144
+                                    ), '', $this->block_props_replace( $new_args['element_require'] ) ) . " &&  ";
4145
+                                unset( $new_args['element_require'] );
4146
+                            }
4147 4147
 
4148
-							if($new_args['element']=='InnerBlocks'){
4149
-								echo "\n el( InnerBlocks, {";
4150
-							}elseif($new_args['element']=='innerBlocksProps'){
4151
-								$element = isset($new_args['inner_element']) ? esc_attr($new_args['inner_element']) : 'div';
4152
-							  //  echo "\n el( 'section', wp.blockEditor.useInnerBlocksProps( blockProps, {";
4148
+                            if($new_args['element']=='InnerBlocks'){
4149
+                                echo "\n el( InnerBlocks, {";
4150
+                            }elseif($new_args['element']=='innerBlocksProps'){
4151
+                                $element = isset($new_args['inner_element']) ? esc_attr($new_args['inner_element']) : 'div';
4152
+                                //  echo "\n el( 'section', wp.blockEditor.useInnerBlocksProps( blockProps, {";
4153 4153
 //                                echo $save ? "\n el( '$element', wp.blockEditor.useInnerBlocksProps.save( " : "\n el( '$element', wp.blockEditor.useInnerBlocksProps( ";
4154
-								echo $save ? "\n el( '$element', wp.blockEditor.useInnerBlocksProps.save( " : "\n el( '$element', wp.blockEditor.useInnerBlocksProps( ";
4155
-								echo $save ? "wp.blockEditor.useBlockProps.save( {" : "wp.blockEditor.useBlockProps( {";
4156
-								echo !empty($new_args['blockProps']) ? $this->block_element( $new_args['blockProps'],$save ) : '';
4157
-
4158
-								echo "} ), {";
4159
-								echo !empty($new_args['innerBlocksProps']) && !$save ? $this->block_element( $new_args['innerBlocksProps'],$save ) : '';
4160
-							//    echo '###';
4161
-
4162
-							  //  echo '###';
4163
-							}elseif($new_args['element']=='BlocksProps'){
4164
-
4165
-								if ( isset($new_args['if_inner_element']) ) {
4166
-									$element = $new_args['if_inner_element'];
4167
-								}else {
4168
-									$element = isset($new_args['inner_element']) ? "'".esc_attr($new_args['inner_element'])."'" : "'div'";
4169
-								}
4170
-
4171
-								unset($new_args['inner_element']);
4172
-								echo $save ? "\n el( $element, wp.blockEditor.useBlockProps.save( {" : "\n el( $element, wp.blockEditor.useBlockProps( {";
4173
-								echo !empty($new_args['blockProps']) ? $this->block_element( $new_args['blockProps'],$save ) : '';
4174
-
4175
-
4176
-							   // echo "} ),";
4177
-
4178
-							}else{
4179
-								echo "\n el( '" . $new_args['element'] . "', {";
4180
-							}
4181
-
4182
-
4183
-							// get the attributes
4184
-							foreach ( $new_args as $new_key => $new_value ) {
4185
-
4186
-
4187
-								if ( $new_key == 'element' || $new_key == 'content'|| $new_key == 'if_content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array( $new_value ) ) {
4188
-									// do nothing
4189
-								} else {
4190
-									echo $this->block_element( array( $new_key => $new_value ),$save );
4191
-								}
4192
-							}
4193
-
4194
-							echo $new_args['element']=='BlocksProps' ? '} ),' : "},";// end attributes
4195
-
4196
-							// get the content
4197
-							$first_item = 0;
4198
-							foreach ( $new_args as $new_key => $new_value ) {
4199
-								if ( $new_key === 'content' || $new_key === 'if_content' || is_array( $new_value ) ) {
4200
-
4201
-									if ( $new_key === 'content' ) {
4202
-										echo "'" . $this->block_props_replace( wp_slash( $new_value ) ) . "'";
4203
-									}else if ( $new_key === 'if_content' ) {
4204
-										echo  $this->block_props_replace(  $new_value  );
4205
-									}
4206
-
4207
-									if ( is_array( $new_value ) ) {
4208
-
4209
-										if ( isset( $new_value['element_require'] ) ) {
4210
-											echo str_replace( array(
4211
-													"'+",
4212
-													"+'"
4213
-												), '', $this->block_props_replace( $new_value['element_require'] ) ) . " &&  ";
4214
-											unset( $new_value['element_require'] );
4215
-										}
4216
-
4217
-										if ( isset( $new_value['element_repeat'] ) ) {
4218
-											$x = 1;
4219
-											while ( $x <= absint( $new_value['element_repeat'] ) ) {
4220
-												$this->block_element( array( '' => $new_value ),$save );
4221
-												$x ++;
4222
-											}
4223
-										} else {
4224
-											$this->block_element( array( '' => $new_value ),$save );
4225
-										}
4226
-									}
4227
-									$first_item ++;
4228
-								}
4229
-							}
4230
-
4231
-							if($new_args['element']=='innerBlocksProps' || $new_args['element']=='xBlocksProps'){
4232
-								echo "))";// end content
4233
-							}else{
4234
-								echo ")";// end content
4235
-							}
4236
-
4237
-
4238
-							echo ", \n";
4239
-
4240
-						}
4241
-					} else {
4242
-
4243
-						if ( substr( $element, 0, 3 ) === "if_" ) {
4244
-							$extra = '';
4245
-							if( strpos($new_args, '[%WrapClass%]') !== false ){
4246
-								$new_args = str_replace('[%WrapClass%]"','" + sd_build_aui_class(props.attributes)',$new_args);
4247
-								$new_args = str_replace('[%WrapClass%]','+ sd_build_aui_class(props.attributes)',$new_args);
4248
-							}
4249
-							echo str_replace( "if_", "", $element ) . ": " . $this->block_props_replace( $new_args, true ) . ",";
4250
-						} elseif ( $element == 'style' &&  strpos($new_args, '[%WrapStyle%]') !== false ) {
4251
-							$new_args = str_replace('[%WrapStyle%]','',$new_args);
4252
-							echo $element . ": {..." . $this->block_props_replace( $new_args ) . " , ...sd_build_aui_styles(props.attributes) },";
4154
+                                echo $save ? "\n el( '$element', wp.blockEditor.useInnerBlocksProps.save( " : "\n el( '$element', wp.blockEditor.useInnerBlocksProps( ";
4155
+                                echo $save ? "wp.blockEditor.useBlockProps.save( {" : "wp.blockEditor.useBlockProps( {";
4156
+                                echo !empty($new_args['blockProps']) ? $this->block_element( $new_args['blockProps'],$save ) : '';
4157
+
4158
+                                echo "} ), {";
4159
+                                echo !empty($new_args['innerBlocksProps']) && !$save ? $this->block_element( $new_args['innerBlocksProps'],$save ) : '';
4160
+                            //    echo '###';
4161
+
4162
+                                //  echo '###';
4163
+                            }elseif($new_args['element']=='BlocksProps'){
4164
+
4165
+                                if ( isset($new_args['if_inner_element']) ) {
4166
+                                    $element = $new_args['if_inner_element'];
4167
+                                }else {
4168
+                                    $element = isset($new_args['inner_element']) ? "'".esc_attr($new_args['inner_element'])."'" : "'div'";
4169
+                                }
4170
+
4171
+                                unset($new_args['inner_element']);
4172
+                                echo $save ? "\n el( $element, wp.blockEditor.useBlockProps.save( {" : "\n el( $element, wp.blockEditor.useBlockProps( {";
4173
+                                echo !empty($new_args['blockProps']) ? $this->block_element( $new_args['blockProps'],$save ) : '';
4174
+
4175
+
4176
+                                // echo "} ),";
4177
+
4178
+                            }else{
4179
+                                echo "\n el( '" . $new_args['element'] . "', {";
4180
+                            }
4181
+
4182
+
4183
+                            // get the attributes
4184
+                            foreach ( $new_args as $new_key => $new_value ) {
4185
+
4186
+
4187
+                                if ( $new_key == 'element' || $new_key == 'content'|| $new_key == 'if_content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array( $new_value ) ) {
4188
+                                    // do nothing
4189
+                                } else {
4190
+                                    echo $this->block_element( array( $new_key => $new_value ),$save );
4191
+                                }
4192
+                            }
4193
+
4194
+                            echo $new_args['element']=='BlocksProps' ? '} ),' : "},";// end attributes
4195
+
4196
+                            // get the content
4197
+                            $first_item = 0;
4198
+                            foreach ( $new_args as $new_key => $new_value ) {
4199
+                                if ( $new_key === 'content' || $new_key === 'if_content' || is_array( $new_value ) ) {
4200
+
4201
+                                    if ( $new_key === 'content' ) {
4202
+                                        echo "'" . $this->block_props_replace( wp_slash( $new_value ) ) . "'";
4203
+                                    }else if ( $new_key === 'if_content' ) {
4204
+                                        echo  $this->block_props_replace(  $new_value  );
4205
+                                    }
4206
+
4207
+                                    if ( is_array( $new_value ) ) {
4208
+
4209
+                                        if ( isset( $new_value['element_require'] ) ) {
4210
+                                            echo str_replace( array(
4211
+                                                    "'+",
4212
+                                                    "+'"
4213
+                                                ), '', $this->block_props_replace( $new_value['element_require'] ) ) . " &&  ";
4214
+                                            unset( $new_value['element_require'] );
4215
+                                        }
4216
+
4217
+                                        if ( isset( $new_value['element_repeat'] ) ) {
4218
+                                            $x = 1;
4219
+                                            while ( $x <= absint( $new_value['element_repeat'] ) ) {
4220
+                                                $this->block_element( array( '' => $new_value ),$save );
4221
+                                                $x ++;
4222
+                                            }
4223
+                                        } else {
4224
+                                            $this->block_element( array( '' => $new_value ),$save );
4225
+                                        }
4226
+                                    }
4227
+                                    $first_item ++;
4228
+                                }
4229
+                            }
4230
+
4231
+                            if($new_args['element']=='innerBlocksProps' || $new_args['element']=='xBlocksProps'){
4232
+                                echo "))";// end content
4233
+                            }else{
4234
+                                echo ")";// end content
4235
+                            }
4236
+
4237
+
4238
+                            echo ", \n";
4239
+
4240
+                        }
4241
+                    } else {
4242
+
4243
+                        if ( substr( $element, 0, 3 ) === "if_" ) {
4244
+                            $extra = '';
4245
+                            if( strpos($new_args, '[%WrapClass%]') !== false ){
4246
+                                $new_args = str_replace('[%WrapClass%]"','" + sd_build_aui_class(props.attributes)',$new_args);
4247
+                                $new_args = str_replace('[%WrapClass%]','+ sd_build_aui_class(props.attributes)',$new_args);
4248
+                            }
4249
+                            echo str_replace( "if_", "", $element ) . ": " . $this->block_props_replace( $new_args, true ) . ",";
4250
+                        } elseif ( $element == 'style' &&  strpos($new_args, '[%WrapStyle%]') !== false ) {
4251
+                            $new_args = str_replace('[%WrapStyle%]','',$new_args);
4252
+                            echo $element . ": {..." . $this->block_props_replace( $new_args ) . " , ...sd_build_aui_styles(props.attributes) },";
4253 4253
 //                            echo $element . ": " . $this->block_props_replace( $new_args ) . ",";
4254
-						} elseif ( $element == 'style' ) {
4255
-							echo $element . ": " . $this->block_props_replace( $new_args ) . ",";
4256
-						} elseif ( ( $element == 'class' || $element == 'className'  ) &&  strpos($new_args, '[%WrapClass%]') !== false ) {
4257
-							$new_args = str_replace('[%WrapClass%]','',$new_args);
4258
-							echo $element . ": '" . $this->block_props_replace( $new_args ) . "' + sd_build_aui_class(props.attributes),";
4259
-						} elseif ( $element == 'template' && $new_args ) {
4260
-							echo $element . ": $new_args,";
4261
-						} else {
4262
-							echo $element . ": '" . $this->block_props_replace( $new_args ) . "',";
4263
-						}
4264
-
4265
-					}
4266
-				}
4267
-			}
4268
-		}
4254
+                        } elseif ( $element == 'style' ) {
4255
+                            echo $element . ": " . $this->block_props_replace( $new_args ) . ",";
4256
+                        } elseif ( ( $element == 'class' || $element == 'className'  ) &&  strpos($new_args, '[%WrapClass%]') !== false ) {
4257
+                            $new_args = str_replace('[%WrapClass%]','',$new_args);
4258
+                            echo $element . ": '" . $this->block_props_replace( $new_args ) . "' + sd_build_aui_class(props.attributes),";
4259
+                        } elseif ( $element == 'template' && $new_args ) {
4260
+                            echo $element . ": $new_args,";
4261
+                        } else {
4262
+                            echo $element . ": '" . $this->block_props_replace( $new_args ) . "',";
4263
+                        }
4264
+
4265
+                    }
4266
+                }
4267
+            }
4268
+        }
4269 4269
 
4270
-		/**
4271
-		 * Replace block attributes placeholders with the proper naming.
4272
-		 *
4273
-		 * @param $string
4274
-		 *
4275
-		 * @return mixed
4276
-		 */
4277
-		public function block_props_replace( $string, $no_wrap = false ) {
4278
-			if ( $no_wrap ) {
4279
-				$string = str_replace( array( "[%", "%]", "%:checked]" ), array( "props.attributes.", "", "" ), $string );
4280
-			} else {
4281
-				$string = str_replace( array( "![%", "[%", "%]", "%:checked]" ), array( "'+!props.attributes.", "'+props.attributes.", "+'", "+'" ), $string );
4282
-			}
4270
+        /**
4271
+         * Replace block attributes placeholders with the proper naming.
4272
+         *
4273
+         * @param $string
4274
+         *
4275
+         * @return mixed
4276
+         */
4277
+        public function block_props_replace( $string, $no_wrap = false ) {
4278
+            if ( $no_wrap ) {
4279
+                $string = str_replace( array( "[%", "%]", "%:checked]" ), array( "props.attributes.", "", "" ), $string );
4280
+            } else {
4281
+                $string = str_replace( array( "![%", "[%", "%]", "%:checked]" ), array( "'+!props.attributes.", "'+props.attributes.", "+'", "+'" ), $string );
4282
+            }
4283 4283
 
4284
-			return $string;
4285
-		}
4284
+            return $string;
4285
+        }
4286 4286
 
4287
-		/**
4288
-		 * Outputs the content of the widget
4289
-		 *
4290
-		 * @param array $args
4291
-		 * @param array $instance
4292
-		 */
4293
-		public function widget( $args, $instance ) {
4294
-			if ( ! is_array( $args ) ) {
4295
-				$args = array();
4296
-			}
4287
+        /**
4288
+         * Outputs the content of the widget
4289
+         *
4290
+         * @param array $args
4291
+         * @param array $instance
4292
+         */
4293
+        public function widget( $args, $instance ) {
4294
+            if ( ! is_array( $args ) ) {
4295
+                $args = array();
4296
+            }
4297 4297
 
4298
-			// Get the filtered values
4299
-			$argument_values = $this->argument_values( $instance );
4300
-			$argument_values = $this->string_to_bool( $argument_values );
4301
-			$output          = $this->output( $argument_values, $args );
4298
+            // Get the filtered values
4299
+            $argument_values = $this->argument_values( $instance );
4300
+            $argument_values = $this->string_to_bool( $argument_values );
4301
+            $output          = $this->output( $argument_values, $args );
4302 4302
 
4303
-			$no_wrap = false;
4304
-			if ( isset( $argument_values['no_wrap'] ) && $argument_values['no_wrap'] ) {
4305
-				$no_wrap = true;
4306
-			}
4303
+            $no_wrap = false;
4304
+            if ( isset( $argument_values['no_wrap'] ) && $argument_values['no_wrap'] ) {
4305
+                $no_wrap = true;
4306
+            }
4307 4307
 
4308
-			ob_start();
4309
-			if ( $output && ! $no_wrap ) {
4308
+            ob_start();
4309
+            if ( $output && ! $no_wrap ) {
4310 4310
 
4311
-				$class_original = $this->options['widget_ops']['classname'];
4312
-				$class = $this->options['widget_ops']['classname']." sdel-".$this->get_instance_hash();
4311
+                $class_original = $this->options['widget_ops']['classname'];
4312
+                $class = $this->options['widget_ops']['classname']." sdel-".$this->get_instance_hash();
4313 4313
 
4314
-				// Before widget
4315
-				$before_widget = ! empty( $args['before_widget'] ) ? $args['before_widget'] : '';
4316
-				$before_widget = $before_widget ? str_replace( $class_original, $class, $before_widget ) : $before_widget;
4317
-				$before_widget = apply_filters( 'wp_super_duper_before_widget', $before_widget, $args, $instance, $this );
4318
-				$before_widget = apply_filters( 'wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this );
4314
+                // Before widget
4315
+                $before_widget = ! empty( $args['before_widget'] ) ? $args['before_widget'] : '';
4316
+                $before_widget = $before_widget ? str_replace( $class_original, $class, $before_widget ) : $before_widget;
4317
+                $before_widget = apply_filters( 'wp_super_duper_before_widget', $before_widget, $args, $instance, $this );
4318
+                $before_widget = apply_filters( 'wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this );
4319 4319
 
4320
-				// After widget
4321
-				$after_widget = ! empty( $args['after_widget'] ) ? $args['after_widget'] : '';
4322
-				$after_widget = apply_filters( 'wp_super_duper_after_widget', $after_widget, $args, $instance, $this );
4323
-				$after_widget = apply_filters( 'wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this );
4320
+                // After widget
4321
+                $after_widget = ! empty( $args['after_widget'] ) ? $args['after_widget'] : '';
4322
+                $after_widget = apply_filters( 'wp_super_duper_after_widget', $after_widget, $args, $instance, $this );
4323
+                $after_widget = apply_filters( 'wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this );
4324 4324
 
4325
-				echo $before_widget;
4326
-				// elementor strips the widget wrapping div so we check for and add it back if needed
4327
-				if ( $this->is_elementor_widget_output() ) {
4328
-					// Filter class & attrs for elementor widget output.
4329
-					$class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
4330
-					$class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
4325
+                echo $before_widget;
4326
+                // elementor strips the widget wrapping div so we check for and add it back if needed
4327
+                if ( $this->is_elementor_widget_output() ) {
4328
+                    // Filter class & attrs for elementor widget output.
4329
+                    $class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
4330
+                    $class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
4331 4331
 
4332
-					$attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
4333
-					$attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this );
4332
+                    $attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
4333
+                    $attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this );
4334 4334
 
4335
-					echo "<span class='" . esc_attr( $class  ) . "' " . $attrs . ">";
4336
-				}
4337
-				echo $this->output_title( $args, $instance );
4338
-				echo $output;
4339
-				if ( $this->is_elementor_widget_output() ) {
4340
-					echo "</span>";
4341
-				}
4342
-				echo $after_widget;
4343
-			} elseif ( $this->is_preview() && $output == '' ) {// if preview show a placeholder if empty
4344
-				$output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
4345
-				echo $output;
4346
-			} elseif ( $output && $no_wrap ) {
4347
-				echo $output;
4348
-			}
4349
-			$output = ob_get_clean();
4335
+                    echo "<span class='" . esc_attr( $class  ) . "' " . $attrs . ">";
4336
+                }
4337
+                echo $this->output_title( $args, $instance );
4338
+                echo $output;
4339
+                if ( $this->is_elementor_widget_output() ) {
4340
+                    echo "</span>";
4341
+                }
4342
+                echo $after_widget;
4343
+            } elseif ( $this->is_preview() && $output == '' ) {// if preview show a placeholder if empty
4344
+                $output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
4345
+                echo $output;
4346
+            } elseif ( $output && $no_wrap ) {
4347
+                echo $output;
4348
+            }
4349
+            $output = ob_get_clean();
4350 4350
 
4351
-			$output = apply_filters( 'wp_super_duper_widget_output', $output, $instance, $args, $this );
4351
+            $output = apply_filters( 'wp_super_duper_widget_output', $output, $instance, $args, $this );
4352 4352
 
4353
-			echo $output;
4354
-		}
4353
+            echo $output;
4354
+        }
4355 4355
 
4356
-		/**
4357
-		 * Tests if the current output is inside a elementor container.
4358
-		 *
4359
-		 * @return bool
4360
-		 *@since 1.0.4
4361
-		 */
4362
-		public function is_elementor_widget_output() {
4363
-			$result = false;
4364
-			if ( defined( 'ELEMENTOR_VERSION' ) && isset( $this->number ) && $this->number == 'REPLACE_TO_ID' ) {
4365
-				$result = true;
4366
-			}
4356
+        /**
4357
+         * Tests if the current output is inside a elementor container.
4358
+         *
4359
+         * @return bool
4360
+         *@since 1.0.4
4361
+         */
4362
+        public function is_elementor_widget_output() {
4363
+            $result = false;
4364
+            if ( defined( 'ELEMENTOR_VERSION' ) && isset( $this->number ) && $this->number == 'REPLACE_TO_ID' ) {
4365
+                $result = true;
4366
+            }
4367 4367
 
4368
-			return $result;
4369
-		}
4368
+            return $result;
4369
+        }
4370 4370
 
4371
-		/**
4372
-		 * Tests if the current output is inside a elementor preview.
4373
-		 *
4374
-		 * @return bool
4375
-		 *@since 1.0.4
4376
-		 */
4377
-		public function is_elementor_preview() {
4378
-			$result = false;
4379
-			if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
4380
-				$result = true;
4381
-			}
4371
+        /**
4372
+         * Tests if the current output is inside a elementor preview.
4373
+         *
4374
+         * @return bool
4375
+         *@since 1.0.4
4376
+         */
4377
+        public function is_elementor_preview() {
4378
+            $result = false;
4379
+            if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
4380
+                $result = true;
4381
+            }
4382 4382
 
4383
-			return $result;
4384
-		}
4383
+            return $result;
4384
+        }
4385 4385
 
4386
-		/**
4387
-		 * Tests if the current output is inside a Divi preview.
4388
-		 *
4389
-		 * @return bool
4390
-		 *@since 1.0.6
4391
-		 */
4392
-		public function is_divi_preview() {
4393
-			$result = false;
4394
-			if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
4395
-				$result = true;
4396
-			}
4386
+        /**
4387
+         * Tests if the current output is inside a Divi preview.
4388
+         *
4389
+         * @return bool
4390
+         *@since 1.0.6
4391
+         */
4392
+        public function is_divi_preview() {
4393
+            $result = false;
4394
+            if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
4395
+                $result = true;
4396
+            }
4397 4397
 
4398
-			return $result;
4399
-		}
4398
+            return $result;
4399
+        }
4400 4400
 
4401
-		/**
4402
-		 * Tests if the current output is inside a Beaver builder preview.
4403
-		 *
4404
-		 * @return bool
4405
-		 *@since 1.0.6
4406
-		 */
4407
-		public function is_beaver_preview() {
4408
-			$result = false;
4409
-			if ( isset( $_REQUEST['fl_builder'] ) ) {
4410
-				$result = true;
4411
-			}
4401
+        /**
4402
+         * Tests if the current output is inside a Beaver builder preview.
4403
+         *
4404
+         * @return bool
4405
+         *@since 1.0.6
4406
+         */
4407
+        public function is_beaver_preview() {
4408
+            $result = false;
4409
+            if ( isset( $_REQUEST['fl_builder'] ) ) {
4410
+                $result = true;
4411
+            }
4412 4412
 
4413
-			return $result;
4414
-		}
4413
+            return $result;
4414
+        }
4415 4415
 
4416
-		/**
4417
-		 * Tests if the current output is inside a siteorigin builder preview.
4418
-		 *
4419
-		 * @return bool
4420
-		 *@since 1.0.6
4421
-		 */
4422
-		public function is_siteorigin_preview() {
4423
-			$result = false;
4424
-			if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
4425
-				$result = true;
4426
-			}
4416
+        /**
4417
+         * Tests if the current output is inside a siteorigin builder preview.
4418
+         *
4419
+         * @return bool
4420
+         *@since 1.0.6
4421
+         */
4422
+        public function is_siteorigin_preview() {
4423
+            $result = false;
4424
+            if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
4425
+                $result = true;
4426
+            }
4427 4427
 
4428
-			return $result;
4429
-		}
4428
+            return $result;
4429
+        }
4430 4430
 
4431
-		/**
4432
-		 * Tests if the current output is inside a cornerstone builder preview.
4433
-		 *
4434
-		 * @return bool
4435
-		 *@since 1.0.8
4436
-		 */
4437
-		public function is_cornerstone_preview() {
4438
-			$result = false;
4439
-			if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
4440
-				$result = true;
4441
-			}
4431
+        /**
4432
+         * Tests if the current output is inside a cornerstone builder preview.
4433
+         *
4434
+         * @return bool
4435
+         *@since 1.0.8
4436
+         */
4437
+        public function is_cornerstone_preview() {
4438
+            $result = false;
4439
+            if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
4440
+                $result = true;
4441
+            }
4442 4442
 
4443
-			return $result;
4444
-		}
4443
+            return $result;
4444
+        }
4445 4445
 
4446
-		/**
4447
-		 * Tests if the current output is inside a fusion builder preview.
4448
-		 *
4449
-		 * @return bool
4450
-		 *@since 1.1.0
4451
-		 */
4452
-		public function is_fusion_preview() {
4453
-			$result = false;
4454
-			if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
4455
-				$result = true;
4456
-			}
4446
+        /**
4447
+         * Tests if the current output is inside a fusion builder preview.
4448
+         *
4449
+         * @return bool
4450
+         *@since 1.1.0
4451
+         */
4452
+        public function is_fusion_preview() {
4453
+            $result = false;
4454
+            if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
4455
+                $result = true;
4456
+            }
4457 4457
 
4458
-			return $result;
4459
-		}
4458
+            return $result;
4459
+        }
4460 4460
 
4461
-		/**
4462
-		 * Tests if the current output is inside a Oxygen builder preview.
4463
-		 *
4464
-		 * @return bool
4465
-		 *@since 1.0.18
4466
-		 */
4467
-		public function is_oxygen_preview() {
4468
-			$result = false;
4469
-			if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
4470
-				$result = true;
4471
-			}
4461
+        /**
4462
+         * Tests if the current output is inside a Oxygen builder preview.
4463
+         *
4464
+         * @return bool
4465
+         *@since 1.0.18
4466
+         */
4467
+        public function is_oxygen_preview() {
4468
+            $result = false;
4469
+            if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
4470
+                $result = true;
4471
+            }
4472 4472
 
4473
-			return $result;
4474
-		}
4473
+            return $result;
4474
+        }
4475 4475
 
4476
-		/**
4477
-		 * Check for Kallyas theme Zion builder preview.
4478
-		 *
4479
-		 * @since 1.1.22
4480
-		 *
4481
-		 * @return bool True when preview page otherwise false.
4482
-		 */
4483
-		public function is_kallyas_zion_preview() {
4484
-			$result = false;
4485
-
4486
-			if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) {
4487
-				$result = true;
4488
-			}
4476
+        /**
4477
+         * Check for Kallyas theme Zion builder preview.
4478
+         *
4479
+         * @since 1.1.22
4480
+         *
4481
+         * @return bool True when preview page otherwise false.
4482
+         */
4483
+        public function is_kallyas_zion_preview() {
4484
+            $result = false;
4489 4485
 
4490
-			return $result;
4491
-		}
4486
+            if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) {
4487
+                $result = true;
4488
+            }
4492 4489
 
4493
-		/**
4494
-		 * Check for Bricks theme builder preview.
4495
-		 *
4496
-		 * @since 1.1.31
4497
-		 *
4498
-		 * @return bool True when preview page otherwise false.
4499
-		 */
4500
-		public function is_bricks_preview() {
4501
-			$result = false;
4502
-
4503
-			if ( function_exists( 'bricks_is_builder' ) && ( bricks_is_builder() || bricks_is_builder_call() ) ) {
4504
-				$result = true;
4505
-			}
4490
+            return $result;
4491
+        }
4506 4492
 
4507
-			return $result;
4508
-		}
4493
+        /**
4494
+         * Check for Bricks theme builder preview.
4495
+         *
4496
+         * @since 1.1.31
4497
+         *
4498
+         * @return bool True when preview page otherwise false.
4499
+         */
4500
+        public function is_bricks_preview() {
4501
+            $result = false;
4509 4502
 
4510
-		/**
4511
-		 * General function to check if we are in a preview situation.
4512
-		 *
4513
-		 * @return bool
4514
-		 *@since 1.0.6
4515
-		 */
4516
-		public function is_preview() {
4517
-			$preview = false;
4518
-			if ( $this->is_divi_preview() ) {
4519
-				$preview = true;
4520
-			} elseif ( $this->is_elementor_preview() ) {
4521
-				$preview = true;
4522
-			} elseif ( $this->is_beaver_preview() ) {
4523
-				$preview = true;
4524
-			} elseif ( $this->is_siteorigin_preview() ) {
4525
-				$preview = true;
4526
-			} elseif ( $this->is_cornerstone_preview() ) {
4527
-				$preview = true;
4528
-			} elseif ( $this->is_fusion_preview() ) {
4529
-				$preview = true;
4530
-			} elseif ( $this->is_oxygen_preview() ) {
4531
-				$preview = true;
4532
-			} elseif( $this->is_kallyas_zion_preview() ) {
4533
-				$preview = true;
4534
-			} elseif( $this->is_block_content_call() ) {
4535
-				$preview = true;
4536
-			} elseif( $this->is_bricks_preview() ) {
4537
-				$preview = true;
4538
-			}
4503
+            if ( function_exists( 'bricks_is_builder' ) && ( bricks_is_builder() || bricks_is_builder_call() ) ) {
4504
+                $result = true;
4505
+            }
4539 4506
 
4540
-			return $preview;
4541
-		}
4507
+            return $result;
4508
+        }
4542 4509
 
4543
-		/**
4544
-		 * Output the super title.
4545
-		 *
4546
-		 * @param $args
4547
-		 * @param array $instance
4548
-		 *
4549
-		 * @return string
4550
-		 */
4551
-		public function output_title( $args, $instance = array() ) {
4552
-			$output = '';
4553
-			if ( ! empty( $instance['title'] ) ) {
4554
-				/** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */
4555
-				$title  = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base );
4556
-
4557
-				if ( empty( $instance['widget_title_tag'] ) ) {
4558
-					if ( ! isset( $args['before_title'] ) ) {
4559
-						$args['before_title'] = '';
4560
-					}
4510
+        /**
4511
+         * General function to check if we are in a preview situation.
4512
+         *
4513
+         * @return bool
4514
+         *@since 1.0.6
4515
+         */
4516
+        public function is_preview() {
4517
+            $preview = false;
4518
+            if ( $this->is_divi_preview() ) {
4519
+                $preview = true;
4520
+            } elseif ( $this->is_elementor_preview() ) {
4521
+                $preview = true;
4522
+            } elseif ( $this->is_beaver_preview() ) {
4523
+                $preview = true;
4524
+            } elseif ( $this->is_siteorigin_preview() ) {
4525
+                $preview = true;
4526
+            } elseif ( $this->is_cornerstone_preview() ) {
4527
+                $preview = true;
4528
+            } elseif ( $this->is_fusion_preview() ) {
4529
+                $preview = true;
4530
+            } elseif ( $this->is_oxygen_preview() ) {
4531
+                $preview = true;
4532
+            } elseif( $this->is_kallyas_zion_preview() ) {
4533
+                $preview = true;
4534
+            } elseif( $this->is_block_content_call() ) {
4535
+                $preview = true;
4536
+            } elseif( $this->is_bricks_preview() ) {
4537
+                $preview = true;
4538
+            }
4561 4539
 
4562
-					if ( ! isset( $args['after_title'] ) ) {
4563
-						$args['after_title'] = '';
4564
-					}
4540
+            return $preview;
4541
+        }
4565 4542
 
4566
-					$output = $args['before_title'] . $title . $args['after_title'];
4567
-				} else {
4568
-					$tag 			= esc_attr( $instance['widget_title_tag'] );
4569
-					$allowed_tags 	= array( 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'span', 'div', 'p' );
4570
-					$title_tag      = in_array( $tag, $allowed_tags, true ) ? esc_attr( $tag ) : 'h2';
4571
-
4572
-					// classes
4573
-					$title_classes = array();
4574
-					$title_classes[] = !empty( $instance['widget_title_size_class'] ) ? sanitize_html_class( $instance['widget_title_size_class'] ) : '';
4575
-					$title_classes[] = !empty( $instance['widget_title_align_class'] ) ? sanitize_html_class( $instance['widget_title_align_class'] ) : '';
4576
-					$title_classes[] = !empty( $instance['widget_title_color_class'] ) ? "text-".sanitize_html_class( $instance['widget_title_color_class'] ) : '';
4577
-					$title_classes[] = !empty( $instance['widget_title_border_class'] ) ? sanitize_html_class( $instance['widget_title_border_class'] ) : '';
4578
-					$title_classes[] = !empty( $instance['widget_title_border_color_class'] ) ? "border-".sanitize_html_class( $instance['widget_title_border_color_class'] ) : '';
4579
-					$title_classes[] = !empty( $instance['widget_title_mt_class'] ) ? "mt-".absint( $instance['widget_title_mt_class'] ) : '';
4580
-					$title_classes[] = !empty( $instance['widget_title_mr_class'] ) ? "mr-".absint( $instance['widget_title_mr_class'] ) : '';
4581
-					$title_classes[] = !empty( $instance['widget_title_mb_class'] ) ? "mb-".absint( $instance['widget_title_mb_class'] ) : '';
4582
-					$title_classes[] = !empty( $instance['widget_title_ml_class'] ) ? "ml-".absint( $instance['widget_title_ml_class'] ) : '';
4583
-					$title_classes[] = !empty( $instance['widget_title_pt_class'] ) ? "pt-".absint( $instance['widget_title_pt_class'] ) : '';
4584
-					$title_classes[] = !empty( $instance['widget_title_pr_class'] ) ? "pr-".absint( $instance['widget_title_pr_class'] ) : '';
4585
-					$title_classes[] = !empty( $instance['widget_title_pb_class'] ) ? "pb-".absint( $instance['widget_title_pb_class'] ) : '';
4586
-					$title_classes[] = !empty( $instance['widget_title_pl_class'] ) ? "pl-".absint( $instance['widget_title_pl_class'] ) : '';
4587
-
4588
-					$class = !empty( $title_classes ) ? implode(" ",$title_classes) : '';
4589
-					$output = "<$title_tag class='$class' >$title</$title_tag>";
4590
-				}
4543
+        /**
4544
+         * Output the super title.
4545
+         *
4546
+         * @param $args
4547
+         * @param array $instance
4548
+         *
4549
+         * @return string
4550
+         */
4551
+        public function output_title( $args, $instance = array() ) {
4552
+            $output = '';
4553
+            if ( ! empty( $instance['title'] ) ) {
4554
+                /** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */
4555
+                $title  = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base );
4556
+
4557
+                if ( empty( $instance['widget_title_tag'] ) ) {
4558
+                    if ( ! isset( $args['before_title'] ) ) {
4559
+                        $args['before_title'] = '';
4560
+                    }
4561
+
4562
+                    if ( ! isset( $args['after_title'] ) ) {
4563
+                        $args['after_title'] = '';
4564
+                    }
4565
+
4566
+                    $output = $args['before_title'] . $title . $args['after_title'];
4567
+                } else {
4568
+                    $tag 			= esc_attr( $instance['widget_title_tag'] );
4569
+                    $allowed_tags 	= array( 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'span', 'div', 'p' );
4570
+                    $title_tag      = in_array( $tag, $allowed_tags, true ) ? esc_attr( $tag ) : 'h2';
4571
+
4572
+                    // classes
4573
+                    $title_classes = array();
4574
+                    $title_classes[] = !empty( $instance['widget_title_size_class'] ) ? sanitize_html_class( $instance['widget_title_size_class'] ) : '';
4575
+                    $title_classes[] = !empty( $instance['widget_title_align_class'] ) ? sanitize_html_class( $instance['widget_title_align_class'] ) : '';
4576
+                    $title_classes[] = !empty( $instance['widget_title_color_class'] ) ? "text-".sanitize_html_class( $instance['widget_title_color_class'] ) : '';
4577
+                    $title_classes[] = !empty( $instance['widget_title_border_class'] ) ? sanitize_html_class( $instance['widget_title_border_class'] ) : '';
4578
+                    $title_classes[] = !empty( $instance['widget_title_border_color_class'] ) ? "border-".sanitize_html_class( $instance['widget_title_border_color_class'] ) : '';
4579
+                    $title_classes[] = !empty( $instance['widget_title_mt_class'] ) ? "mt-".absint( $instance['widget_title_mt_class'] ) : '';
4580
+                    $title_classes[] = !empty( $instance['widget_title_mr_class'] ) ? "mr-".absint( $instance['widget_title_mr_class'] ) : '';
4581
+                    $title_classes[] = !empty( $instance['widget_title_mb_class'] ) ? "mb-".absint( $instance['widget_title_mb_class'] ) : '';
4582
+                    $title_classes[] = !empty( $instance['widget_title_ml_class'] ) ? "ml-".absint( $instance['widget_title_ml_class'] ) : '';
4583
+                    $title_classes[] = !empty( $instance['widget_title_pt_class'] ) ? "pt-".absint( $instance['widget_title_pt_class'] ) : '';
4584
+                    $title_classes[] = !empty( $instance['widget_title_pr_class'] ) ? "pr-".absint( $instance['widget_title_pr_class'] ) : '';
4585
+                    $title_classes[] = !empty( $instance['widget_title_pb_class'] ) ? "pb-".absint( $instance['widget_title_pb_class'] ) : '';
4586
+                    $title_classes[] = !empty( $instance['widget_title_pl_class'] ) ? "pl-".absint( $instance['widget_title_pl_class'] ) : '';
4587
+
4588
+                    $class = !empty( $title_classes ) ? implode(" ",$title_classes) : '';
4589
+                    $output = "<$title_tag class='$class' >$title</$title_tag>";
4590
+                }
4591 4591
 
4592
-			}
4592
+            }
4593 4593
 
4594
-			return $output;
4595
-		}
4594
+            return $output;
4595
+        }
4596 4596
 
4597
-		/**
4598
-		 * Outputs the options form inputs for the widget.
4599
-		 *
4600
-		 * @param array $instance The widget options.
4601
-		 */
4602
-		public function form( $instance ) {
4597
+        /**
4598
+         * Outputs the options form inputs for the widget.
4599
+         *
4600
+         * @param array $instance The widget options.
4601
+         */
4602
+        public function form( $instance ) {
4603 4603
 
4604
-			// set widget instance
4605
-			$this->instance = $instance;
4604
+            // set widget instance
4605
+            $this->instance = $instance;
4606 4606
 
4607
-			// set it as a SD widget
4608
-			echo $this->widget_advanced_toggle();
4607
+            // set it as a SD widget
4608
+            echo $this->widget_advanced_toggle();
4609 4609
 
4610
-			echo "<p>" . esc_attr( $this->options['widget_ops']['description'] ) . "</p>";
4611
-			$arguments_raw = $this->get_arguments();
4610
+            echo "<p>" . esc_attr( $this->options['widget_ops']['description'] ) . "</p>";
4611
+            $arguments_raw = $this->get_arguments();
4612 4612
 
4613
-			if ( is_array( $arguments_raw ) ) {
4613
+            if ( is_array( $arguments_raw ) ) {
4614 4614
 
4615
-				$arguments = $this->group_arguments( $arguments_raw );
4615
+                $arguments = $this->group_arguments( $arguments_raw );
4616 4616
 
4617
-				// Do we have sections?
4618
-				$has_sections = $arguments == $arguments_raw ? false : true;
4617
+                // Do we have sections?
4618
+                $has_sections = $arguments == $arguments_raw ? false : true;
4619 4619
 
4620 4620
 
4621
-				if ( $has_sections ) {
4622
-					$panel_count = 0;
4623
-					foreach ( $arguments as $key => $args ) {
4621
+                if ( $has_sections ) {
4622
+                    $panel_count = 0;
4623
+                    foreach ( $arguments as $key => $args ) {
4624 4624
 
4625
-						?>
4625
+                        ?>
4626 4626
 						<script>
4627 4627
 							//							jQuery(this).find("i").toggleClass("fas fa-chevron-up fas fa-chevron-down");jQuery(this).next().toggle();
4628 4628
 						</script>
4629 4629
 						<?php
4630 4630
 
4631
-						$hide       = $panel_count ? ' style="display:none;" ' : '';
4632
-						$icon_class = $panel_count ? 'fas fa-chevron-up' : 'fas fa-chevron-down';
4633
-						echo "<button onclick='jQuery(this).find(\"i\").toggleClass(\"fas fa-chevron-up fas fa-chevron-down\");jQuery(this).next().slideToggle();' type='button' class='sd-toggle-group-button sd-input-group-toggle" . sanitize_title_with_dashes( $key ) . "'>" . esc_attr( $key ) . " <i style='float:right;' class='" . $icon_class . "'></i></button>";
4634
-						echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes( $key ) . "' $hide>";
4631
+                        $hide       = $panel_count ? ' style="display:none;" ' : '';
4632
+                        $icon_class = $panel_count ? 'fas fa-chevron-up' : 'fas fa-chevron-down';
4633
+                        echo "<button onclick='jQuery(this).find(\"i\").toggleClass(\"fas fa-chevron-up fas fa-chevron-down\");jQuery(this).next().slideToggle();' type='button' class='sd-toggle-group-button sd-input-group-toggle" . sanitize_title_with_dashes( $key ) . "'>" . esc_attr( $key ) . " <i style='float:right;' class='" . $icon_class . "'></i></button>";
4634
+                        echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes( $key ) . "' $hide>";
4635 4635
 
4636
-						foreach ( $args as $k => $a ) {
4636
+                        foreach ( $args as $k => $a ) {
4637 4637
 
4638
-							$this->widget_inputs_row_start($k, $a);
4639
-							$this->widget_inputs( $a, $instance );
4640
-							$this->widget_inputs_row_end($k, $a);
4638
+                            $this->widget_inputs_row_start($k, $a);
4639
+                            $this->widget_inputs( $a, $instance );
4640
+                            $this->widget_inputs_row_end($k, $a);
4641 4641
 
4642
-						}
4642
+                        }
4643 4643
 
4644
-						echo "</div>";
4644
+                        echo "</div>";
4645 4645
 
4646
-						$panel_count ++;
4646
+                        $panel_count ++;
4647 4647
 
4648
-					}
4649
-				} else {
4650
-					foreach ( $arguments as $key => $args ) {
4651
-						$this->widget_inputs_row_start($key, $args);
4652
-						$this->widget_inputs( $args, $instance );
4653
-						$this->widget_inputs_row_end($key, $args);
4654
-					}
4655
-				}
4648
+                    }
4649
+                } else {
4650
+                    foreach ( $arguments as $key => $args ) {
4651
+                        $this->widget_inputs_row_start($key, $args);
4652
+                        $this->widget_inputs( $args, $instance );
4653
+                        $this->widget_inputs_row_end($key, $args);
4654
+                    }
4655
+                }
4656 4656
 
4657
-			}
4658
-		}
4657
+            }
4658
+        }
4659 4659
 
4660
-		public function widget_inputs_row_start( $key, $args ) {
4661
-			if ( ! empty( $args['row'] ) ) {
4662
-				// Maybe open
4663
-				if ( ! empty( $args['row']['open'] ) ) {
4664
-					?>
4660
+        public function widget_inputs_row_start( $key, $args ) {
4661
+            if ( ! empty( $args['row'] ) ) {
4662
+                // Maybe open
4663
+                if ( ! empty( $args['row']['open'] ) ) {
4664
+                    ?>
4665 4665
 					<div class='bsui sd-argument' data-argument='<?php echo esc_attr( $args['row']['key'] ); ?>' data-element_require='<?php echo ( ! empty( $args['row']['element_require'] ) ? $this->convert_element_require( $args['row']['element_require'] ) : '' ); ?>'>
4666 4666
 					<?php if ( ! empty( $args['row']['title'] ) ) { ?>
4667 4667
 					<?php
4668
-						if ( isset( $args['row']['icon'] ) ) {
4669
-							$args['row']['icon'] = '';
4670
-						}
4671
-
4672
-						if ( ! isset( $args['row']['device_type'] ) && isset( $args['device_type'] ) ) {
4673
-							$args['row']['device_type'] = $args['device_type'];
4674
-						}
4675
-					?>
4668
+                        if ( isset( $args['row']['icon'] ) ) {
4669
+                            $args['row']['icon'] = '';
4670
+                        }
4671
+
4672
+                        if ( ! isset( $args['row']['device_type'] ) && isset( $args['device_type'] ) ) {
4673
+                            $args['row']['device_type'] = $args['device_type'];
4674
+                        }
4675
+                    ?>
4676 4676
 					<label class="mb-0"><?php echo $this->widget_field_title( $args['row'] ); ?><?php echo $this->widget_field_desc( $args['row'] ); ?></label>
4677 4677
 					<?php } ?>
4678 4678
 					<div class='row<?php echo ( ! empty( $args['row']['class'] ) ? ' ' . esc_attr( $args['row']['class'] ) : '' ); ?>'>
4679 4679
 					<div class='col pr-2'>
4680 4680
 					<?php
4681
-				} else if ( ! empty( $args['row']['close'] ) ) {
4682
-					echo "<div class='col pl-0 ps-0'>";
4683
-				} else {
4684
-					echo "<div class='col pl-0 ps-0 pr-2 pe-2'>";
4685
-				}
4686
-			}
4687
-		}
4681
+                } else if ( ! empty( $args['row']['close'] ) ) {
4682
+                    echo "<div class='col pl-0 ps-0'>";
4683
+                } else {
4684
+                    echo "<div class='col pl-0 ps-0 pr-2 pe-2'>";
4685
+                }
4686
+            }
4687
+        }
4688 4688
 
4689
-		public function widget_inputs_row_end( $key, $args ) {
4690
-			if ( ! empty( $args['row'] ) ) {
4691
-				// Maybe close
4692
-				if ( ! empty( $args['row']['close'] ) ) {
4693
-					echo "</div></div>";
4694
-				}
4695
-				echo "</div>";
4696
-			}
4697
-		}
4689
+        public function widget_inputs_row_end( $key, $args ) {
4690
+            if ( ! empty( $args['row'] ) ) {
4691
+                // Maybe close
4692
+                if ( ! empty( $args['row']['close'] ) ) {
4693
+                    echo "</div></div>";
4694
+                }
4695
+                echo "</div>";
4696
+            }
4697
+        }
4698 4698
 
4699
-		/**
4700
-		 * Get the hidden input that when added makes the advanced button show on widget settings.
4701
-		 *
4702
-		 * @return string
4703
-		 */
4704
-		public function widget_advanced_toggle() {
4699
+        /**
4700
+         * Get the hidden input that when added makes the advanced button show on widget settings.
4701
+         *
4702
+         * @return string
4703
+         */
4704
+        public function widget_advanced_toggle() {
4705 4705
 
4706
-			$output = '';
4707
-			if ( $this->block_show_advanced() ) {
4708
-				$val = 1;
4709
-			} else {
4710
-				$val = 0;
4711
-			}
4706
+            $output = '';
4707
+            if ( $this->block_show_advanced() ) {
4708
+                $val = 1;
4709
+            } else {
4710
+                $val = 0;
4711
+            }
4712 4712
 
4713
-			$output .= "<input type='hidden'  class='sd-show-advanced' value='$val' />";
4713
+            $output .= "<input type='hidden'  class='sd-show-advanced' value='$val' />";
4714 4714
 
4715
-			return $output;
4716
-		}
4715
+            return $output;
4716
+        }
4717 4717
 
4718
-		/**
4719
-		 * Convert require element.
4720
-		 *
4721
-		 * @param string $input Input element.
4722
-		 *
4723
-		 * @return string $output
4724
-		 *@since 1.0.0
4725
-		 *
4726
-		 */
4727
-		public function convert_element_require( $input ) {
4728
-			$input = str_replace( "'", '"', $input );// we only want double quotes
4729
-
4730
-			$output = esc_attr( str_replace( array( "[%", "%]", "%:checked]" ), array(
4731
-				"jQuery(form).find('[data-argument=\"",
4732
-				"\"]').find('input,select,textarea').val()",
4733
-				"\"]').find('input:checked').val()"
4734
-			), $input ) );
4735
-
4736
-			return $output;
4737
-		}
4718
+        /**
4719
+         * Convert require element.
4720
+         *
4721
+         * @param string $input Input element.
4722
+         *
4723
+         * @return string $output
4724
+         *@since 1.0.0
4725
+         *
4726
+         */
4727
+        public function convert_element_require( $input ) {
4728
+            $input = str_replace( "'", '"', $input );// we only want double quotes
4738 4729
 
4739
-		/**
4740
-		 * Builds the inputs for the widget options.
4741
-		 *
4742
-		 * @param $args
4743
-		 * @param $instance
4744
-		 */
4745
-		public function widget_inputs( $args, $instance ) {
4746
-
4747
-			$class             = "";
4748
-			$element_require   = "";
4749
-			$custom_attributes = "";
4750
-
4751
-			// get value
4752
-			if ( isset( $instance[ $args['name'] ] ) ) {
4753
-				$value = $instance[ $args['name'] ];
4754
-			} elseif ( ! isset( $instance[ $args['name'] ] ) && ! empty( $args['default'] ) ) {
4755
-				$value = is_array( $args['default'] ) ? array_map( "esc_html", $args['default'] ) : esc_html( $args['default'] );
4756
-			} else {
4757
-				$value = '';
4758
-			}
4730
+            $output = esc_attr( str_replace( array( "[%", "%]", "%:checked]" ), array(
4731
+                "jQuery(form).find('[data-argument=\"",
4732
+                "\"]').find('input,select,textarea').val()",
4733
+                "\"]').find('input:checked').val()"
4734
+            ), $input ) );
4759 4735
 
4760
-			// get placeholder
4761
-			if ( ! empty( $args['placeholder'] ) ) {
4762
-				$placeholder = "placeholder='" . esc_html( $args['placeholder'] ) . "'";
4763
-			} else {
4764
-				$placeholder = '';
4765
-			}
4736
+            return $output;
4737
+        }
4766 4738
 
4767
-			// get if advanced
4768
-			if ( isset( $args['advanced'] ) && $args['advanced'] ) {
4769
-				$class .= " sd-advanced-setting ";
4770
-			}
4739
+        /**
4740
+         * Builds the inputs for the widget options.
4741
+         *
4742
+         * @param $args
4743
+         * @param $instance
4744
+         */
4745
+        public function widget_inputs( $args, $instance ) {
4746
+
4747
+            $class             = "";
4748
+            $element_require   = "";
4749
+            $custom_attributes = "";
4750
+
4751
+            // get value
4752
+            if ( isset( $instance[ $args['name'] ] ) ) {
4753
+                $value = $instance[ $args['name'] ];
4754
+            } elseif ( ! isset( $instance[ $args['name'] ] ) && ! empty( $args['default'] ) ) {
4755
+                $value = is_array( $args['default'] ) ? array_map( "esc_html", $args['default'] ) : esc_html( $args['default'] );
4756
+            } else {
4757
+                $value = '';
4758
+            }
4771 4759
 
4772
-			// element_require
4773
-			if ( isset( $args['element_require'] ) && $args['element_require'] ) {
4774
-				$element_require = $args['element_require'];
4775
-			}
4760
+            // get placeholder
4761
+            if ( ! empty( $args['placeholder'] ) ) {
4762
+                $placeholder = "placeholder='" . esc_html( $args['placeholder'] ) . "'";
4763
+            } else {
4764
+                $placeholder = '';
4765
+            }
4776 4766
 
4777
-			// custom_attributes
4778
-			if ( isset( $args['custom_attributes'] ) && $args['custom_attributes'] ) {
4779
-				$custom_attributes = $this->array_to_attributes( $args['custom_attributes'], true );
4780
-			}
4767
+            // get if advanced
4768
+            if ( isset( $args['advanced'] ) && $args['advanced'] ) {
4769
+                $class .= " sd-advanced-setting ";
4770
+            }
4781 4771
 
4782
-			// before wrapper
4783
-			?>
4772
+            // element_require
4773
+            if ( isset( $args['element_require'] ) && $args['element_require'] ) {
4774
+                $element_require = $args['element_require'];
4775
+            }
4776
+
4777
+            // custom_attributes
4778
+            if ( isset( $args['custom_attributes'] ) && $args['custom_attributes'] ) {
4779
+                $custom_attributes = $this->array_to_attributes( $args['custom_attributes'], true );
4780
+            }
4781
+
4782
+            // before wrapper
4783
+            ?>
4784 4784
 			<p class="sd-argument <?php echo esc_attr( $class ); ?>" data-argument='<?php echo esc_attr( $args['name'] ); ?>' data-element_require='<?php if ( $element_require ) { echo $this->convert_element_require( $element_require );} ?>'>
4785 4785
 			<?php
4786
-			switch ( $args['type'] ) {
4787
-				//array('text','password','number','email','tel','url','color')
4788
-				case "text":
4789
-				case "password":
4790
-				case "number":
4791
-				case "email":
4792
-				case "tel":
4793
-				case "url":
4794
-				case "color":
4795
-					?>
4786
+            switch ( $args['type'] ) {
4787
+                //array('text','password','number','email','tel','url','color')
4788
+                case "text":
4789
+                case "password":
4790
+                case "number":
4791
+                case "email":
4792
+                case "tel":
4793
+                case "url":
4794
+                case "color":
4795
+                    ?>
4796 4796
 					<label for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args );?><?php echo $this->widget_field_desc( $args ); ?></label>
4797 4797
 					<input <?php echo $placeholder; ?> class="widefat" <?php echo $custom_attributes; ?> id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="<?php echo esc_attr( $args['type'] ); ?>" value="<?php echo esc_attr( $value ); ?>">
4798 4798
 					<?php
4799 4799
 
4800
-					break;
4801
-				case "select":
4802
-					$multiple = isset( $args['multiple'] ) && $args['multiple'] ? true : false;
4803
-					if ( $multiple ) {
4804
-						if ( empty( $value ) ) {
4805
-							$value = array();
4806
-						}
4807
-					}
4808
-					?>
4800
+                    break;
4801
+                case "select":
4802
+                    $multiple = isset( $args['multiple'] ) && $args['multiple'] ? true : false;
4803
+                    if ( $multiple ) {
4804
+                        if ( empty( $value ) ) {
4805
+                            $value = array();
4806
+                        }
4807
+                    }
4808
+                    ?>
4809 4809
 					<label for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args ); ?><?php echo $this->widget_field_desc( $args ); ?></label>
4810 4810
 					<select <?php echo $placeholder; ?> class="widefat" <?php echo $custom_attributes; ?> id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); if ( $multiple ) { echo "[]"; } ?>"
4811 4811
 						<?php if ( $multiple ) {
4812
-							echo "multiple";
4813
-						} //@todo not implemented yet due to gutenberg not supporting it
4814
-						?>>
4812
+                            echo "multiple";
4813
+                        } //@todo not implemented yet due to gutenberg not supporting it
4814
+                        ?>>
4815 4815
 						<?php
4816 4816
 
4817
-						if ( ! empty( $args['options'] ) ) {
4818
-							foreach ( $args['options'] as $val => $label ) {
4819
-								if ( $multiple ) {
4820
-									$selected = in_array( $val, $value ) ? 'selected="selected"' : '';
4821
-								} else {
4822
-									$selected = selected( $value, $val, false );
4823
-								}
4824
-								echo "<option value='$val' " . $selected . ">$label</option>";
4825
-							}
4826
-						}
4827
-						?>
4817
+                        if ( ! empty( $args['options'] ) ) {
4818
+                            foreach ( $args['options'] as $val => $label ) {
4819
+                                if ( $multiple ) {
4820
+                                    $selected = in_array( $val, $value ) ? 'selected="selected"' : '';
4821
+                                } else {
4822
+                                    $selected = selected( $value, $val, false );
4823
+                                }
4824
+                                echo "<option value='$val' " . $selected . ">$label</option>";
4825
+                            }
4826
+                        }
4827
+                        ?>
4828 4828
 					</select>
4829 4829
 					<?php
4830
-					break;
4831
-				case "checkbox":
4832
-					?>
4830
+                    break;
4831
+                case "checkbox":
4832
+                    ?>
4833 4833
 					<input <?php echo $placeholder; ?> <?php checked( 1, $value, true ) ?> <?php echo $custom_attributes; ?> class="widefat" id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="checkbox" value="1">
4834 4834
 					<label for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args );?><?php echo $this->widget_field_desc( $args ); ?></label>
4835 4835
 					<?php
4836
-					break;
4837
-				case "textarea":
4838
-					?>
4836
+                    break;
4837
+                case "textarea":
4838
+                    ?>
4839 4839
 					<label for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args ); ?><?php echo $this->widget_field_desc( $args ); ?></label>
4840 4840
 					<textarea <?php echo $placeholder; ?> class="widefat" <?php echo $custom_attributes; ?> id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>"><?php echo esc_attr( $value ); ?></textarea>
4841 4841
 					<?php
4842 4842
 
4843
-					break;
4844
-				case "hidden":
4845
-					?>
4843
+                    break;
4844
+                case "hidden":
4845
+                    ?>
4846 4846
 					<input id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="hidden" value="<?php echo esc_attr( $value ); ?>">
4847 4847
 					<?php
4848
-					break;
4849
-				default:
4850
-					echo "No input type found!"; // @todo we need to add more input types.
4851
-			}
4852
-			// after wrapper
4853
-			?></p><?php
4854
-		}
4848
+                    break;
4849
+                default:
4850
+                    echo "No input type found!"; // @todo we need to add more input types.
4851
+            }
4852
+            // after wrapper
4853
+            ?></p><?php
4854
+        }
4855 4855
 
4856
-		public function get_widget_icon($icon = 'box-top', $title = ''){
4857
-			if($icon=='box-top'){
4858
-				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.048" height="9.017" fill="#555D66"></rect><rect x="16.265" y="5.498" width="1.023" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.186" width="8.964" height="2.482" fill="#272B2F"></rect><rect x="5.487" y="16.261" width="9.026" height="1.037" fill="#555D66"></rect></svg>';
4859
-			}elseif($icon=='box-right'){
4860
-				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.046" height="9.017" fill="#555D66"></rect><rect x="15.244" y="5.498" width="2.518" height="9.003" fill="#272B2F"></rect><rect x="5.518" y="2.719" width="8.964" height="0.954" fill="#555D66"></rect><rect x="5.487" y="16.308" width="9.026" height="0.99" fill="#555D66"></rect></svg>';
4861
-			}elseif($icon=='box-bottom'){
4862
-				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1" height="9.017" fill="#555D66"></rect><rect x="16.261" y="5.498" width="1.027" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.968" fill="#555D66"></rect><rect x="5.487" y="15.28" width="9.026" height="2.499" fill="#272B2F"></rect></svg>';
4863
-			}elseif($icon=='box-left'){
4864
-				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.202" y="5.492" width="2.503" height="9.017" fill="#272B2F"></rect><rect x="16.276" y="5.498" width="1.012" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.966" fill="#555D66"></rect><rect x="5.487" y="16.303" width="9.026" height="0.995" fill="#555D66"></rect></svg>';
4865
-			}
4866
-		}
4856
+        public function get_widget_icon($icon = 'box-top', $title = ''){
4857
+            if($icon=='box-top'){
4858
+                return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.048" height="9.017" fill="#555D66"></rect><rect x="16.265" y="5.498" width="1.023" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.186" width="8.964" height="2.482" fill="#272B2F"></rect><rect x="5.487" y="16.261" width="9.026" height="1.037" fill="#555D66"></rect></svg>';
4859
+            }elseif($icon=='box-right'){
4860
+                return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.046" height="9.017" fill="#555D66"></rect><rect x="15.244" y="5.498" width="2.518" height="9.003" fill="#272B2F"></rect><rect x="5.518" y="2.719" width="8.964" height="0.954" fill="#555D66"></rect><rect x="5.487" y="16.308" width="9.026" height="0.99" fill="#555D66"></rect></svg>';
4861
+            }elseif($icon=='box-bottom'){
4862
+                return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1" height="9.017" fill="#555D66"></rect><rect x="16.261" y="5.498" width="1.027" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.968" fill="#555D66"></rect><rect x="5.487" y="15.28" width="9.026" height="2.499" fill="#272B2F"></rect></svg>';
4863
+            }elseif($icon=='box-left'){
4864
+                return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.202" y="5.492" width="2.503" height="9.017" fill="#272B2F"></rect><rect x="16.276" y="5.498" width="1.012" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.966" fill="#555D66"></rect><rect x="5.487" y="16.303" width="9.026" height="0.995" fill="#555D66"></rect></svg>';
4865
+            }
4866
+        }
4867 4867
 
4868
-		/**
4869
-		 * Get the widget input description html.
4870
-		 *
4871
-		 * @param $args
4872
-		 *
4873
-		 * @return string
4874
-		 * @todo, need to make its own tooltip script
4875
-		 */
4876
-		public function widget_field_desc( $args ) {
4877
-
4878
-			$description = '';
4879
-			if ( isset( $args['desc'] ) && $args['desc'] ) {
4880
-				if ( isset( $args['desc_tip'] ) && $args['desc_tip'] ) {
4881
-					$description = $this->desc_tip( $args['desc'] );
4882
-				} else {
4883
-					$description = '<span class="description">' . wp_kses_post( $args['desc'] ) . '</span>';
4884
-				}
4885
-			}
4868
+        /**
4869
+         * Get the widget input description html.
4870
+         *
4871
+         * @param $args
4872
+         *
4873
+         * @return string
4874
+         * @todo, need to make its own tooltip script
4875
+         */
4876
+        public function widget_field_desc( $args ) {
4877
+
4878
+            $description = '';
4879
+            if ( isset( $args['desc'] ) && $args['desc'] ) {
4880
+                if ( isset( $args['desc_tip'] ) && $args['desc_tip'] ) {
4881
+                    $description = $this->desc_tip( $args['desc'] );
4882
+                } else {
4883
+                    $description = '<span class="description">' . wp_kses_post( $args['desc'] ) . '</span>';
4884
+                }
4885
+            }
4886 4886
 
4887
-			return $description;
4888
-		}
4887
+            return $description;
4888
+        }
4889 4889
 
4890
-		/**
4891
-		 * Get the widget input title html.
4892
-		 *
4893
-		 * @param $args
4894
-		 *
4895
-		 * @return string
4896
-		 */
4897
-		public function widget_field_title( $args ) {
4898
-			$title = '';
4899
-
4900
-			if ( isset( $args['title'] ) && $args['title'] ) {
4901
-				if ( ! empty( $args['device_type'] ) ) {
4902
-					$args['title'] .= ' (' . $args['device_type'] . ')'; // Append device type to title.
4903
-				}
4890
+        /**
4891
+         * Get the widget input title html.
4892
+         *
4893
+         * @param $args
4894
+         *
4895
+         * @return string
4896
+         */
4897
+        public function widget_field_title( $args ) {
4898
+            $title = '';
4904 4899
 
4905
-				if ( isset( $args['icon'] ) && $args['icon'] ) {
4906
-					$title = self::get_widget_icon( $args['icon'], $args['title']  );
4907
-				} else {
4908
-					$title = esc_attr( $args['title'] );
4909
-				}
4910
-			}
4900
+            if ( isset( $args['title'] ) && $args['title'] ) {
4901
+                if ( ! empty( $args['device_type'] ) ) {
4902
+                    $args['title'] .= ' (' . $args['device_type'] . ')'; // Append device type to title.
4903
+                }
4911 4904
 
4912
-			return $title;
4913
-		}
4905
+                if ( isset( $args['icon'] ) && $args['icon'] ) {
4906
+                    $title = self::get_widget_icon( $args['icon'], $args['title']  );
4907
+                } else {
4908
+                    $title = esc_attr( $args['title'] );
4909
+                }
4910
+            }
4914 4911
 
4915
-		/**
4916
-		 * Get the tool tip html.
4917
-		 *
4918
-		 * @param $tip
4919
-		 * @param bool $allow_html
4920
-		 *
4921
-		 * @return string
4922
-		 */
4923
-		function desc_tip( $tip, $allow_html = false ) {
4924
-			if ( $allow_html ) {
4925
-				$tip = $this->sanitize_tooltip( $tip );
4926
-			} else {
4927
-				$tip = esc_attr( $tip );
4928
-			}
4912
+            return $title;
4913
+        }
4929 4914
 
4930
-			return '<span class="gd-help-tip dashicons dashicons-editor-help" title="' . $tip . '"></span>';
4931
-		}
4915
+        /**
4916
+         * Get the tool tip html.
4917
+         *
4918
+         * @param $tip
4919
+         * @param bool $allow_html
4920
+         *
4921
+         * @return string
4922
+         */
4923
+        function desc_tip( $tip, $allow_html = false ) {
4924
+            if ( $allow_html ) {
4925
+                $tip = $this->sanitize_tooltip( $tip );
4926
+            } else {
4927
+                $tip = esc_attr( $tip );
4928
+            }
4932 4929
 
4933
-		/**
4934
-		 * Sanitize a string destined to be a tooltip.
4935
-		 *
4936
-		 * @param string $var
4937
-		 *
4938
-		 * @return string
4939
-		 */
4940
-		public function sanitize_tooltip( $var ) {
4941
-			return htmlspecialchars( wp_kses( html_entity_decode( $var ), array(
4942
-				'br'     => array(),
4943
-				'em'     => array(),
4944
-				'strong' => array(),
4945
-				'small'  => array(),
4946
-				'span'   => array(),
4947
-				'ul'     => array(),
4948
-				'li'     => array(),
4949
-				'ol'     => array(),
4950
-				'p'      => array(),
4951
-			) ) );
4952
-		}
4930
+            return '<span class="gd-help-tip dashicons dashicons-editor-help" title="' . $tip . '"></span>';
4931
+        }
4953 4932
 
4954
-		/**
4955
-		 * Processing widget options on save
4956
-		 *
4957
-		 * @param array $new_instance The new options
4958
-		 * @param array $old_instance The previous options
4959
-		 *
4960
-		 * @return array
4961
-		 * @todo we should add some sanitation here.
4962
-		 */
4963
-		public function update( $new_instance, $old_instance ) {
4964
-
4965
-			//save the widget
4966
-			$instance = array_merge( (array) $old_instance, (array) $new_instance );
4967
-
4968
-			// set widget instance
4969
-			$this->instance = $instance;
4970
-
4971
-			if ( empty( $this->arguments ) ) {
4972
-				$this->get_arguments();
4973
-			}
4933
+        /**
4934
+         * Sanitize a string destined to be a tooltip.
4935
+         *
4936
+         * @param string $var
4937
+         *
4938
+         * @return string
4939
+         */
4940
+        public function sanitize_tooltip( $var ) {
4941
+            return htmlspecialchars( wp_kses( html_entity_decode( $var ), array(
4942
+                'br'     => array(),
4943
+                'em'     => array(),
4944
+                'strong' => array(),
4945
+                'small'  => array(),
4946
+                'span'   => array(),
4947
+                'ul'     => array(),
4948
+                'li'     => array(),
4949
+                'ol'     => array(),
4950
+                'p'      => array(),
4951
+            ) ) );
4952
+        }
4974 4953
 
4975
-			// check for checkboxes
4976
-			if ( ! empty( $this->arguments ) ) {
4977
-				foreach ( $this->arguments as $argument ) {
4978
-					if ( isset( $argument['type'] ) && $argument['type'] == 'checkbox' && ! isset( $new_instance[ $argument['name'] ] ) ) {
4979
-						$instance[ $argument['name'] ] = '0';
4980
-					}
4981
-				}
4982
-			}
4954
+        /**
4955
+         * Processing widget options on save
4956
+         *
4957
+         * @param array $new_instance The new options
4958
+         * @param array $old_instance The previous options
4959
+         *
4960
+         * @return array
4961
+         * @todo we should add some sanitation here.
4962
+         */
4963
+        public function update( $new_instance, $old_instance ) {
4983 4964
 
4984
-			return $instance;
4985
-		}
4965
+            //save the widget
4966
+            $instance = array_merge( (array) $old_instance, (array) $new_instance );
4986 4967
 
4987
-		/**
4988
-		 * Checks if the current call is a ajax call to get the block content.
4989
-		 *
4990
-		 * This can be used in your widget to return different content as the block content.
4991
-		 *
4992
-		 * @return bool
4993
-		 *@since 1.0.3
4994
-		 */
4995
-		public function is_block_content_call() {
4996
-			$result = false;
4997
-			if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
4998
-				$result = true;
4999
-			}
4968
+            // set widget instance
4969
+            $this->instance = $instance;
5000 4970
 
5001
-			return $result;
5002
-		}
4971
+            if ( empty( $this->arguments ) ) {
4972
+                $this->get_arguments();
4973
+            }
5003 4974
 
5004
-		/**
5005
-		 * Get an instance hash that will be unique to the type and settings.
5006
-		 *
5007
-		 * @return string
5008
-		 *@since 1.0.20
5009
-		 */
5010
-		public function get_instance_hash(){
5011
-			$instance_string = $this->base_id.serialize($this->instance);
5012
-			return hash('crc32b',$instance_string);
5013
-		}
4975
+            // check for checkboxes
4976
+            if ( ! empty( $this->arguments ) ) {
4977
+                foreach ( $this->arguments as $argument ) {
4978
+                    if ( isset( $argument['type'] ) && $argument['type'] == 'checkbox' && ! isset( $new_instance[ $argument['name'] ] ) ) {
4979
+                        $instance[ $argument['name'] ] = '0';
4980
+                    }
4981
+                }
4982
+            }
5014 4983
 
5015
-		/**
5016
-		 * Generate and return inline styles from CSS rules that will match the unique class of the instance.
5017
-		 *
5018
-		 * @param array $rules
5019
-		 *
5020
-		 * @return string
5021
-		 *@since 1.0.20
5022
-		 */
5023
-		public function get_instance_style($rules = array()){
5024
-			$css = '';
5025
-
5026
-			if(!empty($rules)){
5027
-				$rules = array_unique($rules);
5028
-				$instance_hash = $this->get_instance_hash();
5029
-				$css .= "<style>";
5030
-				foreach($rules as $rule){
5031
-					$css .= ".sdel-$instance_hash $rule";
5032
-				}
5033
-				$css .= "</style>";
5034
-			}
4984
+            return $instance;
4985
+        }
5035 4986
 
5036
-			return $css;
5037
-		}
4987
+        /**
4988
+         * Checks if the current call is a ajax call to get the block content.
4989
+         *
4990
+         * This can be used in your widget to return different content as the block content.
4991
+         *
4992
+         * @return bool
4993
+         *@since 1.0.3
4994
+         */
4995
+        public function is_block_content_call() {
4996
+            $result = false;
4997
+            if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
4998
+                $result = true;
4999
+            }
5000
+
5001
+            return $result;
5002
+        }
5038 5003
 
5039
-		/**
5040
-		 * Encode shortcodes tags.
5041
-		 *
5042
-		 * @param string $content Content to search for shortcode tags.
5043
-		 *
5004
+        /**
5005
+         * Get an instance hash that will be unique to the type and settings.
5006
+         *
5007
+         * @return string
5008
+         *@since 1.0.20
5009
+         */
5010
+        public function get_instance_hash(){
5011
+            $instance_string = $this->base_id.serialize($this->instance);
5012
+            return hash('crc32b',$instance_string);
5013
+        }
5014
+
5015
+        /**
5016
+         * Generate and return inline styles from CSS rules that will match the unique class of the instance.
5017
+         *
5018
+         * @param array $rules
5019
+         *
5020
+         * @return string
5021
+         *@since 1.0.20
5022
+         */
5023
+        public function get_instance_style($rules = array()){
5024
+            $css = '';
5025
+
5026
+            if(!empty($rules)){
5027
+                $rules = array_unique($rules);
5028
+                $instance_hash = $this->get_instance_hash();
5029
+                $css .= "<style>";
5030
+                foreach($rules as $rule){
5031
+                    $css .= ".sdel-$instance_hash $rule";
5032
+                }
5033
+                $css .= "</style>";
5034
+            }
5035
+
5036
+            return $css;
5037
+        }
5038
+
5039
+        /**
5040
+         * Encode shortcodes tags.
5041
+         *
5042
+         * @param string $content Content to search for shortcode tags.
5043
+         *
5044 5044
 *@return string Content with shortcode tags removed.
5045
-		 *@since 1.0.28
5046
-		 *
5047
-		 */
5048
-		public function encode_shortcodes( $content ) {
5049
-			// Avoids existing encoded tags.
5050
-			$trans   = array(
5051
-				'&#91;' => '&#091;',
5052
-				'&#93;' => '&#093;',
5053
-				'&amp;#91;' => '&#091;',
5054
-				'&amp;#93;' => '&#093;',
5055
-				'&lt;' => '&0lt;',
5056
-				'&gt;' => '&0gt;',
5057
-				'&amp;lt;' => '&0lt;',
5058
-				'&amp;gt;' => '&0gt;',
5059
-			);
5060
-
5061
-			$content = strtr( $content, $trans );
5062
-
5063
-			$trans   = array(
5064
-				'[' => '&#91;',
5065
-				']' => '&#93;',
5066
-				'<' => '&lt;',
5067
-				'>' => '&gt;',
5068
-				'"' => '&quot;',
5069
-				"'" => '&#39;',
5070
-			);
5071
-
5072
-			$content = strtr( $content, $trans );
5073
-
5074
-			return $content;
5075
-		}
5045
+         *@since 1.0.28
5046
+         *
5047
+         */
5048
+        public function encode_shortcodes( $content ) {
5049
+            // Avoids existing encoded tags.
5050
+            $trans   = array(
5051
+                '&#91;' => '&#091;',
5052
+                '&#93;' => '&#093;',
5053
+                '&amp;#91;' => '&#091;',
5054
+                '&amp;#93;' => '&#093;',
5055
+                '&lt;' => '&0lt;',
5056
+                '&gt;' => '&0gt;',
5057
+                '&amp;lt;' => '&0lt;',
5058
+                '&amp;gt;' => '&0gt;',
5059
+            );
5060
+
5061
+            $content = strtr( $content, $trans );
5062
+
5063
+            $trans   = array(
5064
+                '[' => '&#91;',
5065
+                ']' => '&#93;',
5066
+                '<' => '&lt;',
5067
+                '>' => '&gt;',
5068
+                '"' => '&quot;',
5069
+                "'" => '&#39;',
5070
+            );
5071
+
5072
+            $content = strtr( $content, $trans );
5073
+
5074
+            return $content;
5075
+        }
5076 5076
 
5077
-		/**
5078
-		 * Remove encoded shortcod tags.
5079
-		 *
5080
-		 * @param string $content Content to search for shortcode tags.
5081
-		 *
5077
+        /**
5078
+         * Remove encoded shortcod tags.
5079
+         *
5080
+         * @param string $content Content to search for shortcode tags.
5081
+         *
5082 5082
 *@return string Content with decoded shortcode tags.
5083
-		 *@since 1.0.28
5084
-		 *
5085
-		 */
5086
-		public function decode_shortcodes( $content ) {
5087
-			$trans   = array(
5088
-				'&#91;' => '[',
5089
-				'&#93;' => ']',
5090
-				'&amp;#91;' => '[',
5091
-				'&amp;#93;' => ']',
5092
-				'&lt;' => '<',
5093
-				'&gt;' => '>',
5094
-				'&amp;lt;' => '<',
5095
-				'&amp;gt;' => '>',
5096
-				'&quot;' => '"',
5097
-				'&apos;' => "'",
5098
-			);
5099
-
5100
-			$content = strtr( $content, $trans );
5101
-
5102
-			$trans   = array(
5103
-				'&#091;' => '&#91;',
5104
-				'&#093;' => '&#93;',
5105
-				'&amp;#091;' => '&#91;',
5106
-				'&amp;#093;' => '&#93;',
5107
-				'&0lt;' => '&lt;',
5108
-				'&0gt;' => '&gt;',
5109
-				'&amp;0lt;' => '&lt;',
5110
-				'&amp;0gt;' => '&gt;',
5111
-			);
5112
-
5113
-			$content = strtr( $content, $trans );
5114
-
5115
-			return $content;
5116
-		}
5117
-
5118
-		public function block_visibility_fields( $args ) {
5119
-			$value = ! empty( $args['value'] ) ? esc_attr( $args['value'] ) : '';
5120
-			$content = '<div class="bs-vc-rule-template d-none">';
5121
-				$content .= '<div class="p-3 pb-0 mb-3 border border-1 rounded-1 position-relative bs-vc-rule" data-bs-index="BSVCINDEX" >';
5122
-					$content .= '<div class="row">';
5123
-						$content .= '<div class="col-sm-12">';
5124
-							$content .= '<div class="bs-rule-action position-absolute top-0 end-0 p-2 zindex-5"><span class="text-danger c-pointer bs-vc-remove-rule" title="' . esc_attr__( 'Remove Rule', 'ayecode-connect' ) . '"><i class="fas fa-circle-minus fs-6"></i></span></div>';
5125
-							$content .= aui()->select(
5126
-								array(
5127
-									'id'          => 'bsvc_rule_BSVCINDEX',
5128
-									'name'        => 'bsvc_rule_BSVCINDEX',
5129
-									'label'       => __( 'Rule', 'ayecode-connect' ),
5130
-									'placeholder' => __( 'Select Rule...', 'ayecode-connect' ),
5131
-									'class'       => 'bsvc_rule form-select-sm no-select2 mw-100',
5132
-									'options'     => sd_visibility_rules_options(),
5133
-									'default'     => '',
5134
-									'value'       => '',
5135
-									'label_type'  => '',
5136
-									'select2'     => false,
5137
-									'input_group_left' => __( 'Rule:', 'ayecode-connect' ),
5138
-									'extra_attributes' => array(
5139
-										'data-minimum-results-for-search' => '-1'
5140
-									)
5141
-								)
5142
-							);
5143
-
5144
-						$content .= '</div>';
5145
-
5146
-						if ( class_exists( 'GeoDirectory' ) ) {
5147
-							$content .= '<div class="col-md-7 col-sm-12">';
5148
-
5149
-								$content .= aui()->select(
5150
-									array(
5151
-										'id'          => 'bsvc_gd_field_BSVCINDEX',
5152
-										'name'        => 'bsvc_gd_field_BSVCINDEX',
5153
-										'label'       => __( 'FIELD', 'ayecode-connect' ),
5154
-										'placeholder' => __( 'FIELD', 'ayecode-connect' ),
5155
-										'class'       => 'bsvc_gd_field form-select-sm no-select2 mw-100',
5156
-										'options'     => sd_visibility_gd_field_options(),
5157
-										'default'     => '',
5158
-										'value'       => '',
5159
-										'label_type'  => '',
5160
-										'select2'     => false,
5161
-										'element_require'  => '[%bsvc_rule_BSVCINDEX%]=="gd_field"',
5162
-										'extra_attributes' => array(
5163
-											'data-minimum-results-for-search' => '-1'
5164
-										)
5165
-									)
5166
-								);
5167
-
5168
-							$content .= '</div>';
5169
-							$content .= '<div class="col-md-5 col-sm-12">';
5170
-
5171
-								$content .= aui()->select(
5172
-									array(
5173
-										'id'          => 'bsvc_gd_field_condition_BSVCINDEX',
5174
-										'name'        => 'bsvc_gd_field_condition_BSVCINDEX',
5175
-										'label'       => __( 'CONDITION', 'ayecode-connect' ),
5176
-										'placeholder' => __( 'CONDITION', 'ayecode-connect' ),
5177
-										'class'       => 'bsvc_gd_field_condition form-select-sm no-select2 mw-100',
5178
-										'options'     => sd_visibility_field_condition_options(),
5179
-										'default'     => '',
5180
-										'value'       => '',
5181
-										'label_type'  => '',
5182
-										'select2'     => false,
5183
-										'element_require'  => '[%bsvc_rule_BSVCINDEX%]=="gd_field"',
5184
-										'extra_attributes' => array(
5185
-											'data-minimum-results-for-search' => '-1'
5186
-										)
5187
-									)
5188
-								);
5189
-
5190
-							$content .= '</div>';
5191
-							$content .= '<div class="col-sm-12">';
5192
-
5193
-								$content .= aui()->input(
5194
-									array(
5195
-										'type'            => 'text',
5196
-										'id'              => 'bsvc_gd_field_search_BSVCINDEX',
5197
-										'name'            => 'bsvc_gd_field_search_BSVCINDEX',
5198
-										'label'           => __( 'VALUE TO MATCH', 'ayecode-connect' ),
5199
-										'class'           => 'bsvc_gd_field_search form-control-sm',
5200
-										'placeholder'     => __( 'VALUE TO MATCH', 'ayecode-connect' ),
5201
-										'label_type'      => '',
5202
-										'value'           => '',
5203
-										'element_require' => '([%bsvc_rule_BSVCINDEX%]=="gd_field" && [%bsvc_gd_field_condition_BSVCINDEX%] && [%bsvc_gd_field_condition_BSVCINDEX%]!="is_empty" && [%bsvc_gd_field_condition_BSVCINDEX%]!="is_not_empty")'
5204
-									)
5205
-								);
5083
+         *@since 1.0.28
5084
+         *
5085
+         */
5086
+        public function decode_shortcodes( $content ) {
5087
+            $trans   = array(
5088
+                '&#91;' => '[',
5089
+                '&#93;' => ']',
5090
+                '&amp;#91;' => '[',
5091
+                '&amp;#93;' => ']',
5092
+                '&lt;' => '<',
5093
+                '&gt;' => '>',
5094
+                '&amp;lt;' => '<',
5095
+                '&amp;gt;' => '>',
5096
+                '&quot;' => '"',
5097
+                '&apos;' => "'",
5098
+            );
5099
+
5100
+            $content = strtr( $content, $trans );
5101
+
5102
+            $trans   = array(
5103
+                '&#091;' => '&#91;',
5104
+                '&#093;' => '&#93;',
5105
+                '&amp;#091;' => '&#91;',
5106
+                '&amp;#093;' => '&#93;',
5107
+                '&0lt;' => '&lt;',
5108
+                '&0gt;' => '&gt;',
5109
+                '&amp;0lt;' => '&lt;',
5110
+                '&amp;0gt;' => '&gt;',
5111
+            );
5112
+
5113
+            $content = strtr( $content, $trans );
5114
+
5115
+            return $content;
5116
+        }
5206 5117
 
5207
-							$content .= '</div>';
5208
-						}
5118
+        public function block_visibility_fields( $args ) {
5119
+            $value = ! empty( $args['value'] ) ? esc_attr( $args['value'] ) : '';
5120
+            $content = '<div class="bs-vc-rule-template d-none">';
5121
+                $content .= '<div class="p-3 pb-0 mb-3 border border-1 rounded-1 position-relative bs-vc-rule" data-bs-index="BSVCINDEX" >';
5122
+                    $content .= '<div class="row">';
5123
+                        $content .= '<div class="col-sm-12">';
5124
+                            $content .= '<div class="bs-rule-action position-absolute top-0 end-0 p-2 zindex-5"><span class="text-danger c-pointer bs-vc-remove-rule" title="' . esc_attr__( 'Remove Rule', 'ayecode-connect' ) . '"><i class="fas fa-circle-minus fs-6"></i></span></div>';
5125
+                            $content .= aui()->select(
5126
+                                array(
5127
+                                    'id'          => 'bsvc_rule_BSVCINDEX',
5128
+                                    'name'        => 'bsvc_rule_BSVCINDEX',
5129
+                                    'label'       => __( 'Rule', 'ayecode-connect' ),
5130
+                                    'placeholder' => __( 'Select Rule...', 'ayecode-connect' ),
5131
+                                    'class'       => 'bsvc_rule form-select-sm no-select2 mw-100',
5132
+                                    'options'     => sd_visibility_rules_options(),
5133
+                                    'default'     => '',
5134
+                                    'value'       => '',
5135
+                                    'label_type'  => '',
5136
+                                    'select2'     => false,
5137
+                                    'input_group_left' => __( 'Rule:', 'ayecode-connect' ),
5138
+                                    'extra_attributes' => array(
5139
+                                        'data-minimum-results-for-search' => '-1'
5140
+                                    )
5141
+                                )
5142
+                            );
5143
+
5144
+                        $content .= '</div>';
5145
+
5146
+                        if ( class_exists( 'GeoDirectory' ) ) {
5147
+                            $content .= '<div class="col-md-7 col-sm-12">';
5148
+
5149
+                                $content .= aui()->select(
5150
+                                    array(
5151
+                                        'id'          => 'bsvc_gd_field_BSVCINDEX',
5152
+                                        'name'        => 'bsvc_gd_field_BSVCINDEX',
5153
+                                        'label'       => __( 'FIELD', 'ayecode-connect' ),
5154
+                                        'placeholder' => __( 'FIELD', 'ayecode-connect' ),
5155
+                                        'class'       => 'bsvc_gd_field form-select-sm no-select2 mw-100',
5156
+                                        'options'     => sd_visibility_gd_field_options(),
5157
+                                        'default'     => '',
5158
+                                        'value'       => '',
5159
+                                        'label_type'  => '',
5160
+                                        'select2'     => false,
5161
+                                        'element_require'  => '[%bsvc_rule_BSVCINDEX%]=="gd_field"',
5162
+                                        'extra_attributes' => array(
5163
+                                            'data-minimum-results-for-search' => '-1'
5164
+                                        )
5165
+                                    )
5166
+                                );
5167
+
5168
+                            $content .= '</div>';
5169
+                            $content .= '<div class="col-md-5 col-sm-12">';
5170
+
5171
+                                $content .= aui()->select(
5172
+                                    array(
5173
+                                        'id'          => 'bsvc_gd_field_condition_BSVCINDEX',
5174
+                                        'name'        => 'bsvc_gd_field_condition_BSVCINDEX',
5175
+                                        'label'       => __( 'CONDITION', 'ayecode-connect' ),
5176
+                                        'placeholder' => __( 'CONDITION', 'ayecode-connect' ),
5177
+                                        'class'       => 'bsvc_gd_field_condition form-select-sm no-select2 mw-100',
5178
+                                        'options'     => sd_visibility_field_condition_options(),
5179
+                                        'default'     => '',
5180
+                                        'value'       => '',
5181
+                                        'label_type'  => '',
5182
+                                        'select2'     => false,
5183
+                                        'element_require'  => '[%bsvc_rule_BSVCINDEX%]=="gd_field"',
5184
+                                        'extra_attributes' => array(
5185
+                                            'data-minimum-results-for-search' => '-1'
5186
+                                        )
5187
+                                    )
5188
+                                );
5189
+
5190
+                            $content .= '</div>';
5191
+                            $content .= '<div class="col-sm-12">';
5192
+
5193
+                                $content .= aui()->input(
5194
+                                    array(
5195
+                                        'type'            => 'text',
5196
+                                        'id'              => 'bsvc_gd_field_search_BSVCINDEX',
5197
+                                        'name'            => 'bsvc_gd_field_search_BSVCINDEX',
5198
+                                        'label'           => __( 'VALUE TO MATCH', 'ayecode-connect' ),
5199
+                                        'class'           => 'bsvc_gd_field_search form-control-sm',
5200
+                                        'placeholder'     => __( 'VALUE TO MATCH', 'ayecode-connect' ),
5201
+                                        'label_type'      => '',
5202
+                                        'value'           => '',
5203
+                                        'element_require' => '([%bsvc_rule_BSVCINDEX%]=="gd_field" && [%bsvc_gd_field_condition_BSVCINDEX%] && [%bsvc_gd_field_condition_BSVCINDEX%]!="is_empty" && [%bsvc_gd_field_condition_BSVCINDEX%]!="is_not_empty")'
5204
+                                    )
5205
+                                );
5206
+
5207
+                            $content .= '</div>';
5208
+                        }
5209 5209
 
5210 5210
                         $content .= apply_filters( 'sd_block_visibility_fields', '', $args );
5211 5211
 
5212
-					$content .= '</div>';
5213
-
5214
-					$content .= '<div class="row aui-conditional-field" data-element-require="jQuery(form).find(\'[name=bsvc_rule_BSVCINDEX]\').val()==\'user_roles\'" data-argument="bsvc_user_roles_BSVCINDEX_1"><label for="bsvc_user_roles_BSVCINDEX_1" class="form-label mb-3">' . __( 'Select User Roles:', 'ayecode-connect' ) . '</label>';
5215
-						$role_options = sd_user_roles_options();
5216
-
5217
-						$role_option_i = 0;
5218
-						foreach ( $role_options as $role_option_key => $role_option_name ) {
5219
-							$role_option_i++;
5220
-
5221
-							$content .= '<div class="col-sm-6">';
5222
-							$content .= aui()->input(
5223
-								array(
5224
-									'id'               => 'bsvc_user_roles_BSVCINDEX_' . $role_option_i,
5225
-									'name'             => 'bsvc_user_roles_BSVCINDEX[]',
5226
-									'type'             => 'checkbox',
5227
-									'label'            => $role_option_name,
5228
-									'label_type'       => 'hidden',
5229
-									'class'            => 'bsvc_user_roles',
5230
-									'value'            => $role_option_key,
5231
-									'switch'           => 'md',
5232
-									'no_wrap'          => true
5233
-								)
5234
-							);
5235
-							$content .= '</div>';
5236
-						}
5237
-					$content .= '</div>';
5238
-					$content .= '<div class="bs-vc-sep-wrap text-center position-absolute top-0 mt-n3"><div class="bs-vc-sep-cond d-inline-block badge text-dark bg-gray mt-1">' . esc_html__( 'AND', 'ayecode-connect' ) . '</div></div>';
5239
-				$content .= '</div>';
5240
-			$content .= '</div>';
5241
-			$content .= '<form id="bs-vc-modal-form" class="bs-vc-modal-form">';
5242
-			$content .= '<div class="bs-vc-rule-sets"></div>';
5243
-			$content .= '<div class="row"><div class="col-sm-12 text-center pt-1 pb-4"><button type="button" class="btn btn-sm btn-primary d-block w-100 bs-vc-add-rule"><i class="fas fa-plus"></i> ' . __( 'Add Rule', 'ayecode-connect' ) . '</button></div></div>';
5244
-			$content .= '<div class="row"><div class="col-md-6 col-sm-12">';
5245
-			$content .= aui()->select(
5246
-				array(
5247
-					'id'          => 'bsvc_output',
5248
-					'name'        => 'bsvc_output',
5249
-					'label'       => __( 'What should happen if rules met.', 'ayecode-connect' ),
5250
-					'placeholder' => __( 'Show Block', 'ayecode-connect' ),
5251
-					'class'       => 'bsvc_output form-select-sm no-select2 mw-100',
5252
-					'options'     => sd_visibility_output_options(),
5253
-					'default'     => '',
5254
-					'value'       => '',
5255
-					'label_type'  => 'top',
5256
-					'select2'     => false,
5257
-					'extra_attributes' => array(
5258
-						'data-minimum-results-for-search' => '-1'
5259
-					)
5260
-				)
5261
-			);
5262
-
5263
-			$content .= '</div><div class="col-md-6 col-sm-12">';
5264
-
5265
-			$content .= aui()->select(
5266
-				array(
5267
-					'id'              => 'bsvc_page',
5268
-					'name'            => 'bsvc_page',
5269
-					'label'           => __( 'Page Content', 'ayecode-connect' ),
5270
-					'placeholder'     => __( 'Select Page ID...', 'ayecode-connect' ),
5271
-					'class'           => 'bsvc_page form-select-sm no-select2 mw-100',
5272
-					'options'         => sd_template_page_options(),
5273
-					'default'         => '',
5274
-					'value'           => '',
5275
-					'label_type'      => 'top',
5276
-					'select2'         => false,
5277
-					'element_require' => '[%bsvc_output%]=="page"'
5278
-				)
5279
-			);
5280
-
5281
-			$content .= aui()->select(
5282
-				array(
5283
-					'id'          => 'bsvc_tmpl_part',
5284
-					'name'        => 'bsvc_tmpl_part',
5285
-					'label'       => __( 'Template Part', 'ayecode-connect' ),
5286
-					'placeholder' => __( 'Select Template Part...', 'ayecode-connect' ),
5287
-					'class'       => 'bsvc_tmpl_part form-select-sm no-select2 mw-100',
5288
-					'options'     => sd_template_part_options(),
5289
-					'default'     => '',
5290
-					'value'       => '',
5291
-					'label_type'  => 'top',
5292
-					'select2'     => false,
5293
-					'element_require'  => '[%bsvc_output%]=="template_part"',
5294
-					'extra_attributes' => array(
5295
-						'data-minimum-results-for-search' => '-1'
5296
-					)
5297
-				)
5298
-			);
5299
-
5300
-			$content .= aui()->select(
5301
-				array(
5302
-					'id'               => 'bsvc_message_type',
5303
-					'name'             => 'bsvc_message_type',
5304
-					'label'            => __( 'Custom Message Type', 'ayecode-connect' ),
5305
-					'placeholder'      => __( 'Default (none)', 'ayecode-connect' ),
5306
-					'class'            => 'bsvc_message_type form-select-sm no-select2 mw-100',
5307
-					'options'          => sd_aui_colors(),
5308
-					'default'          => '',
5309
-					'value'            => '',
5310
-					'label_type'       => 'top',
5311
-					'select2'          => false,
5312
-					'element_require'  => '[%bsvc_output%]=="message"',
5313
-					'extra_attributes' => array(
5314
-						'data-minimum-results-for-search' => '-1'
5315
-					)
5316
-				)
5317
-			);
5318
-
5319
-			$content .= '</div><div class="col-sm-12">';
5320
-
5321
-			$content .= aui()->input(
5322
-				array(
5323
-					'type'            => 'text',
5324
-					'id'              => 'bsvc_message',
5325
-					'name'            => 'bsvc_message',
5326
-					'label'           => '',
5327
-					'class'           => 'bsvc_message form-control-sm mb-3',
5328
-					'placeholder'     => __( 'CUSTOM MESSAGE TO SHOW', 'ayecode-connect' ),
5329
-					'label_type'      => '',
5330
-					'value'           => '',
5331
-					'form_group_class' => ' ',
5332
-					'element_require' => '[%bsvc_output%]=="message"',
5333
-				)
5334
-			);
5335
-
5336
-			$content .= '</div></div><div class="row"><div class="col col-12"><div class="pt-3 mt-1 border-top"></div></div><div class="col-md-6 col-sm-12">';
5337
-			$content .= aui()->select(
5338
-				array(
5339
-					'id'          => 'bsvc_output_n',
5340
-					'name'        => 'bsvc_output_n',
5341
-					'label'       => __( 'What should happen if rules NOT met.', 'ayecode-connect' ),
5342
-					'placeholder' => __( 'Show Block', 'ayecode-connect' ),
5343
-					'class'       => 'bsvc_output_n form-select-sm no-select2 mw-100',
5344
-					'options'     => sd_visibility_output_options(),
5345
-					'default'     => '',
5346
-					'value'       => '',
5347
-					'label_type'  => 'top',
5348
-					'select2'     => false,
5349
-					'extra_attributes' => array(
5350
-						'data-minimum-results-for-search' => '-1'
5351
-					)
5352
-				)
5353
-			);
5354
-
5355
-			$content .= '</div><div class="col-md-6 col-sm-12">';
5356
-
5357
-			$content .= aui()->select(
5358
-				array(
5359
-					'id'              => 'bsvc_page_n',
5360
-					'name'            => 'bsvc_page_n',
5361
-					'label'           => __( 'Page Content', 'ayecode-connect' ),
5362
-					'placeholder'     => __( 'Select Page ID...', 'ayecode-connect' ),
5363
-					'class'           => 'bsvc_page_n form-select-sm no-select2 mw-100',
5364
-					'options'         => sd_template_page_options(),
5365
-					'default'         => '',
5366
-					'value'           => '',
5367
-					'label_type'      => 'top',
5368
-					'select2'         => false,
5369
-					'element_require' => '[%bsvc_output_n%]=="page"'
5370
-				)
5371
-			);
5372
-
5373
-			$content .= aui()->select(
5374
-				array(
5375
-					'id'          => 'bsvc_tmpl_part_n',
5376
-					'name'        => 'bsvc_tmpl_part_n',
5377
-					'label'       => __( 'Template Part', 'ayecode-connect' ),
5378
-					'placeholder' => __( 'Select Template Part...', 'ayecode-connect' ),
5379
-					'class'       => 'bsvc_tmpl_part_n form-select-sm no-select2 mw-100',
5380
-					'options'     => sd_template_part_options(),
5381
-					'default'     => '',
5382
-					'value'       => '',
5383
-					'label_type'  => 'top',
5384
-					'select2'     => false,
5385
-					'element_require'  => '[%bsvc_output_n%]=="template_part"',
5386
-					'extra_attributes' => array(
5387
-						'data-minimum-results-for-search' => '-1'
5388
-					)
5389
-				)
5390
-			);
5391
-
5392
-			$content .= aui()->select(
5393
-				array(
5394
-					'id'               => 'bsvc_message_type_n',
5395
-					'name'             => 'bsvc_message_type_n',
5396
-					'label'            => __( 'Custom Message Type', 'ayecode-connect' ),
5397
-					'placeholder'      => __( 'Default (none)', 'ayecode-connect' ),
5398
-					'class'            => 'bsvc_message_type_n form-select-sm no-select2 mw-100',
5399
-					'options'          => sd_aui_colors(),
5400
-					'default'          => '',
5401
-					'value'            => '',
5402
-					'label_type'       => 'top',
5403
-					'select2'          => false,
5404
-					'element_require'  => '[%bsvc_output_n%]=="message"',
5405
-					'extra_attributes' => array(
5406
-						'data-minimum-results-for-search' => '-1'
5407
-					)
5408
-				)
5409
-			);
5410
-
5411
-			$content .= '</div><div class="col-sm-12">';
5412
-
5413
-			$content .= aui()->input(
5414
-				array(
5415
-					'type'            => 'text',
5416
-					'id'              => 'bsvc_message_n',
5417
-					'name'            => 'bsvc_message_n',
5418
-					'label'           => '',
5419
-					'class'           => 'bsvc_message_n form-control-sm',
5420
-					'placeholder'     => __( 'CUSTOM MESSAGE TO SHOW', 'ayecode-connect' ),
5421
-					'label_type'      => '',
5422
-					'value'           => '',
5423
-					'form_group_class' => ' ',
5424
-					'element_require' => '[%bsvc_output_n%]=="message"',
5425
-				)
5426
-			);
5427
-
5428
-			$content .= '</div></div></form><input type="hidden" id="bsvc_raw_value" name="bsvc_raw_value" value="' . $value . '">';
5429
-
5430
-			return $content;
5431
-		}
5212
+                    $content .= '</div>';
5213
+
5214
+                    $content .= '<div class="row aui-conditional-field" data-element-require="jQuery(form).find(\'[name=bsvc_rule_BSVCINDEX]\').val()==\'user_roles\'" data-argument="bsvc_user_roles_BSVCINDEX_1"><label for="bsvc_user_roles_BSVCINDEX_1" class="form-label mb-3">' . __( 'Select User Roles:', 'ayecode-connect' ) . '</label>';
5215
+                        $role_options = sd_user_roles_options();
5216
+
5217
+                        $role_option_i = 0;
5218
+                        foreach ( $role_options as $role_option_key => $role_option_name ) {
5219
+                            $role_option_i++;
5220
+
5221
+                            $content .= '<div class="col-sm-6">';
5222
+                            $content .= aui()->input(
5223
+                                array(
5224
+                                    'id'               => 'bsvc_user_roles_BSVCINDEX_' . $role_option_i,
5225
+                                    'name'             => 'bsvc_user_roles_BSVCINDEX[]',
5226
+                                    'type'             => 'checkbox',
5227
+                                    'label'            => $role_option_name,
5228
+                                    'label_type'       => 'hidden',
5229
+                                    'class'            => 'bsvc_user_roles',
5230
+                                    'value'            => $role_option_key,
5231
+                                    'switch'           => 'md',
5232
+                                    'no_wrap'          => true
5233
+                                )
5234
+                            );
5235
+                            $content .= '</div>';
5236
+                        }
5237
+                    $content .= '</div>';
5238
+                    $content .= '<div class="bs-vc-sep-wrap text-center position-absolute top-0 mt-n3"><div class="bs-vc-sep-cond d-inline-block badge text-dark bg-gray mt-1">' . esc_html__( 'AND', 'ayecode-connect' ) . '</div></div>';
5239
+                $content .= '</div>';
5240
+            $content .= '</div>';
5241
+            $content .= '<form id="bs-vc-modal-form" class="bs-vc-modal-form">';
5242
+            $content .= '<div class="bs-vc-rule-sets"></div>';
5243
+            $content .= '<div class="row"><div class="col-sm-12 text-center pt-1 pb-4"><button type="button" class="btn btn-sm btn-primary d-block w-100 bs-vc-add-rule"><i class="fas fa-plus"></i> ' . __( 'Add Rule', 'ayecode-connect' ) . '</button></div></div>';
5244
+            $content .= '<div class="row"><div class="col-md-6 col-sm-12">';
5245
+            $content .= aui()->select(
5246
+                array(
5247
+                    'id'          => 'bsvc_output',
5248
+                    'name'        => 'bsvc_output',
5249
+                    'label'       => __( 'What should happen if rules met.', 'ayecode-connect' ),
5250
+                    'placeholder' => __( 'Show Block', 'ayecode-connect' ),
5251
+                    'class'       => 'bsvc_output form-select-sm no-select2 mw-100',
5252
+                    'options'     => sd_visibility_output_options(),
5253
+                    'default'     => '',
5254
+                    'value'       => '',
5255
+                    'label_type'  => 'top',
5256
+                    'select2'     => false,
5257
+                    'extra_attributes' => array(
5258
+                        'data-minimum-results-for-search' => '-1'
5259
+                    )
5260
+                )
5261
+            );
5262
+
5263
+            $content .= '</div><div class="col-md-6 col-sm-12">';
5264
+
5265
+            $content .= aui()->select(
5266
+                array(
5267
+                    'id'              => 'bsvc_page',
5268
+                    'name'            => 'bsvc_page',
5269
+                    'label'           => __( 'Page Content', 'ayecode-connect' ),
5270
+                    'placeholder'     => __( 'Select Page ID...', 'ayecode-connect' ),
5271
+                    'class'           => 'bsvc_page form-select-sm no-select2 mw-100',
5272
+                    'options'         => sd_template_page_options(),
5273
+                    'default'         => '',
5274
+                    'value'           => '',
5275
+                    'label_type'      => 'top',
5276
+                    'select2'         => false,
5277
+                    'element_require' => '[%bsvc_output%]=="page"'
5278
+                )
5279
+            );
5280
+
5281
+            $content .= aui()->select(
5282
+                array(
5283
+                    'id'          => 'bsvc_tmpl_part',
5284
+                    'name'        => 'bsvc_tmpl_part',
5285
+                    'label'       => __( 'Template Part', 'ayecode-connect' ),
5286
+                    'placeholder' => __( 'Select Template Part...', 'ayecode-connect' ),
5287
+                    'class'       => 'bsvc_tmpl_part form-select-sm no-select2 mw-100',
5288
+                    'options'     => sd_template_part_options(),
5289
+                    'default'     => '',
5290
+                    'value'       => '',
5291
+                    'label_type'  => 'top',
5292
+                    'select2'     => false,
5293
+                    'element_require'  => '[%bsvc_output%]=="template_part"',
5294
+                    'extra_attributes' => array(
5295
+                        'data-minimum-results-for-search' => '-1'
5296
+                    )
5297
+                )
5298
+            );
5299
+
5300
+            $content .= aui()->select(
5301
+                array(
5302
+                    'id'               => 'bsvc_message_type',
5303
+                    'name'             => 'bsvc_message_type',
5304
+                    'label'            => __( 'Custom Message Type', 'ayecode-connect' ),
5305
+                    'placeholder'      => __( 'Default (none)', 'ayecode-connect' ),
5306
+                    'class'            => 'bsvc_message_type form-select-sm no-select2 mw-100',
5307
+                    'options'          => sd_aui_colors(),
5308
+                    'default'          => '',
5309
+                    'value'            => '',
5310
+                    'label_type'       => 'top',
5311
+                    'select2'          => false,
5312
+                    'element_require'  => '[%bsvc_output%]=="message"',
5313
+                    'extra_attributes' => array(
5314
+                        'data-minimum-results-for-search' => '-1'
5315
+                    )
5316
+                )
5317
+            );
5318
+
5319
+            $content .= '</div><div class="col-sm-12">';
5320
+
5321
+            $content .= aui()->input(
5322
+                array(
5323
+                    'type'            => 'text',
5324
+                    'id'              => 'bsvc_message',
5325
+                    'name'            => 'bsvc_message',
5326
+                    'label'           => '',
5327
+                    'class'           => 'bsvc_message form-control-sm mb-3',
5328
+                    'placeholder'     => __( 'CUSTOM MESSAGE TO SHOW', 'ayecode-connect' ),
5329
+                    'label_type'      => '',
5330
+                    'value'           => '',
5331
+                    'form_group_class' => ' ',
5332
+                    'element_require' => '[%bsvc_output%]=="message"',
5333
+                )
5334
+            );
5335
+
5336
+            $content .= '</div></div><div class="row"><div class="col col-12"><div class="pt-3 mt-1 border-top"></div></div><div class="col-md-6 col-sm-12">';
5337
+            $content .= aui()->select(
5338
+                array(
5339
+                    'id'          => 'bsvc_output_n',
5340
+                    'name'        => 'bsvc_output_n',
5341
+                    'label'       => __( 'What should happen if rules NOT met.', 'ayecode-connect' ),
5342
+                    'placeholder' => __( 'Show Block', 'ayecode-connect' ),
5343
+                    'class'       => 'bsvc_output_n form-select-sm no-select2 mw-100',
5344
+                    'options'     => sd_visibility_output_options(),
5345
+                    'default'     => '',
5346
+                    'value'       => '',
5347
+                    'label_type'  => 'top',
5348
+                    'select2'     => false,
5349
+                    'extra_attributes' => array(
5350
+                        'data-minimum-results-for-search' => '-1'
5351
+                    )
5352
+                )
5353
+            );
5354
+
5355
+            $content .= '</div><div class="col-md-6 col-sm-12">';
5356
+
5357
+            $content .= aui()->select(
5358
+                array(
5359
+                    'id'              => 'bsvc_page_n',
5360
+                    'name'            => 'bsvc_page_n',
5361
+                    'label'           => __( 'Page Content', 'ayecode-connect' ),
5362
+                    'placeholder'     => __( 'Select Page ID...', 'ayecode-connect' ),
5363
+                    'class'           => 'bsvc_page_n form-select-sm no-select2 mw-100',
5364
+                    'options'         => sd_template_page_options(),
5365
+                    'default'         => '',
5366
+                    'value'           => '',
5367
+                    'label_type'      => 'top',
5368
+                    'select2'         => false,
5369
+                    'element_require' => '[%bsvc_output_n%]=="page"'
5370
+                )
5371
+            );
5372
+
5373
+            $content .= aui()->select(
5374
+                array(
5375
+                    'id'          => 'bsvc_tmpl_part_n',
5376
+                    'name'        => 'bsvc_tmpl_part_n',
5377
+                    'label'       => __( 'Template Part', 'ayecode-connect' ),
5378
+                    'placeholder' => __( 'Select Template Part...', 'ayecode-connect' ),
5379
+                    'class'       => 'bsvc_tmpl_part_n form-select-sm no-select2 mw-100',
5380
+                    'options'     => sd_template_part_options(),
5381
+                    'default'     => '',
5382
+                    'value'       => '',
5383
+                    'label_type'  => 'top',
5384
+                    'select2'     => false,
5385
+                    'element_require'  => '[%bsvc_output_n%]=="template_part"',
5386
+                    'extra_attributes' => array(
5387
+                        'data-minimum-results-for-search' => '-1'
5388
+                    )
5389
+                )
5390
+            );
5391
+
5392
+            $content .= aui()->select(
5393
+                array(
5394
+                    'id'               => 'bsvc_message_type_n',
5395
+                    'name'             => 'bsvc_message_type_n',
5396
+                    'label'            => __( 'Custom Message Type', 'ayecode-connect' ),
5397
+                    'placeholder'      => __( 'Default (none)', 'ayecode-connect' ),
5398
+                    'class'            => 'bsvc_message_type_n form-select-sm no-select2 mw-100',
5399
+                    'options'          => sd_aui_colors(),
5400
+                    'default'          => '',
5401
+                    'value'            => '',
5402
+                    'label_type'       => 'top',
5403
+                    'select2'          => false,
5404
+                    'element_require'  => '[%bsvc_output_n%]=="message"',
5405
+                    'extra_attributes' => array(
5406
+                        'data-minimum-results-for-search' => '-1'
5407
+                    )
5408
+                )
5409
+            );
5410
+
5411
+            $content .= '</div><div class="col-sm-12">';
5412
+
5413
+            $content .= aui()->input(
5414
+                array(
5415
+                    'type'            => 'text',
5416
+                    'id'              => 'bsvc_message_n',
5417
+                    'name'            => 'bsvc_message_n',
5418
+                    'label'           => '',
5419
+                    'class'           => 'bsvc_message_n form-control-sm',
5420
+                    'placeholder'     => __( 'CUSTOM MESSAGE TO SHOW', 'ayecode-connect' ),
5421
+                    'label_type'      => '',
5422
+                    'value'           => '',
5423
+                    'form_group_class' => ' ',
5424
+                    'element_require' => '[%bsvc_output_n%]=="message"',
5425
+                )
5426
+            );
5427
+
5428
+            $content .= '</div></div></form><input type="hidden" id="bsvc_raw_value" name="bsvc_raw_value" value="' . $value . '">';
5429
+
5430
+            return $content;
5431
+        }
5432 5432
 
5433
-		/**
5434
-		 * Handle media_buttons hook.
5435
-		 *
5436
-		 * @since 1.2.7
5437
-		 */
5438
-		public function wp_media_buttons() {
5439
-			global $shortcode_insert_button_once;
5440
-
5441
-			// Fix conflicts with UpSolution Core in header template edit element.
5442
-			if ( defined( 'US_CORE_DIR' ) && ! empty( $_REQUEST['action'] ) && $_REQUEST['action'] == 'us_ajax_hb_get_ebuilder_html' ) {
5443
-				$shortcode_insert_button_once = true;
5444
-			}
5445
-		}
5446
-	}
5433
+        /**
5434
+         * Handle media_buttons hook.
5435
+         *
5436
+         * @since 1.2.7
5437
+         */
5438
+        public function wp_media_buttons() {
5439
+            global $shortcode_insert_button_once;
5440
+
5441
+            // Fix conflicts with UpSolution Core in header template edit element.
5442
+            if ( defined( 'US_CORE_DIR' ) && ! empty( $_REQUEST['action'] ) && $_REQUEST['action'] == 'us_ajax_hb_get_ebuilder_html' ) {
5443
+                $shortcode_insert_button_once = true;
5444
+            }
5445
+        }
5446
+    }
5447 5447
 }
Please login to merge, or discard this patch.
Spacing   +831 added lines, -831 removed lines patch added patch discarded remove patch
@@ -1,11 +1,11 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if ( ! defined( 'ABSPATH' ) ) {
2
+if (!defined('ABSPATH')) {
3 3
 	exit;
4 4
 }
5 5
 
6
-if ( ! class_exists( 'WP_Super_Duper' ) ) {
6
+if (!class_exists('WP_Super_Duper')) {
7 7
 
8
-	define( 'SUPER_DUPER_VER', '1.2.17' );
8
+	define('SUPER_DUPER_VER', '1.2.17');
9 9
 
10 10
 	/**
11 11
 	 * A Class to be able to create a Widget, Shortcode or Block to be able to output content for WordPress.
@@ -38,40 +38,40 @@  discard block
 block discarded – undo
38 38
 		/**
39 39
 		 * Take the array options and use them to build.
40 40
 		 */
41
-		public function __construct( $options ) {
41
+		public function __construct($options) {
42 42
 			global $sd_widgets;
43 43
 
44
-			$sd_widgets[ $options['base_id'] ] = array(
44
+			$sd_widgets[$options['base_id']] = array(
45 45
 				'name'       => $options['name'],
46 46
 				'class_name' => $options['class_name'],
47 47
 				'output_types' => !empty($options['output_types']) ? $options['output_types'] : array()
48 48
 			);
49
-			$this->base_id                     = $options['base_id'];
49
+			$this->base_id = $options['base_id'];
50 50
 			// lets filter the options before we do anything
51
-			$options       = apply_filters( "wp_super_duper_options", $options );
52
-			$options       = apply_filters( "wp_super_duper_options_{$this->base_id}", $options );
53
-			$options       = $this->add_name_from_key( $options );
51
+			$options       = apply_filters("wp_super_duper_options", $options);
52
+			$options       = apply_filters("wp_super_duper_options_{$this->base_id}", $options);
53
+			$options       = $this->add_name_from_key($options);
54 54
 			$this->options = $options;
55 55
 
56 56
 			$this->base_id   = $options['base_id'];
57
-			$this->arguments = isset( $options['arguments'] ) ? $options['arguments'] : array();
57
+			$this->arguments = isset($options['arguments']) ? $options['arguments'] : array();
58 58
 
59 59
 			// nested blocks can't work as a widget
60
-			if(!empty($this->options['nested-block'])){
61
-				if(empty($this->options['output_types'])){
62
-					$this->options['output_types'] = array('shortcode','block');
60
+			if (!empty($this->options['nested-block'])) {
61
+				if (empty($this->options['output_types'])) {
62
+					$this->options['output_types'] = array('shortcode', 'block');
63 63
 				}elseif (($key = array_search('widget', $this->options['output_types'])) !== false) {
64 64
 					unset($this->options['output_types'][$key]);
65 65
 				}
66 66
 			}
67 67
 
68 68
 			// init parent
69
-			if(empty($this->options['output_types']) || in_array('widget',$this->options['output_types'])){
70
-				parent::__construct( $options['base_id'], $options['name'], $options['widget_ops'] );
69
+			if (empty($this->options['output_types']) || in_array('widget', $this->options['output_types'])) {
70
+				parent::__construct($options['base_id'], $options['name'], $options['widget_ops']);
71 71
 			}
72 72
 
73 73
 
74
-			if ( isset( $options['class_name'] ) ) {
74
+			if (isset($options['class_name'])) {
75 75
 				// register widget
76 76
 				$this->class_name = $options['class_name'];
77 77
 
@@ -80,67 +80,67 @@  discard block
 block discarded – undo
80 80
 
81 81
 
82 82
 				// Fusion Builder (avada) support
83
-				if ( function_exists( 'fusion_builder_map' ) ) {
84
-					add_action( 'init', array( $this, 'register_fusion_element' ) );
83
+				if (function_exists('fusion_builder_map')) {
84
+					add_action('init', array($this, 'register_fusion_element'));
85 85
 				}
86 86
 
87 87
                 // maybe load the Bricks transformer class
88
-                if( class_exists('\Bricks\Elements', false) ){
89
-					add_action( 'init', array( $this, 'load_bricks_element_class' ) );
88
+                if (class_exists('\Bricks\Elements', false)) {
89
+					add_action('init', array($this, 'load_bricks_element_class'));
90 90
                 }
91 91
 
92 92
 				// register block
93
-				if(empty($this->options['output_types']) || in_array('block',$this->options['output_types'])){
94
-					add_action( 'admin_enqueue_scripts', array( $this, 'register_block' ) );
93
+				if (empty($this->options['output_types']) || in_array('block', $this->options['output_types'])) {
94
+					add_action('admin_enqueue_scripts', array($this, 'register_block'));
95 95
 				}
96 96
 			}
97 97
 
98 98
 			// add the CSS and JS we need ONCE
99 99
 			global $sd_widget_scripts;
100 100
 
101
-			if ( ! $sd_widget_scripts ) {
102
-				wp_add_inline_script( 'admin-widgets', $this->widget_js() );
103
-				wp_add_inline_script( 'customize-controls', $this->widget_js() );
104
-				wp_add_inline_style( 'widgets', $this->widget_css() );
101
+			if (!$sd_widget_scripts) {
102
+				wp_add_inline_script('admin-widgets', $this->widget_js());
103
+				wp_add_inline_script('customize-controls', $this->widget_js());
104
+				wp_add_inline_style('widgets', $this->widget_css());
105 105
 
106 106
 				// maybe add elementor editor styles
107
-				add_action( 'elementor/editor/after_enqueue_styles', array( $this, 'elementor_editor_styles' ) );
107
+				add_action('elementor/editor/after_enqueue_styles', array($this, 'elementor_editor_styles'));
108 108
 
109 109
 				$sd_widget_scripts = true;
110 110
 
111 111
 				// add shortcode insert button once
112
-				add_action( 'media_buttons', array( $this, 'wp_media_buttons' ), 1 );
113
-				add_action( 'media_buttons', array( $this, 'shortcode_insert_button' ) );
112
+				add_action('media_buttons', array($this, 'wp_media_buttons'), 1);
113
+				add_action('media_buttons', array($this, 'shortcode_insert_button'));
114 114
 				// generatepress theme sections compatibility
115
-				if ( function_exists( 'generate_sections_sections_metabox' ) ) {
116
-					add_action( 'generate_sections_metabox', array( $this, 'shortcode_insert_button_script' ) );
115
+				if (function_exists('generate_sections_sections_metabox')) {
116
+					add_action('generate_sections_metabox', array($this, 'shortcode_insert_button_script'));
117 117
 				}
118 118
 				/* Load script on Divi theme builder page */
119
-				if ( function_exists( 'et_builder_is_tb_admin_screen' ) && et_builder_is_tb_admin_screen() ) {
119
+				if (function_exists('et_builder_is_tb_admin_screen') && et_builder_is_tb_admin_screen()) {
120 120
 					add_thickbox();
121
-					add_action( 'admin_footer', array( $this, 'shortcode_insert_button_script' ) );
121
+					add_action('admin_footer', array($this, 'shortcode_insert_button_script'));
122 122
 				}
123 123
 
124
-				if ( $this->is_preview() ) {
125
-					add_action( 'wp_footer', array( $this, 'shortcode_insert_button_script' ) );
124
+				if ($this->is_preview()) {
125
+					add_action('wp_footer', array($this, 'shortcode_insert_button_script'));
126 126
 					// this makes the insert button work for elementor
127
-					add_action( 'elementor/editor/after_enqueue_scripts', array(
127
+					add_action('elementor/editor/after_enqueue_scripts', array(
128 128
 						$this,
129 129
 						'shortcode_insert_button_script'
130
-					) ); // for elementor
130
+					)); // for elementor
131 131
 				}
132 132
 				// this makes the insert button work for cornerstone
133
-				add_action( 'wp_print_footer_scripts', array( __CLASS__, 'maybe_cornerstone_builder' ) );
133
+				add_action('wp_print_footer_scripts', array(__CLASS__, 'maybe_cornerstone_builder'));
134 134
 
135
-				add_action( 'wp_ajax_super_duper_get_widget_settings', array( __CLASS__, 'get_widget_settings' ) );
136
-				add_action( 'wp_ajax_super_duper_get_picker', array( __CLASS__, 'get_picker' ) );
135
+				add_action('wp_ajax_super_duper_get_widget_settings', array(__CLASS__, 'get_widget_settings'));
136
+				add_action('wp_ajax_super_duper_get_picker', array(__CLASS__, 'get_picker'));
137 137
 
138 138
 				// add generator text to head
139
-				add_action( 'admin_head', array( $this, 'generator' ), 99 );
140
-				add_action( 'wp_head', array( $this, 'generator' ), 99 );
139
+				add_action('admin_head', array($this, 'generator'), 99);
140
+				add_action('wp_head', array($this, 'generator'), 99);
141 141
 			}
142 142
 
143
-			do_action( 'wp_super_duper_widget_init', $options, $this );
143
+			do_action('wp_super_duper_widget_init', $options, $this);
144 144
 		}
145 145
 
146 146
         /**
@@ -156,7 +156,7 @@  discard block
 block discarded – undo
156 156
 		 * @return void
157 157
 		 */
158 158
 		public function _register() {
159
-			if(empty($this->options['output_types']) || in_array('widget',$this->options['output_types'])){
159
+			if (empty($this->options['output_types']) || in_array('widget', $this->options['output_types'])) {
160 160
 				parent::_register();
161 161
 			}
162 162
 		}
@@ -165,14 +165,14 @@  discard block
 block discarded – undo
165 165
 		 * Add our widget CSS to elementor editor.
166 166
 		 */
167 167
 		public function elementor_editor_styles() {
168
-			wp_add_inline_style( 'elementor-editor', $this->widget_css( false ) );
168
+			wp_add_inline_style('elementor-editor', $this->widget_css(false));
169 169
 		}
170 170
 
171 171
 		public function register_fusion_element() {
172 172
 
173 173
 			$options = $this->options;
174 174
 
175
-			if ( $this->base_id ) {
175
+			if ($this->base_id) {
176 176
 
177 177
 				$params = $this->get_fusion_params();
178 178
 
@@ -183,11 +183,11 @@  discard block
 block discarded – undo
183 183
 					'allow_generator' => true,
184 184
 				);
185 185
 
186
-				if ( ! empty( $params ) ) {
186
+				if (!empty($params)) {
187 187
 					$args['params'] = $params;
188 188
 				}
189 189
 
190
-				fusion_builder_map( $args );
190
+				fusion_builder_map($args);
191 191
 			}
192 192
 
193 193
 		}
@@ -196,8 +196,8 @@  discard block
 block discarded – undo
196 196
 			$params    = array();
197 197
 			$arguments = $this->get_arguments();
198 198
 
199
-			if ( ! empty( $arguments ) ) {
200
-				foreach ( $arguments as $key => $val ) {
199
+			if (!empty($arguments)) {
200
+				foreach ($arguments as $key => $val) {
201 201
 					$param = array();
202 202
 					// type
203 203
 					$param['type'] = str_replace(
@@ -219,38 +219,38 @@  discard block
 block discarded – undo
219 219
 						$val['type'] );
220 220
 
221 221
 					// multiselect
222
-					if ( $val['type'] == 'multiselect' || ( ( $param['type'] == 'select' || $val['type'] == 'select' ) && ! empty( $val['multiple'] ) ) ) {
222
+					if ($val['type'] == 'multiselect' || (($param['type'] == 'select' || $val['type'] == 'select') && !empty($val['multiple']))) {
223 223
 						$param['type']     = 'multiple_select';
224 224
 						$param['multiple'] = true;
225 225
 					}
226 226
 
227 227
 					// heading
228
-					$param['heading'] = isset( $val['title'] ) ? $val['title'] : '';
228
+					$param['heading'] = isset($val['title']) ? $val['title'] : '';
229 229
 
230 230
 					// description
231
-					$param['description'] = isset( $val['desc'] ) ? $val['desc'] : '';
231
+					$param['description'] = isset($val['desc']) ? $val['desc'] : '';
232 232
 
233 233
 					// param_name
234 234
 					$param['param_name'] = $key;
235 235
 
236 236
 					// Default
237
-					$param['default'] = isset( $val['default'] ) ? $val['default'] : '';
237
+					$param['default'] = isset($val['default']) ? $val['default'] : '';
238 238
 
239 239
 					// Group
240
-					if ( isset( $val['group'] ) ) {
240
+					if (isset($val['group'])) {
241 241
 						$param['group'] = $val['group'];
242 242
 					}
243 243
 
244 244
 					// value
245
-					if ( $val['type'] == 'checkbox' ) {
246
-						if ( isset( $val['default'] ) && $val['default'] == '0' ) {
247
-							unset( $param['default'] );
245
+					if ($val['type'] == 'checkbox') {
246
+						if (isset($val['default']) && $val['default'] == '0') {
247
+							unset($param['default']);
248 248
 						}
249
-						$param['value'] = array( '0' => __( "No", 'ayecode-connect' ), '1' => __( "Yes", 'ayecode-connect' ) );
250
-					} elseif ( $param['type'] == 'select' || $param['type'] == 'multiple_select' ) {
251
-						$param['value'] = isset( $val['options'] ) ? $val['options'] : array();
249
+						$param['value'] = array('0' => __("No", 'ayecode-connect'), '1' => __("Yes", 'ayecode-connect'));
250
+					} elseif ($param['type'] == 'select' || $param['type'] == 'multiple_select') {
251
+						$param['value'] = isset($val['options']) ? $val['options'] : array();
252 252
 					} else {
253
-						$param['value'] = isset( $val['default'] ) ? $val['default'] : '';
253
+						$param['value'] = isset($val['default']) ? $val['default'] : '';
254 254
 					}
255 255
 
256 256
 					// setup the param
@@ -267,7 +267,7 @@  discard block
 block discarded – undo
267 267
 		 * Maybe insert the shortcode inserter button in the footer if we are in the cornerstone builder
268 268
 		 */
269 269
 		public static function maybe_cornerstone_builder() {
270
-			if ( did_action( 'cornerstone_before_boot_app' ) ) {
270
+			if (did_action('cornerstone_before_boot_app')) {
271 271
 				self::shortcode_insert_button_script();
272 272
 			}
273 273
 		}
@@ -279,12 +279,12 @@  discard block
 block discarded – undo
279 279
 		 *
280 280
 		 * @return string
281 281
 		 */
282
-		public static function get_picker( $editor_id = '' ) {
282
+		public static function get_picker($editor_id = '') {
283 283
 
284 284
 			ob_start();
285
-			if ( isset( $_POST['editor_id'] ) ) {
286
-				$editor_id = esc_attr( $_POST['editor_id'] );
287
-			} elseif ( isset( $_REQUEST['et_fb'] ) ) {
285
+			if (isset($_POST['editor_id'])) {
286
+				$editor_id = esc_attr($_POST['editor_id']);
287
+			} elseif (isset($_REQUEST['et_fb'])) {
288 288
 				$editor_id = 'main_content_content_vb_tiny_mce';
289 289
 			}
290 290
 
@@ -295,14 +295,14 @@  discard block
 block discarded – undo
295 295
 
296 296
 			<div class="sd-shortcode-left-wrap">
297 297
 				<?php
298
-				ksort( $sd_widgets );
298
+				ksort($sd_widgets);
299 299
 				//				print_r($sd_widgets);exit;
300
-				if ( ! empty( $sd_widgets ) ) {
300
+				if (!empty($sd_widgets)) {
301 301
 					echo '<select class="widefat" onchange="sd_get_shortcode_options(this);">';
302
-					echo "<option>" . __( 'Select shortcode', 'ayecode-connect' ) . "</option>";
303
-					foreach ( $sd_widgets as $shortcode => $class ) {
304
-						if(!empty($class['output_types']) && !in_array('shortcode', $class['output_types'])){ continue; }
305
-						echo "<option value='" . esc_attr( $shortcode ) . "'>" . esc_attr( $shortcode ) . " (" . esc_attr( $class['name'] ) . ")</option>";
302
+					echo "<option>" . __('Select shortcode', 'ayecode-connect') . "</option>";
303
+					foreach ($sd_widgets as $shortcode => $class) {
304
+						if (!empty($class['output_types']) && !in_array('shortcode', $class['output_types'])) { continue; }
305
+						echo "<option value='" . esc_attr($shortcode) . "'>" . esc_attr($shortcode) . " (" . esc_attr($class['name']) . ")</option>";
306 306
 					}
307 307
 					echo "</select>";
308 308
 
@@ -315,37 +315,37 @@  discard block
 block discarded – undo
315 315
 			<div class="sd-shortcode-right-wrap">
316 316
 				<textarea id='sd-shortcode-output' disabled></textarea>
317 317
 				<div id='sd-shortcode-output-actions'>
318
-					<?php if ( $editor_id != '' ) { ?>
318
+					<?php if ($editor_id != '') { ?>
319 319
 						<button class="button sd-insert-shortcode-button"
320
-								onclick="sd_insert_shortcode(<?php if ( ! empty( $editor_id ) ) {
320
+								onclick="sd_insert_shortcode(<?php if (!empty($editor_id)) {
321 321
 									echo "'" . $editor_id . "'";
322
-								} ?>)"><?php _e( 'Insert shortcode', 'ayecode-connect' ); ?></button>
322
+								} ?>)"><?php _e('Insert shortcode', 'ayecode-connect'); ?></button>
323 323
 					<?php } ?>
324 324
 					<button class="button"
325
-							onclick="sd_copy_to_clipboard()"><?php _e( 'Copy shortcode' ); ?></button>
325
+							onclick="sd_copy_to_clipboard()"><?php _e('Copy shortcode'); ?></button>
326 326
 				</div>
327 327
 			</div>
328 328
 			<?php
329 329
 
330 330
 			$html = ob_get_clean();
331 331
 
332
-			if ( wp_doing_ajax() ) {
332
+			if (wp_doing_ajax()) {
333 333
 				echo $html;
334 334
 				$should_die = true;
335 335
 
336 336
 				// some builder get the editor via ajax so we should not die on those occasions
337 337
 				$dont_die = array(
338
-					'parent_tag',// WP Bakery
338
+					'parent_tag', // WP Bakery
339 339
 					'avia_request' // enfold
340 340
 				);
341 341
 
342
-				foreach ( $dont_die as $request ) {
343
-					if ( isset( $_REQUEST[ $request ] ) ) {
342
+				foreach ($dont_die as $request) {
343
+					if (isset($_REQUEST[$request])) {
344 344
 						$should_die = false;
345 345
 					}
346 346
 				}
347 347
 
348
-				if ( $should_die ) {
348
+				if ($should_die) {
349 349
 					wp_die();
350 350
 				}
351 351
 
@@ -361,22 +361,22 @@  discard block
 block discarded – undo
361 361
 		 * Output the version in the header.
362 362
 		 */
363 363
 		public function generator() {
364
-			$file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
365
-			$plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
364
+			$file = str_replace(array("/", "\\"), "/", realpath(__FILE__));
365
+			$plugins_dir = str_replace(array("/", "\\"), "/", realpath(WP_PLUGIN_DIR));
366 366
 
367 367
 			// Find source plugin/theme of SD
368 368
 			$source = array();
369
-			if ( strpos( $file, $plugins_dir ) !== false ) {
370
-				$source = explode( "/", plugin_basename( $file ) );
371
-			} else if ( function_exists( 'get_theme_root' ) ) {
372
-				$themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
369
+			if (strpos($file, $plugins_dir) !== false) {
370
+				$source = explode("/", plugin_basename($file));
371
+			} else if (function_exists('get_theme_root')) {
372
+				$themes_dir = str_replace(array("/", "\\"), "/", realpath(get_theme_root()));
373 373
 
374
-				if ( strpos( $file, $themes_dir ) !== false ) {
375
-					$source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
374
+				if (strpos($file, $themes_dir) !== false) {
375
+					$source = explode("/", ltrim(str_replace($themes_dir, "", $file), "/"));
376 376
 				}
377 377
 			}
378 378
 
379
-			echo '<meta name="generator" content="WP Super Duper v' . esc_attr( $this->version ) . '"' . ( ! empty( $source[0] ) ? ' data-sd-source="' . esc_attr( $source[0] ) . '"' : '' ) . ' />';
379
+			echo '<meta name="generator" content="WP Super Duper v' . esc_attr($this->version) . '"' . (!empty($source[0]) ? ' data-sd-source="' . esc_attr($source[0]) . '"' : '') . ' />';
380 380
 		}
381 381
 
382 382
 		/**
@@ -387,16 +387,16 @@  discard block
 block discarded – undo
387 387
 		public static function get_widget_settings() {
388 388
 			global $sd_widgets;
389 389
 
390
-			$shortcode = isset( $_REQUEST['shortcode'] ) && $_REQUEST['shortcode'] ? sanitize_title_with_dashes( $_REQUEST['shortcode'] ) : '';
391
-			if ( ! $shortcode ) {
390
+			$shortcode = isset($_REQUEST['shortcode']) && $_REQUEST['shortcode'] ? sanitize_title_with_dashes($_REQUEST['shortcode']) : '';
391
+			if (!$shortcode) {
392 392
 				wp_die();
393 393
 			}
394
-			$widget_args = isset( $sd_widgets[ $shortcode ] ) ? $sd_widgets[ $shortcode ] : '';
395
-			if ( ! $widget_args ) {
394
+			$widget_args = isset($sd_widgets[$shortcode]) ? $sd_widgets[$shortcode] : '';
395
+			if (!$widget_args) {
396 396
 				wp_die();
397 397
 			}
398
-			$class_name = isset( $widget_args['class_name'] ) && $widget_args['class_name'] ? $widget_args['class_name'] : '';
399
-			if ( ! $class_name ) {
398
+			$class_name = isset($widget_args['class_name']) && $widget_args['class_name'] ? $widget_args['class_name'] : '';
399
+			if (!$class_name) {
400 400
 				wp_die();
401 401
 			}
402 402
 
@@ -404,7 +404,7 @@  discard block
 block discarded – undo
404 404
 			$widget = new $class_name;
405 405
 
406 406
 			ob_start();
407
-			$widget->form( array() );
407
+			$widget->form(array());
408 408
 			$form = ob_get_clean();
409 409
 			echo "<form id='$shortcode'>" . $form . "<div class=\"widget-control-save\"></div></form>";
410 410
 			echo "<style>" . $widget->widget_css() . "</style>";
@@ -423,9 +423,9 @@  discard block
 block discarded – undo
423 423
 		 *@since 1.0.0
424 424
 		 *
425 425
 		 */
426
-		public static function shortcode_insert_button( $editor_id = '', $insert_shortcode_function = '' ) {
426
+		public static function shortcode_insert_button($editor_id = '', $insert_shortcode_function = '') {
427 427
 			global $sd_widgets, $shortcode_insert_button_once;
428
-			if ( $shortcode_insert_button_once ) {
428
+			if ($shortcode_insert_button_once) {
429 429
 				return;
430 430
 			}
431 431
 			add_thickbox();
@@ -435,21 +435,21 @@  discard block
 block discarded – undo
435 435
 			 * Cornerstone makes us play dirty tricks :/
436 436
 			 * All media_buttons are removed via JS unless they are two specific id's so we wrap our content in this ID so it is not removed.
437 437
 			 */
438
-			if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
438
+			if (function_exists('cornerstone_plugin_init') && !is_admin()) {
439 439
 				echo '<span id="insert-media-button">';
440 440
 			}
441 441
 
442
-			echo self::shortcode_button( 'this', 'true' );
442
+			echo self::shortcode_button('this', 'true');
443 443
 
444 444
 			// see opening note
445
-			if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
445
+			if (function_exists('cornerstone_plugin_init') && !is_admin()) {
446 446
 				echo '</span>'; // end #insert-media-button
447 447
 			}
448 448
 
449 449
 			// Add separate script for generatepress theme sections
450
-			if ( function_exists( 'generate_sections_sections_metabox' ) && did_action( 'generate_sections_metabox' ) ) {
450
+			if (function_exists('generate_sections_sections_metabox') && did_action('generate_sections_metabox')) {
451 451
 			} else {
452
-				self::shortcode_insert_button_script( $editor_id, $insert_shortcode_function );
452
+				self::shortcode_insert_button_script($editor_id, $insert_shortcode_function);
453 453
 			}
454 454
 
455 455
 			$shortcode_insert_button_once = true;
@@ -463,12 +463,12 @@  discard block
 block discarded – undo
463 463
 		 *
464 464
 		 * @return mixed
465 465
 		 */
466
-		public static function shortcode_button( $id = '', $search_for_id = '' ) {
466
+		public static function shortcode_button($id = '', $search_for_id = '') {
467 467
 			ob_start();
468 468
 			?>
469 469
 			<span class="sd-lable-shortcode-inserter">
470 470
 				<a onclick="sd_ajax_get_picker(<?php echo $id;
471
-				if ( $search_for_id ) {
471
+				if ($search_for_id) {
472 472
 					echo "," . $search_for_id;
473 473
 				} ?>);" href="#TB_inline?width=100%&height=550&inlineId=super-duper-content-ajaxed"
474 474
 				   class="thickbox button super-duper-content-open" title="Add Shortcode">
@@ -484,7 +484,7 @@  discard block
 block discarded – undo
484 484
 			$html = ob_get_clean();
485 485
 
486 486
 			// remove line breaks so we can use it in js
487
-			return preg_replace( "/\r|\n/", "", trim( $html ) );
487
+			return preg_replace("/\r|\n/", "", trim($html));
488 488
 		}
489 489
 
490 490
 		/**
@@ -542,7 +542,7 @@  discard block
 block discarded – undo
542 542
 						jQuery($this).data('sd-widget-enabled', true);
543 543
 					}
544 544
 
545
-					var $button = '<button title="<?php _e( 'Advanced Settings', 'ayecode-connect' );?>" class="button button-primary right sd-advanced-button" onclick="sd_so_toggle_advanced(this);return false;"><i class="fas fa-sliders-h" aria-hidden="true"></i></button>';
545
+					var $button = '<button title="<?php _e('Advanced Settings', 'ayecode-connect'); ?>" class="button button-primary right sd-advanced-button" onclick="sd_so_toggle_advanced(this);return false;"><i class="fas fa-sliders-h" aria-hidden="true"></i></button>';
546 546
 					var form = jQuery($this).parents('' + $selector + '');
547 547
 
548 548
 					if (jQuery($this).val() == '1' && jQuery(form).find('.sd-advanced-button').length == 0) {
@@ -577,10 +577,10 @@  discard block
 block discarded – undo
577 577
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
578 578
 			 */
579 579
 
580
-			return str_replace( array(
580
+			return str_replace(array(
581 581
 				'<script>',
582 582
 				'</script>'
583
-			), '', $output );
583
+			), '', $output);
584 584
 		}
585 585
 
586 586
 		/**
@@ -592,7 +592,7 @@  discard block
 block discarded – undo
592 592
 		 *@since 1.0.6
593 593
 		 *
594 594
 		 */
595
-		public static function shortcode_insert_button_script( $editor_id = '', $insert_shortcode_function = '' ) {
595
+		public static function shortcode_insert_button_script($editor_id = '', $insert_shortcode_function = '') {
596 596
 			?>
597 597
 			<style>
598 598
 				.sd-shortcode-left-wrap {
@@ -711,25 +711,25 @@  discard block
 block discarded – undo
711 711
 					width: 100%;
712 712
 				}
713 713
 
714
-				<?php if ( function_exists( 'generate_sections_sections_metabox' ) ) { ?>
714
+				<?php if (function_exists('generate_sections_sections_metabox')) { ?>
715 715
 				.generate-sections-modal #custom-media-buttons > .sd-lable-shortcode-inserter {
716 716
 					display: inline;
717 717
 				}
718 718
 				<?php } ?>
719
-				<?php if ( function_exists( 'et_builder_is_tb_admin_screen' ) && et_builder_is_tb_admin_screen() ) { ?>
719
+				<?php if (function_exists('et_builder_is_tb_admin_screen') && et_builder_is_tb_admin_screen()) { ?>
720 720
 				body.divi_page_et_theme_builder div#TB_window.gd-tb-window{z-index:9999999}
721 721
 				<?php } ?>
722 722
 			</style>
723 723
 			<?php
724
-			if ( class_exists( 'SiteOrigin_Panels' ) ) {
724
+			if (class_exists('SiteOrigin_Panels')) {
725 725
 				echo "<script>" . self::siteorigin_js() . "</script>";
726 726
 			}
727 727
 			?>
728 728
 			<script>
729 729
 				<?php
730
-				if(! empty( $insert_shortcode_function )){
730
+				if (!empty($insert_shortcode_function)) {
731 731
 					echo $insert_shortcode_function;
732
-				}else{
732
+				} else {
733 733
 
734 734
 				/**
735 735
 				 * Function for super duper insert shortcode.
@@ -742,9 +742,9 @@  discard block
 block discarded – undo
742 742
 					if ($shortcode) {
743 743
 						if (!$editor_id) {
744 744
 							<?php
745
-							if ( isset( $_REQUEST['et_fb'] ) ) {
745
+							if (isset($_REQUEST['et_fb'])) {
746 746
 								echo '$editor_id = "#main_content_content_vb_tiny_mce";';
747
-							} elseif ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) {
747
+							} elseif (isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor') {
748 748
 								echo '$editor_id = "#elementor-controls .wp-editor-container textarea";';
749 749
 							} else {
750 750
 								echo '$editor_id = "#wp-content-editor-container textarea";';
@@ -827,11 +827,11 @@  discard block
 block discarded – undo
827 827
 							'shortcode': $short_code,
828 828
 							'attributes': 123,
829 829
 							'post_id': 321,
830
-							'_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_output_shortcode' );?>'
830
+							'_ajax_nonce': '<?php echo wp_create_nonce('super_duper_output_shortcode'); ?>'
831 831
 						};
832 832
 
833 833
 						if (typeof ajaxurl === 'undefined') {
834
-							var ajaxurl = "<?php echo admin_url( 'admin-ajax.php' );?>";
834
+							var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";
835 835
 						}
836 836
 
837 837
 						jQuery.post(ajaxurl, data, function (response) {
@@ -1030,11 +1030,11 @@  discard block
 block discarded – undo
1030 1030
 					var data = {
1031 1031
 						'action': 'super_duper_get_picker',
1032 1032
 						'editor_id': $id,
1033
-						'_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_picker' );?>'
1033
+						'_ajax_nonce': '<?php echo wp_create_nonce('super_duper_picker'); ?>'
1034 1034
 					};
1035 1035
 
1036 1036
 					if (!ajaxurl) {
1037
-						var ajaxurl = "<?php echo admin_url( 'admin-ajax.php' ); ?>";
1037
+						var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";
1038 1038
 					}
1039 1039
 
1040 1040
 					jQuery.post(ajaxurl, data, function (response) {
@@ -1056,9 +1056,9 @@  discard block
 block discarded – undo
1056 1056
 				 */
1057 1057
 				function sd_shortcode_button($id) {
1058 1058
 					if ($id) {
1059
-						return '<?php echo self::shortcode_button( "\\''+\$id+'\\'" );?>';
1059
+						return '<?php echo self::shortcode_button("\\''+\$id+'\\'"); ?>';
1060 1060
 					} else {
1061
-						return '<?php echo self::shortcode_button();?>';
1061
+						return '<?php echo self::shortcode_button(); ?>';
1062 1062
 					}
1063 1063
 				}
1064 1064
 			</script>
@@ -1072,11 +1072,11 @@  discard block
 block discarded – undo
1072 1072
 		 *
1073 1073
 		 * @return mixed
1074 1074
 		 */
1075
-		public function widget_css( $advanced = true ) {
1075
+		public function widget_css($advanced = true) {
1076 1076
 			ob_start();
1077 1077
 			?>
1078 1078
 			<style>
1079
-				<?php if( $advanced ){ ?>
1079
+				<?php if ($advanced) { ?>
1080 1080
 				.sd-advanced-setting {
1081 1081
 					display: none;
1082 1082
 				}
@@ -1120,10 +1120,10 @@  discard block
 block discarded – undo
1120 1120
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1121 1121
 			 */
1122 1122
 
1123
-			return str_replace( array(
1123
+			return str_replace(array(
1124 1124
 				'<style>',
1125 1125
 				'</style>'
1126
-			), '', $output );
1126
+			), '', $output);
1127 1127
 		}
1128 1128
 
1129 1129
 		/**
@@ -1190,7 +1190,7 @@  discard block
 block discarded – undo
1190 1190
 						jQuery($this).data('sd-widget-enabled', true);
1191 1191
 					}
1192 1192
 
1193
-					var $button = '<button title="<?php _e( 'Advanced Settings', 'ayecode-connect' );?>" style="line-height: 28px;" class="button button-primary right sd-advanced-button" onclick="sd_toggle_advanced(this);return false;"><span class="dashicons dashicons-admin-settings" style="width: 28px;font-size: 28px;"></span></button>';
1193
+					var $button = '<button title="<?php _e('Advanced Settings', 'ayecode-connect'); ?>" style="line-height: 28px;" class="button button-primary right sd-advanced-button" onclick="sd_toggle_advanced(this);return false;"><span class="dashicons dashicons-admin-settings" style="width: 28px;font-size: 28px;"></span></button>';
1194 1194
 					var form = $form ? $form : jQuery($this).parents('' + $selector + '');
1195 1195
 
1196 1196
 					if (jQuery($this).val() == '1' && jQuery(form).find('.sd-advanced-button').length == 0) {
@@ -1281,7 +1281,7 @@  discard block
 block discarded – undo
1281 1281
 					});
1282 1282
 
1283 1283
 				}
1284
-				<?php do_action( 'wp_super_duper_widget_js', $this ); ?>
1284
+				<?php do_action('wp_super_duper_widget_js', $this); ?>
1285 1285
 			</script>
1286 1286
 			<?php
1287 1287
 			$output = ob_get_clean();
@@ -1290,10 +1290,10 @@  discard block
 block discarded – undo
1290 1290
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1291 1291
 			 */
1292 1292
 
1293
-			return str_replace( array(
1293
+			return str_replace(array(
1294 1294
 				'<script>',
1295 1295
 				'</script>'
1296
-			), '', $output );
1296
+			), '', $output);
1297 1297
 		}
1298 1298
 
1299 1299
 
@@ -1304,14 +1304,14 @@  discard block
 block discarded – undo
1304 1304
 		 *
1305 1305
 		 * @return mixed
1306 1306
 		 */
1307
-		private function add_name_from_key( $options, $arguments = false ) {
1308
-			if ( ! empty( $options['arguments'] ) ) {
1309
-				foreach ( $options['arguments'] as $key => $val ) {
1310
-					$options['arguments'][ $key ]['name'] = $key;
1307
+		private function add_name_from_key($options, $arguments = false) {
1308
+			if (!empty($options['arguments'])) {
1309
+				foreach ($options['arguments'] as $key => $val) {
1310
+					$options['arguments'][$key]['name'] = $key;
1311 1311
 				}
1312
-			} elseif ( $arguments && is_array( $options ) && ! empty( $options ) ) {
1313
-				foreach ( $options as $key => $val ) {
1314
-					$options[ $key ]['name'] = $key;
1312
+			} elseif ($arguments && is_array($options) && !empty($options)) {
1313
+				foreach ($options as $key => $val) {
1314
+					$options[$key]['name'] = $key;
1315 1315
 				}
1316 1316
 			}
1317 1317
 
@@ -1324,8 +1324,8 @@  discard block
 block discarded – undo
1324 1324
 		 * @since 1.0.0
1325 1325
 		 */
1326 1326
 		public function register_shortcode() {
1327
-			add_shortcode( $this->base_id, array( $this, 'shortcode_output' ) );
1328
-			add_action( 'wp_ajax_super_duper_output_shortcode', array( $this, 'render_shortcode' ) );
1327
+			add_shortcode($this->base_id, array($this, 'shortcode_output'));
1328
+			add_action('wp_ajax_super_duper_output_shortcode', array($this, 'render_shortcode'));
1329 1329
 		}
1330 1330
 
1331 1331
 		/**
@@ -1334,50 +1334,50 @@  discard block
 block discarded – undo
1334 1334
 		 * @since 1.0.0
1335 1335
 		 */
1336 1336
 		public function render_shortcode() {
1337
-			check_ajax_referer( 'super_duper_output_shortcode', '_ajax_nonce', true );
1338
-			if ( ! current_user_can( 'manage_options' ) ) {
1337
+			check_ajax_referer('super_duper_output_shortcode', '_ajax_nonce', true);
1338
+			if (!current_user_can('manage_options')) {
1339 1339
 				wp_die();
1340 1340
 			}
1341 1341
 
1342 1342
 			// we might need the $post value here so lets set it.
1343
-			if ( isset( $_POST['post_id'] ) && $_POST['post_id'] ) {
1344
-				$post_obj = get_post( absint( $_POST['post_id'] ) );
1345
-				if ( ! empty( $post_obj ) && empty( $post ) ) {
1343
+			if (isset($_POST['post_id']) && $_POST['post_id']) {
1344
+				$post_obj = get_post(absint($_POST['post_id']));
1345
+				if (!empty($post_obj) && empty($post)) {
1346 1346
 					global $post;
1347 1347
 					$post = $post_obj;
1348 1348
 				}
1349 1349
 			}
1350 1350
 
1351
-			if ( isset( $_POST['shortcode'] ) && $_POST['shortcode'] ) {
1351
+			if (isset($_POST['shortcode']) && $_POST['shortcode']) {
1352 1352
 				$is_preview = $this->is_preview();
1353
-				$shortcode_name   = sanitize_title_with_dashes( $_POST['shortcode'] );
1354
-				$attributes_array = isset( $_POST['attributes'] ) && $_POST['attributes'] ? $_POST['attributes'] : array();
1353
+				$shortcode_name   = sanitize_title_with_dashes($_POST['shortcode']);
1354
+				$attributes_array = isset($_POST['attributes']) && $_POST['attributes'] ? $_POST['attributes'] : array();
1355 1355
 				$attributes       = '';
1356
-				if ( ! empty( $attributes_array ) ) {
1357
-					foreach ( $attributes_array as $key => $value ) {
1358
-						if ( is_array( $value ) ) {
1359
-							$value = implode( ",", $value );
1356
+				if (!empty($attributes_array)) {
1357
+					foreach ($attributes_array as $key => $value) {
1358
+						if (is_array($value)) {
1359
+							$value = implode(",", $value);
1360 1360
 						}
1361 1361
 
1362
-						if ( ! empty( $value ) ) {
1363
-							$value = wp_unslash( $value );
1362
+						if (!empty($value)) {
1363
+							$value = wp_unslash($value);
1364 1364
 
1365 1365
 							// Encode [ and ].
1366
-							if ( $is_preview ) {
1367
-								$value = $this->encode_shortcodes( $value );
1366
+							if ($is_preview) {
1367
+								$value = $this->encode_shortcodes($value);
1368 1368
 							}
1369 1369
 						}
1370
-						$attributes .= " " . esc_attr( sanitize_title_with_dashes( $key ) ) . "='" . esc_attr( $value ) . "' ";
1370
+						$attributes .= " " . esc_attr(sanitize_title_with_dashes($key)) . "='" . esc_attr($value) . "' ";
1371 1371
 					}
1372 1372
 				}
1373 1373
 
1374
-				$shortcode = "[" . esc_attr( $shortcode_name ) . " " . $attributes . "]";
1374
+				$shortcode = "[" . esc_attr($shortcode_name) . " " . $attributes . "]";
1375 1375
 
1376
-				$content = do_shortcode( $shortcode );
1376
+				$content = do_shortcode($shortcode);
1377 1377
 
1378 1378
 				// Decode [ and ].
1379
-				if ( ! empty( $content ) && $is_preview ) {
1380
-					$content = $this->decode_shortcodes( $content );
1379
+				if (!empty($content) && $is_preview) {
1380
+					$content = $this->decode_shortcodes($content);
1381 1381
 				}
1382 1382
 
1383 1383
 				echo $content;
@@ -1393,21 +1393,21 @@  discard block
 block discarded – undo
1393 1393
 		 *
1394 1394
 		 * @return string
1395 1395
 		 */
1396
-		public function shortcode_output( $args = array(), $content = '' ) {
1396
+		public function shortcode_output($args = array(), $content = '') {
1397 1397
 			$_instance = $args;
1398 1398
 
1399
-			$args = $this->argument_values( $args );
1399
+			$args = $this->argument_values($args);
1400 1400
 
1401 1401
 			// add extra argument so we know its a output to gutenberg
1402 1402
 			//$args
1403
-			$args = $this->string_to_bool( $args );
1403
+			$args = $this->string_to_bool($args);
1404 1404
 
1405 1405
 			// if we have a enclosed shortcode we add it to the special `html` argument
1406
-			if ( ! empty( $content ) ) {
1406
+			if (!empty($content)) {
1407 1407
 				$args['html'] = $content;
1408 1408
 			}
1409 1409
 
1410
-			if ( ! $this->is_preview() ) {
1410
+			if (!$this->is_preview()) {
1411 1411
 				/**
1412 1412
 				 * Filters the settings for a particular widget args.
1413 1413
 				 *
@@ -1418,40 +1418,40 @@  discard block
 block discarded – undo
1418 1418
 				 *@since 1.0.28
1419 1419
 				 *
1420 1420
 				 */
1421
-				$args = apply_filters( 'wp_super_duper_widget_display_callback', $args, $this, $_instance );
1421
+				$args = apply_filters('wp_super_duper_widget_display_callback', $args, $this, $_instance);
1422 1422
 
1423
-				if ( ! is_array( $args ) ) {
1423
+				if (!is_array($args)) {
1424 1424
 					return $args;
1425 1425
 				}
1426 1426
 			}
1427 1427
 
1428
-			$class = isset( $this->options['widget_ops']['classname'] ) ? esc_attr( $this->options['widget_ops']['classname'] ) : '';
1429
-			$class .= " sdel-".$this->get_instance_hash();
1428
+			$class = isset($this->options['widget_ops']['classname']) ? esc_attr($this->options['widget_ops']['classname']) : '';
1429
+			$class .= " sdel-" . $this->get_instance_hash();
1430 1430
 
1431
-			$class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
1432
-			$class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
1431
+			$class = apply_filters('wp_super_duper_div_classname', $class, $args, $this);
1432
+			$class = apply_filters('wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this);
1433 1433
 
1434
-			$attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
1435
-			$attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this );
1434
+			$attrs = apply_filters('wp_super_duper_div_attrs', '', $args, $this);
1435
+			$attrs = apply_filters('wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this);
1436 1436
 
1437 1437
 			$shortcode_args = array();
1438 1438
 			$output         = '';
1439
-			$no_wrap        = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
1440
-			if ( isset( $args['no_wrap'] ) && $args['no_wrap'] ) {
1439
+			$no_wrap        = isset($this->options['no_wrap']) && $this->options['no_wrap'] ? true : false;
1440
+			if (isset($args['no_wrap']) && $args['no_wrap']) {
1441 1441
 				$no_wrap = true;
1442 1442
 			}
1443
-			$main_content = $this->output( $args, $shortcode_args, $content );
1444
-			if ( $main_content && ! $no_wrap ) {
1443
+			$main_content = $this->output($args, $shortcode_args, $content);
1444
+			if ($main_content && !$no_wrap) {
1445 1445
 				// wrap the shortcode in a div with the same class as the widget
1446 1446
 				$output .= '<div class="' . $class . '" ' . $attrs . '>';
1447
-				if ( ! empty( $args['title'] ) ) {
1447
+				if (!empty($args['title'])) {
1448 1448
 					// if its a shortcode and there is a title try to grab the title wrappers
1449
-					$shortcode_args = array( 'before_title' => '', 'after_title' => '' );
1450
-					if ( empty( $instance ) ) {
1449
+					$shortcode_args = array('before_title' => '', 'after_title' => '');
1450
+					if (empty($instance)) {
1451 1451
 						global $wp_registered_sidebars;
1452
-						if ( ! empty( $wp_registered_sidebars ) ) {
1453
-							foreach ( $wp_registered_sidebars as $sidebar ) {
1454
-								if ( ! empty( $sidebar['before_title'] ) ) {
1452
+						if (!empty($wp_registered_sidebars)) {
1453
+							foreach ($wp_registered_sidebars as $sidebar) {
1454
+								if (!empty($sidebar['before_title'])) {
1455 1455
 									$shortcode_args['before_title'] = $sidebar['before_title'];
1456 1456
 									$shortcode_args['after_title']  = $sidebar['after_title'];
1457 1457
 									break;
@@ -1459,20 +1459,20 @@  discard block
 block discarded – undo
1459 1459
 							}
1460 1460
 						}
1461 1461
 					}
1462
-					$output .= $this->output_title( $shortcode_args, $args );
1462
+					$output .= $this->output_title($shortcode_args, $args);
1463 1463
 				}
1464 1464
 				$output .= $main_content;
1465 1465
 				$output .= '</div>';
1466
-			} elseif ( $main_content && $no_wrap ) {
1466
+			} elseif ($main_content && $no_wrap) {
1467 1467
 				$output .= $main_content;
1468 1468
 			}
1469 1469
 
1470 1470
 			// if preview show a placeholder if empty
1471
-			if ( $this->is_preview() && $output == '' ) {
1472
-				$output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
1471
+			if ($this->is_preview() && $output == '') {
1472
+				$output = $this->preview_placeholder_text("{{" . $this->base_id . "}}");
1473 1473
 			}
1474 1474
 
1475
-			return apply_filters( 'wp_super_duper_widget_output', $output, $args, $shortcode_args, $this );
1475
+			return apply_filters('wp_super_duper_widget_output', $output, $args, $shortcode_args, $this);
1476 1476
 		}
1477 1477
 
1478 1478
 		/**
@@ -1482,8 +1482,8 @@  discard block
 block discarded – undo
1482 1482
 		 *
1483 1483
 		 * @return string
1484 1484
 		 */
1485
-		public function preview_placeholder_text( $name = '' ) {
1486
-			return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . wp_sprintf( __( 'Placeholder for: %s', 'ayecode-connect' ), $name ) . "</div>";
1485
+		public function preview_placeholder_text($name = '') {
1486
+			return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . wp_sprintf(__('Placeholder for: %s', 'ayecode-connect'), $name) . "</div>";
1487 1487
 		}
1488 1488
 
1489 1489
 		/**
@@ -1493,13 +1493,13 @@  discard block
 block discarded – undo
1493 1493
 		 *
1494 1494
 		 * @return mixed
1495 1495
 		 */
1496
-		public function string_to_bool( $options ) {
1496
+		public function string_to_bool($options) {
1497 1497
 			// convert bool strings to booleans
1498
-			foreach ( $options as $key => $val ) {
1499
-				if ( $val == 'false' ) {
1500
-					$options[ $key ] = false;
1501
-				} elseif ( $val == 'true' ) {
1502
-					$options[ $key ] = true;
1498
+			foreach ($options as $key => $val) {
1499
+				if ($val == 'false') {
1500
+					$options[$key] = false;
1501
+				} elseif ($val == 'true') {
1502
+					$options[$key] = true;
1503 1503
 				}
1504 1504
 			}
1505 1505
 
@@ -1515,26 +1515,26 @@  discard block
 block discarded – undo
1515 1515
 		 *@since 1.0.12 Don't set checkbox default value if the value is empty.
1516 1516
 		 *
1517 1517
 		 */
1518
-		public function argument_values( $instance ) {
1518
+		public function argument_values($instance) {
1519 1519
 			$argument_values = array();
1520 1520
 
1521 1521
 			// set widget instance
1522 1522
 			$this->instance = $instance;
1523 1523
 
1524
-			if ( empty( $this->arguments ) ) {
1524
+			if (empty($this->arguments)) {
1525 1525
 				$this->arguments = $this->get_arguments();
1526 1526
 			}
1527 1527
 
1528
-			if ( ! empty( $this->arguments ) ) {
1529
-				foreach ( $this->arguments as $key => $args ) {
1528
+			if (!empty($this->arguments)) {
1529
+				foreach ($this->arguments as $key => $args) {
1530 1530
 					// set the input name from the key
1531 1531
 					$args['name'] = $key;
1532 1532
 					//
1533
-					$argument_values[ $key ] = isset( $instance[ $key ] ) ? $instance[ $key ] : '';
1534
-					if ( $args['type'] == 'checkbox' && $argument_values[ $key ] == '' ) {
1533
+					$argument_values[$key] = isset($instance[$key]) ? $instance[$key] : '';
1534
+					if ($args['type'] == 'checkbox' && $argument_values[$key] == '') {
1535 1535
 						// don't set default for an empty checkbox
1536
-					} elseif ( $argument_values[ $key ] == '' && isset( $args['default'] ) ) {
1537
-						$argument_values[ $key ] = $args['default'];
1536
+					} elseif ($argument_values[$key] == '' && isset($args['default'])) {
1537
+						$argument_values[$key] = $args['default'];
1538 1538
 					}
1539 1539
 				}
1540 1540
 			}
@@ -1561,12 +1561,12 @@  discard block
 block discarded – undo
1561 1561
 		 *
1562 1562
 		 */
1563 1563
 		public function get_arguments() {
1564
-			if ( empty( $this->arguments ) ) {
1564
+			if (empty($this->arguments)) {
1565 1565
 				$this->arguments = $this->set_arguments();
1566 1566
 			}
1567 1567
 
1568
-			$this->arguments = apply_filters( 'wp_super_duper_arguments', $this->arguments, $this->options, $this->instance );
1569
-			$this->arguments = $this->add_name_from_key( $this->arguments, true );
1568
+			$this->arguments = apply_filters('wp_super_duper_arguments', $this->arguments, $this->options, $this->instance);
1569
+			$this->arguments = $this->add_name_from_key($this->arguments, true);
1570 1570
 
1571 1571
 			return $this->arguments;
1572 1572
 		}
@@ -1578,7 +1578,7 @@  discard block
 block discarded – undo
1578 1578
 		 * @param array $widget_args
1579 1579
 		 * @param string $content
1580 1580
 		 */
1581
-		public function output( $args = array(), $widget_args = array(), $content = '' ) {
1581
+		public function output($args = array(), $widget_args = array(), $content = '') {
1582 1582
 
1583 1583
 		}
1584 1584
 
@@ -1586,9 +1586,9 @@  discard block
 block discarded – undo
1586 1586
 		 * Add the dynamic block code inline when the wp-block in enqueued.
1587 1587
 		 */
1588 1588
 		public function register_block() {
1589
-			wp_add_inline_script( 'wp-blocks', $this->block() );
1590
-			if ( class_exists( 'SiteOrigin_Panels' ) ) {
1591
-				wp_add_inline_script( 'wp-blocks', $this->siteorigin_js() );
1589
+			wp_add_inline_script('wp-blocks', $this->block());
1590
+			if (class_exists('SiteOrigin_Panels')) {
1591
+				wp_add_inline_script('wp-blocks', $this->siteorigin_js());
1592 1592
 			}
1593 1593
 		}
1594 1594
 
@@ -1602,9 +1602,9 @@  discard block
 block discarded – undo
1602 1602
 			$show      = false;
1603 1603
 			$arguments = $this->get_arguments();
1604 1604
 
1605
-			if ( ! empty( $arguments ) ) {
1606
-				foreach ( $arguments as $argument ) {
1607
-					if ( isset( $argument['advanced'] ) && $argument['advanced'] ) {
1605
+			if (!empty($arguments)) {
1606
+				foreach ($arguments as $argument) {
1607
+					if (isset($argument['advanced']) && $argument['advanced']) {
1608 1608
 						$show = true;
1609 1609
 						break; // no need to continue if we know we have it
1610 1610
 					}
@@ -1622,19 +1622,19 @@  discard block
 block discarded – undo
1622 1622
 		public function get_url() {
1623 1623
 			$url = $this->url;
1624 1624
 
1625
-			if ( ! $url ) {
1626
-				$content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) );
1627
-				$content_url = untrailingslashit( WP_CONTENT_URL );
1625
+			if (!$url) {
1626
+				$content_dir = wp_normalize_path(untrailingslashit(WP_CONTENT_DIR));
1627
+				$content_url = untrailingslashit(WP_CONTENT_URL);
1628 1628
 
1629 1629
 				// Replace http:// to https://.
1630
-				if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) {
1631
-					$content_url = str_replace( 'http://', 'https://', $content_url );
1630
+				if (strpos($content_url, 'http://') === 0 && strpos(plugins_url(), 'https://') === 0) {
1631
+					$content_url = str_replace('http://', 'https://', $content_url);
1632 1632
 				}
1633 1633
 
1634 1634
 				// Check if we are inside a plugin
1635
-				$file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) );
1636
-				$url = str_replace( $content_dir, $content_url, $file_dir );
1637
-				$url = trailingslashit( $url );
1635
+				$file_dir = str_replace("/includes", "", wp_normalize_path(dirname(__FILE__)));
1636
+				$url = str_replace($content_dir, $content_url, $file_dir);
1637
+				$url = trailingslashit($url);
1638 1638
 				$this->url = $url;
1639 1639
 			}
1640 1640
 
@@ -1650,15 +1650,15 @@  discard block
 block discarded – undo
1650 1650
 
1651 1651
 			$url = $this->url;
1652 1652
 
1653
-			if ( ! $url ) {
1653
+			if (!$url) {
1654 1654
 				// check if we are inside a plugin
1655
-				$file_dir = str_replace( "/includes", "", dirname( __FILE__ ) );
1655
+				$file_dir = str_replace("/includes", "", dirname(__FILE__));
1656 1656
 
1657
-				$dir_parts = explode( "/wp-content/", $file_dir );
1658
-				$url_parts = explode( "/wp-content/", plugins_url() );
1657
+				$dir_parts = explode("/wp-content/", $file_dir);
1658
+				$url_parts = explode("/wp-content/", plugins_url());
1659 1659
 
1660
-				if ( ! empty( $url_parts[0] ) && ! empty( $dir_parts[1] ) ) {
1661
-					$url       = trailingslashit( $url_parts[0] . "/wp-content/" . $dir_parts[1] );
1660
+				if (!empty($url_parts[0]) && !empty($dir_parts[1])) {
1661
+					$url       = trailingslashit($url_parts[0] . "/wp-content/" . $dir_parts[1]);
1662 1662
 					$this->url = $url;
1663 1663
 				}
1664 1664
 			}
@@ -1679,45 +1679,45 @@  discard block
 block discarded – undo
1679 1679
 		 * @return string
1680 1680
 		 *@since 1.1.0
1681 1681
 		 */
1682
-		public function get_block_icon( $icon ) {
1682
+		public function get_block_icon($icon) {
1683 1683
 
1684 1684
 			// check if we have a Font Awesome icon
1685 1685
 			$fa_type = '';
1686
-			if ( substr( $icon, 0, 7 ) === "fas fa-" ) {
1686
+			if (substr($icon, 0, 7) === "fas fa-") {
1687 1687
 				$fa_type = 'solid';
1688
-			} elseif ( substr( $icon, 0, 7 ) === "far fa-" ) {
1688
+			} elseif (substr($icon, 0, 7) === "far fa-") {
1689 1689
 				$fa_type = 'regular';
1690
-			} elseif ( substr( $icon, 0, 7 ) === "fab fa-" ) {
1690
+			} elseif (substr($icon, 0, 7) === "fab fa-") {
1691 1691
 				$fa_type = 'brands';
1692 1692
 			} else {
1693 1693
 				$icon = "'" . $icon . "'";
1694 1694
 			}
1695 1695
 
1696 1696
 			// set the icon if we found one
1697
-			if ( $fa_type ) {
1698
-				$fa_icon = str_replace( array( "fas fa-", "far fa-", "fab fa-" ), "", $icon );
1697
+			if ($fa_type) {
1698
+				$fa_icon = str_replace(array("fas fa-", "far fa-", "fab fa-"), "", $icon);
1699 1699
 				$icon    = "el('svg',{width: 20, height: 20, viewBox: '0 0 20 20'},el('use', {'xlink:href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "','href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "'}))";
1700 1700
 			}
1701 1701
 
1702 1702
 			return $icon;
1703 1703
 		}
1704 1704
 
1705
-		public function group_arguments( $arguments ) {
1706
-			if ( ! empty( $arguments ) ) {
1705
+		public function group_arguments($arguments) {
1706
+			if (!empty($arguments)) {
1707 1707
 				$temp_arguments = array();
1708
-				$general        = __( "General", 'ayecode-connect' );
1708
+				$general        = __("General", 'ayecode-connect');
1709 1709
 				$add_sections   = false;
1710
-				foreach ( $arguments as $key => $args ) {
1711
-					if ( isset( $args['group'] ) ) {
1712
-						$temp_arguments[ $args['group'] ][ $key ] = $args;
1710
+				foreach ($arguments as $key => $args) {
1711
+					if (isset($args['group'])) {
1712
+						$temp_arguments[$args['group']][$key] = $args;
1713 1713
 						$add_sections                             = true;
1714 1714
 					} else {
1715
-						$temp_arguments[ $general ][ $key ] = $args;
1715
+						$temp_arguments[$general][$key] = $args;
1716 1716
 					}
1717 1717
 				}
1718 1718
 
1719 1719
 				// only add sections if more than one
1720
-				if ( $add_sections ) {
1720
+				if ($add_sections) {
1721 1721
 					$arguments = $temp_arguments;
1722 1722
 				}
1723 1723
 			}
@@ -1730,38 +1730,38 @@  discard block
 block discarded – undo
1730 1730
 		 *
1731 1731
 		 * @since 1.1.17
1732 1732
 		 */
1733
-		public function group_block_tabs( $tabs, $arguments ) {
1734
-			if ( ! empty( $tabs ) && ! empty( $arguments ) ) {
1733
+		public function group_block_tabs($tabs, $arguments) {
1734
+			if (!empty($tabs) && !empty($arguments)) {
1735 1735
 				$has_sections = false;
1736 1736
 
1737
-				foreach ( $this->arguments as $key => $args ) {
1738
-					if ( isset( $args['group'] ) ) {
1737
+				foreach ($this->arguments as $key => $args) {
1738
+					if (isset($args['group'])) {
1739 1739
 						$has_sections = true;
1740 1740
 						break;
1741 1741
 					}
1742 1742
 				}
1743 1743
 
1744
-				if ( ! $has_sections ) {
1744
+				if (!$has_sections) {
1745 1745
 					return $tabs;
1746 1746
 				}
1747 1747
 
1748 1748
 				$new_tabs = array();
1749 1749
 
1750
-				foreach ( $tabs as $tab_key => $tab ) {
1750
+				foreach ($tabs as $tab_key => $tab) {
1751 1751
 					$new_groups = array();
1752 1752
 
1753
-					if ( ! empty( $tab['groups'] ) && is_array( $tab['groups'] ) ) {
1754
-						foreach ( $tab['groups'] as $group ) {
1755
-							if ( isset( $arguments[ $group ] ) ) {
1753
+					if (!empty($tab['groups']) && is_array($tab['groups'])) {
1754
+						foreach ($tab['groups'] as $group) {
1755
+							if (isset($arguments[$group])) {
1756 1756
 								$new_groups[] = $group;
1757 1757
 							}
1758 1758
 						}
1759 1759
 					}
1760 1760
 
1761
-					if ( ! empty( $new_groups ) ) {
1761
+					if (!empty($new_groups)) {
1762 1762
 						$tab['groups'] = $new_groups;
1763 1763
 
1764
-						$new_tabs[ $tab_key ] = $tab;
1764
+						$new_tabs[$tab_key] = $tab;
1765 1765
 					}
1766 1766
 				}
1767 1767
 
@@ -1788,7 +1788,7 @@  discard block
 block discarded – undo
1788 1788
 			?>
1789 1789
 			<script>
1790 1790
 			<?php
1791
-			if ( ! $sd_is_js_functions_loaded ) {
1791
+			if (!$sd_is_js_functions_loaded) {
1792 1792
 				$sd_is_js_functions_loaded = true;
1793 1793
 			?>
1794 1794
 function sd_show_view_options($this){
@@ -2111,7 +2111,7 @@  discard block
 block discarded – undo
2111 2111
 	}
2112 2112
 }
2113 2113
 
2114
-<?php if( !isset( $_REQUEST['sd-block-recover-debug'] ) ){ ?>
2114
+<?php if (!isset($_REQUEST['sd-block-recover-debug'])) { ?>
2115 2115
 // Wait will window is loaded before calling.
2116 2116
 window.onload = function() {
2117 2117
 	sd_auto_recover_blocks();
@@ -2290,7 +2290,7 @@  discard block
 block discarded – undo
2290 2290
 				$classes = [];
2291 2291
 
2292 2292
 				<?php
2293
-				if($aui_bs5){
2293
+				if ($aui_bs5) {
2294 2294
 					?>
2295 2295
 				$aui_bs5 = true;
2296 2296
 				$p_ml = 'ms-';
@@ -2299,7 +2299,7 @@  discard block
 block discarded – undo
2299 2299
 				$p_pl = 'ps-';
2300 2300
 				$p_pr = 'pe-';
2301 2301
 					<?php
2302
-				}else{
2302
+				} else {
2303 2303
 						?>
2304 2304
 				$aui_bs5 = false;
2305 2305
 				$p_ml = 'ml-';
@@ -2487,7 +2487,7 @@  discard block
 block discarded – undo
2487 2487
 			}
2488 2488
 
2489 2489
 			function sd_get_class_build_keys(){
2490
-				return <?php echo json_encode(sd_get_class_build_keys());?>;
2490
+				return <?php echo json_encode(sd_get_class_build_keys()); ?>;
2491 2491
 			}
2492 2492
 
2493 2493
 			<?php
@@ -2495,7 +2495,7 @@  discard block
 block discarded – undo
2495 2495
 
2496 2496
 			}
2497 2497
 
2498
-			if(method_exists($this,'block_global_js')){
2498
+			if (method_exists($this, 'block_global_js')) {
2499 2499
 					echo $this->block_global_js();
2500 2500
 			}
2501 2501
 			?>
@@ -2527,9 +2527,9 @@  discard block
 block discarded – undo
2527 2527
 					var InnerBlocks = blockEditor.InnerBlocks;
2528 2528
 
2529 2529
 					var term_query_type = '';
2530
-					var post_type_rest_slugs = <?php if(! empty( $this->arguments ) && isset($this->arguments['post_type']['onchange_rest']['values'])){echo "[".json_encode($this->arguments['post_type']['onchange_rest']['values'])."]";}else{echo "[]";} ?>;
2531
-					const taxonomies_<?php echo str_replace("-","_", $this->id);?> = [{label: "Please wait", value: 0}];
2532
-					const sort_by_<?php echo str_replace("-","_", $this->id);?> = [{label: "Please wait", value: 0}];
2530
+					var post_type_rest_slugs = <?php if (!empty($this->arguments) && isset($this->arguments['post_type']['onchange_rest']['values'])) {echo "[" . json_encode($this->arguments['post_type']['onchange_rest']['values']) . "]"; } else {echo "[]"; } ?>;
2531
+					const taxonomies_<?php echo str_replace("-", "_", $this->id); ?> = [{label: "Please wait", value: 0}];
2532
+					const sort_by_<?php echo str_replace("-", "_", $this->id); ?> = [{label: "Please wait", value: 0}];
2533 2533
 					const MediaUpload = wp.blockEditor.MediaUpload;
2534 2534
 
2535 2535
 					/**
@@ -2544,87 +2544,87 @@  discard block
 block discarded – undo
2544 2544
 					 * @return {?WPBlock}          The block, if it has been successfully
2545 2545
 					 *                             registered; otherwise `undefined`.
2546 2546
 					 */
2547
-					registerBlockType('<?php echo str_replace( "_", "-", sanitize_title_with_dashes( $this->options['textdomain'] ) . '/' . sanitize_title_with_dashes( $this->options['class_name'] ) );  ?>', { // Block name. Block names must be string that contains a namespace prefix. Example: my-plugin/my-custom-block.
2548
-						apiVersion: <?php echo isset($this->options['block-api-version']) ? absint($this->options['block-api-version']) : 2 ; ?>,
2549
-						title: '<?php echo addslashes( $this->options['name'] ); ?>', // Block title.
2550
-						description: '<?php echo addslashes( $this->options['widget_ops']['description'] )?>', // Block title.
2551
-						icon: <?php echo $this->get_block_icon( $this->options['block-icon'] );?>,//'<?php echo isset( $this->options['block-icon'] ) ? esc_attr( $this->options['block-icon'] ) : 'shield-alt';?>', // Block icon from Dashicons → https://developer.wordpress.org/resource/dashicons/.
2547
+					registerBlockType('<?php echo str_replace("_", "-", sanitize_title_with_dashes($this->options['textdomain']) . '/' . sanitize_title_with_dashes($this->options['class_name'])); ?>', { // Block name. Block names must be string that contains a namespace prefix. Example: my-plugin/my-custom-block.
2548
+						apiVersion: <?php echo isset($this->options['block-api-version']) ? absint($this->options['block-api-version']) : 2; ?>,
2549
+						title: '<?php echo addslashes($this->options['name']); ?>', // Block title.
2550
+						description: '<?php echo addslashes($this->options['widget_ops']['description'])?>', // Block title.
2551
+						icon: <?php echo $this->get_block_icon($this->options['block-icon']); ?>,//'<?php echo isset($this->options['block-icon']) ? esc_attr($this->options['block-icon']) : 'shield-alt'; ?>', // Block icon from Dashicons → https://developer.wordpress.org/resource/dashicons/.
2552 2552
 						supports: {
2553 2553
 							<?php
2554
-							if(!isset($this->options['block-supports']['renaming'])){
2554
+							if (!isset($this->options['block-supports']['renaming'])) {
2555 2555
 								$this->options['block-supports']['renaming'] = false;
2556 2556
 							}
2557
-							if ( isset( $this->options['block-supports'] ) ) {
2558
-								echo $this->array_to_attributes( $this->options['block-supports'] );
2557
+							if (isset($this->options['block-supports'])) {
2558
+								echo $this->array_to_attributes($this->options['block-supports']);
2559 2559
 							}
2560 2560
 							?>
2561 2561
 						},
2562 2562
 						__experimentalLabel( attributes, { context } ) {
2563 2563
 							var visibility_html = attributes && attributes.visibility_conditions ? ' &#128065;' : '';
2564 2564
 							var metadata_name = attributes && attributes.metadata && attributes.metadata.name ? attributes.metadata.name : '';
2565
-							var label_name = <?php echo !empty($this->options['block-label']) ? $this->options['block-label'] : "'" . esc_attr( addslashes( $this->options['name'] ) ) . "'"; ?>;
2565
+							var label_name = <?php echo !empty($this->options['block-label']) ? $this->options['block-label'] : "'" . esc_attr(addslashes($this->options['name'])) . "'"; ?>;
2566 2566
 							return metadata_name ? metadata_name + visibility_html  : label_name + visibility_html;
2567 2567
 						},
2568
-						category: '<?php echo isset( $this->options['block-category'] ) ? esc_attr( $this->options['block-category'] ) : 'common';?>', // Block category — Group blocks together based on common traits E.g. common, formatting, layout widgets, embed.
2569
-						<?php if ( isset( $this->options['block-keywords'] ) ) {
2568
+						category: '<?php echo isset($this->options['block-category']) ? esc_attr($this->options['block-category']) : 'common'; ?>', // Block category — Group blocks together based on common traits E.g. common, formatting, layout widgets, embed.
2569
+						<?php if (isset($this->options['block-keywords'])) {
2570 2570
 						echo "keywords : " . $this->options['block-keywords'] . ",";
2571 2571
 						}
2572 2572
 
2573 2573
 
2574 2574
 						// block hover preview.
2575 2575
 						$example_args = array();
2576
-						if(!empty($this->arguments)){
2577
-							foreach($this->arguments as $key => $a_args){
2578
-								if(isset($a_args['example'])){
2576
+						if (!empty($this->arguments)) {
2577
+							foreach ($this->arguments as $key => $a_args) {
2578
+								if (isset($a_args['example'])) {
2579 2579
 									$example_args[$key] = $a_args['example'];
2580 2580
 								}
2581 2581
 							}
2582 2582
 						}
2583
-						$viewport_width = isset($this->options['example']['viewportWidth']) ? 'viewportWidth: '.absint($this->options['example']['viewportWidth']) : '';
2583
+						$viewport_width = isset($this->options['example']['viewportWidth']) ? 'viewportWidth: ' . absint($this->options['example']['viewportWidth']) : '';
2584 2584
 						$example_inner_blocks = !empty($this->options['example']['innerBlocks']) && is_array($this->options['example']['innerBlocks']) ? 'innerBlocks: ' . wp_json_encode($this->options['example']['innerBlocks']) : '';
2585
-						if( isset( $this->options['example'] ) && $this->options['example'] === false ){
2585
+						if (isset($this->options['example']) && $this->options['example'] === false) {
2586 2586
 							// no preview if set to false
2587
-						}elseif( !empty( $example_args ) ){
2588
-							echo "example : {attributes:{".$this->array_to_attributes( $example_args )."},$viewport_width},";
2589
-						}elseif( !empty( $this->options['example'] ) ){
2587
+						}elseif (!empty($example_args)) {
2588
+							echo "example : {attributes:{" . $this->array_to_attributes($example_args) . "},$viewport_width},";
2589
+						}elseif (!empty($this->options['example'])) {
2590 2590
 							unset($this->options['example']['viewportWidth']);
2591 2591
 							unset($this->options['example']['innerBlocks']);
2592
-							$example_atts = $this->array_to_attributes( $this->options['example'] );
2592
+							$example_atts = $this->array_to_attributes($this->options['example']);
2593 2593
 							$example_parts = array();
2594
-							if($example_atts){
2595
-								$example_parts[] = rtrim($example_atts,",");
2594
+							if ($example_atts) {
2595
+								$example_parts[] = rtrim($example_atts, ",");
2596 2596
 							}
2597
-							if($viewport_width){
2597
+							if ($viewport_width) {
2598 2598
 								$example_parts[] = $viewport_width;
2599 2599
 							}
2600
-							if($example_inner_blocks){
2600
+							if ($example_inner_blocks) {
2601 2601
 								$example_parts[] = $example_inner_blocks;
2602 2602
 							}
2603
-							if(!empty($example_parts)){
2604
-								echo "example : {".implode(',', $example_parts)."},";
2603
+							if (!empty($example_parts)) {
2604
+								echo "example : {" . implode(',', $example_parts) . "},";
2605 2605
 							}
2606
-						}else{
2606
+						} else {
2607 2607
 							echo 'example : {viewportWidth: 500},';
2608 2608
 						}
2609 2609
 
2610 2610
 
2611 2611
 
2612 2612
 						// limit to parent
2613
-						if( !empty( $this->options['parent'] ) ){
2614
-							echo "parent : " . wp_json_encode( $this->options['parent'] ) . ",";
2613
+						if (!empty($this->options['parent'])) {
2614
+							echo "parent : " . wp_json_encode($this->options['parent']) . ",";
2615 2615
 						}
2616 2616
 
2617 2617
 						// limit allowed blocks
2618
-						if( !empty( $this->options['allowed-blocks'] ) ){
2619
-							echo "allowedBlocks : " . wp_json_encode( $this->options['allowed-blocks'] ) . ",";
2618
+						if (!empty($this->options['allowed-blocks'])) {
2619
+							echo "allowedBlocks : " . wp_json_encode($this->options['allowed-blocks']) . ",";
2620 2620
 						}
2621 2621
 
2622 2622
 						// maybe set no_wrap
2623
-						$no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
2624
-						if ( isset( $this->arguments['no_wrap'] ) && $this->arguments['no_wrap'] ) {
2623
+						$no_wrap = isset($this->options['no_wrap']) && $this->options['no_wrap'] ? true : false;
2624
+						if (isset($this->arguments['no_wrap']) && $this->arguments['no_wrap']) {
2625 2625
 							$no_wrap = true;
2626 2626
 						}
2627
-						if ( $no_wrap ) {
2627
+						if ($no_wrap) {
2628 2628
 							$this->options['block-wrap'] = '';
2629 2629
 						}
2630 2630
 
@@ -2641,7 +2641,7 @@  discard block
 block discarded – undo
2641 2641
 
2642 2642
 							echo "attributes : {";
2643 2643
 
2644
-							if ( $show_advanced ) {
2644
+							if ($show_advanced) {
2645 2645
 								echo "show_advanced: {";
2646 2646
 								echo "	type: 'boolean',";
2647 2647
 								echo "  default: false,";
@@ -2649,57 +2649,57 @@  discard block
 block discarded – undo
2649 2649
 							}
2650 2650
 
2651 2651
 							// block wrap element
2652
-							if ( ! empty( $this->options['block-wrap'] ) ) { //@todo we should validate this?
2652
+							if (!empty($this->options['block-wrap'])) { //@todo we should validate this?
2653 2653
 								echo "block_wrap: {";
2654 2654
 								echo "	type: 'string',";
2655
-								echo "  default: '" . esc_attr( $this->options['block-wrap'] ) . "',";
2655
+								echo "  default: '" . esc_attr($this->options['block-wrap']) . "',";
2656 2656
 								echo "},";
2657 2657
 							}
2658 2658
 
2659 2659
 
2660
-							if ( ! empty( $this->arguments ) ) {
2660
+							if (!empty($this->arguments)) {
2661 2661
 
2662
-								foreach ( $this->arguments as $key => $args ) {
2662
+								foreach ($this->arguments as $key => $args) {
2663 2663
 
2664
-									if( $args['type'] == 'image' ||  $args['type'] == 'images' ){
2664
+									if ($args['type'] == 'image' || $args['type'] == 'images') {
2665 2665
 										$img_drag_drop = true;
2666 2666
 									}
2667 2667
 
2668 2668
 									// set if we should show alignment
2669
-									if ( $key == 'alignment' ) {
2669
+									if ($key == 'alignment') {
2670 2670
 										$show_alignment = true;
2671 2671
 									}
2672 2672
 
2673 2673
 									$extra = '';
2674 2674
 
2675
-									if ( $args['type'] == 'notice' ||  $args['type'] == 'tab' ) {
2675
+									if ($args['type'] == 'notice' || $args['type'] == 'tab') {
2676 2676
 										continue;
2677 2677
 									}
2678
-									elseif ( $args['type'] == 'checkbox' ) {
2678
+									elseif ($args['type'] == 'checkbox') {
2679 2679
 										$type    = 'boolean';
2680
-										$default = isset( $args['default'] ) && $args['default'] ? 'true' : 'false';
2681
-									} elseif ( $args['type'] == 'number' ) {
2680
+										$default = isset($args['default']) && $args['default'] ? 'true' : 'false';
2681
+									} elseif ($args['type'] == 'number') {
2682 2682
 										$type    = 'number';
2683
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2684
-									} elseif ( $args['type'] == 'select' && ! empty( $args['multiple'] ) ) {
2683
+										$default = isset($args['default']) ? "'" . $args['default'] . "'" : "''";
2684
+									} elseif ($args['type'] == 'select' && !empty($args['multiple'])) {
2685 2685
 										$type = 'array';
2686
-										if ( isset( $args['default'] ) && is_array( $args['default'] ) ) {
2687
-											$default = ! empty( $args['default'] ) ? "['" . implode( "','", $args['default'] ) . "']" : "[]";
2686
+										if (isset($args['default']) && is_array($args['default'])) {
2687
+											$default = !empty($args['default']) ? "['" . implode("','", $args['default']) . "']" : "[]";
2688 2688
 										} else {
2689
-											$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2689
+											$default = isset($args['default']) ? "'" . $args['default'] . "'" : "''";
2690 2690
 										}
2691
-									} elseif ( $args['type'] == 'tagselect' ) {
2691
+									} elseif ($args['type'] == 'tagselect') {
2692 2692
 										$type    = 'array';
2693
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2694
-									} elseif ( $args['type'] == 'multiselect' ) {
2693
+										$default = isset($args['default']) ? "'" . $args['default'] . "'" : "''";
2694
+									} elseif ($args['type'] == 'multiselect') {
2695 2695
 										$type    = 'array';
2696
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2697
-									} elseif ( $args['type'] == 'image_xy' ) {
2696
+										$default = isset($args['default']) ? "'" . $args['default'] . "'" : "''";
2697
+									} elseif ($args['type'] == 'image_xy') {
2698 2698
 										$type    = 'object';
2699
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2700
-									} elseif ( $args['type'] == 'image' ) {
2699
+										$default = isset($args['default']) ? "'" . $args['default'] . "'" : "''";
2700
+									} elseif ($args['type'] == 'image') {
2701 2701
 										$type    = 'string';
2702
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2702
+										$default = isset($args['default']) ? "'" . $args['default'] . "'" : "''";
2703 2703
 
2704 2704
 										// add a field for ID
2705 2705
 	//                                    echo $key . "_id : {";
@@ -2711,7 +2711,7 @@  discard block
 block discarded – undo
2711 2711
 
2712 2712
 									} else {
2713 2713
 										$type    = !empty($args['hidden_type']) ? esc_attr($args['hidden_type']) : 'string';
2714
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2714
+										$default = isset($args['default']) ? "'" . $args['default'] . "'" : "''";
2715 2715
 
2716 2716
 									}
2717 2717
 									echo $key . " : {";
@@ -2724,7 +2724,7 @@  discard block
 block discarded – undo
2724 2724
 							echo "content : {type : 'string',default: 'Please select the attributes in the block settings'},";
2725 2725
 							echo "sd_shortcode : {type : 'string',default: ''},";
2726 2726
 
2727
-							if(!empty($this->options['nested-block']) || !empty($this->arguments['html']) ){
2727
+							if (!empty($this->options['nested-block']) || !empty($this->arguments['html'])) {
2728 2728
 								echo "sd_shortcode_close : {type : 'string',default: ''},";
2729 2729
 							}
2730 2730
 
@@ -2743,7 +2743,7 @@  discard block
 block discarded – undo
2743 2743
 
2744 2744
 <?php
2745 2745
 // only include the drag/drop functions if required.
2746
-if( $img_drag_drop ){
2746
+if ($img_drag_drop) {
2747 2747
 
2748 2748
 ?>
2749 2749
 
@@ -2809,9 +2809,9 @@  discard block
 block discarded – undo
2809 2809
 							}
2810 2810
 
2811 2811
 							<?php
2812
-							if(!empty($this->options['block-edit-raw'])) {
2812
+							if (!empty($this->options['block-edit-raw'])) {
2813 2813
 								echo $this->options['block-edit-raw']; // strings have to be in single quotes, may cause issues
2814
-							}else{
2814
+							} else {
2815 2815
 							?>
2816 2816
 
2817 2817
 function hasSelectedInnerBlock(props) {
@@ -2835,7 +2835,7 @@  discard block
 block discarded – undo
2835 2835
 	var $value = '';
2836 2836
 	<?php
2837 2837
 	// if we have a post_type and a category then link them
2838
-	if( isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked']) ){
2838
+	if (isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked'])) {
2839 2839
 	?>
2840 2840
 	if(typeof(prev_attributes[props.clientId]) != 'undefined' && selectedBlock && selectedBlock.clientId === props.clientId){
2841 2841
 		$pt = props.attributes.post_type;
@@ -2850,9 +2850,9 @@  discard block
 block discarded – undo
2850 2850
 		}
2851 2851
 <?php
2852 2852
 	$cat_path = '';
2853
-	if ( ! empty( $this->arguments['post_type']['onchange_rest']['path'] ) ) {
2854
-		$cat_path = esc_js( strip_tags( $this->arguments['post_type']['onchange_rest']['path'] ) );
2855
-		$cat_path = str_replace( array( '&quot;', '&#039;' ), array( '"', "'" ), $cat_path );
2853
+	if (!empty($this->arguments['post_type']['onchange_rest']['path'])) {
2854
+		$cat_path = esc_js(strip_tags($this->arguments['post_type']['onchange_rest']['path']));
2855
+		$cat_path = str_replace(array('&quot;', '&#039;'), array('"', "'"), $cat_path);
2856 2856
 	}
2857 2857
 ?>
2858 2858
 		/* taxonomies */
@@ -2860,15 +2860,15 @@  discard block
 block discarded – undo
2860 2860
 			if (!window.gdCPTCats) {
2861 2861
 				window.gdCPTCats = [];
2862 2862
 			}
2863
-			var gdCatPath = "<?php echo ( ! empty( $cat_path ) ? $cat_path : "/wp/v2/" + $value + "/categories/?per_page=100" ); ?>";
2863
+			var gdCatPath = "<?php echo (!empty($cat_path) ? $cat_path : "/wp/v2/" +$value + "/categories/?per_page=100"); ?>";
2864 2864
 			if (window.gdCPTCats[gdCatPath]) {
2865 2865
 				terms = window.gdCPTCats[gdCatPath];
2866
-				while (taxonomies_<?php echo str_replace("-","_", $this->id);?>.length) {
2867
-					taxonomies_<?php echo str_replace("-","_", $this->id);?>.pop();
2866
+				while (taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.length) {
2867
+					taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.pop();
2868 2868
 				}
2869
-				taxonomies_<?php echo str_replace("-","_", $this->id);?>.push({label: "All", value: 0});
2869
+				taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.push({label: "All", value: 0});
2870 2870
 				jQuery.each( terms, function( key, val ) {
2871
-					taxonomies_<?php echo str_replace("-","_", $this->id);?>.push({label: val.name, value: val.id});
2871
+					taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.push({label: val.name, value: val.id});
2872 2872
 				});
2873 2873
 
2874 2874
 				/* Setting the value back and fourth fixes the no update issue that sometimes happens where it won't update the options. */
@@ -2878,12 +2878,12 @@  discard block
 block discarded – undo
2878 2878
 			} else {
2879 2879
 				wp.apiFetch({path: gdCatPath}).then(terms => {
2880 2880
 					window.gdCPTCats[gdCatPath] = terms;
2881
-					while (taxonomies_<?php echo str_replace("-","_", $this->id);?>.length) {
2882
-						taxonomies_<?php echo str_replace("-","_", $this->id);?>.pop();
2881
+					while (taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.length) {
2882
+						taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.pop();
2883 2883
 					}
2884
-					taxonomies_<?php echo str_replace("-","_", $this->id);?>.push({label: "All", value: 0});
2884
+					taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.push({label: "All", value: 0});
2885 2885
 					jQuery.each( terms, function( key, val ) {
2886
-						taxonomies_<?php echo str_replace("-","_", $this->id);?>.push({label: val.name, value: val.id});
2886
+						taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.push({label: val.name, value: val.id});
2887 2887
 					});
2888 2888
 
2889 2889
 					/* Setting the value back and fourth fixes the no update issue that sometimes happens where it won't update the options. */
@@ -2891,7 +2891,7 @@  discard block
 block discarded – undo
2891 2891
 					props.setAttributes({category: [0] });
2892 2892
 					props.setAttributes({category: $old_cat_value });
2893 2893
 
2894
-					return taxonomies_<?php echo str_replace("-","_", $this->id);?>;
2894
+					return taxonomies_<?php echo str_replace("-", "_", $this->id); ?>;
2895 2895
 				});
2896 2896
 			}
2897 2897
 		}
@@ -2903,12 +2903,12 @@  discard block
 block discarded – undo
2903 2903
 			}
2904 2904
 			if (window.gdCPTSort[$pt]) {
2905 2905
 				response = window.gdCPTSort[$pt];
2906
-				while (sort_by_<?php echo str_replace("-","_", $this->id);?>.length) {
2907
-					sort_by_<?php echo str_replace("-","_", $this->id);?>.pop();
2906
+				while (sort_by_<?php echo str_replace("-", "_", $this->id); ?>.length) {
2907
+					sort_by_<?php echo str_replace("-", "_", $this->id); ?>.pop();
2908 2908
 				}
2909 2909
 
2910 2910
 				jQuery.each( response, function( key, val ) {
2911
-					sort_by_<?php echo str_replace("-","_", $this->id);?>.push({label: val, value: key});
2911
+					sort_by_<?php echo str_replace("-", "_", $this->id); ?>.push({label: val, value: key});
2912 2912
 				});
2913 2913
 
2914 2914
 				// setting the value back and fourth fixes the no update issue that sometimes happens where it won't update the options.
@@ -2923,12 +2923,12 @@  discard block
 block discarded – undo
2923 2923
 				jQuery.post(ajaxurl, data, function(response) {
2924 2924
 					response = JSON.parse(response);
2925 2925
 					window.gdCPTSort[$pt] = response;
2926
-					while (sort_by_<?php echo str_replace("-","_", $this->id);?>.length) {
2927
-						sort_by_<?php echo str_replace("-","_", $this->id);?>.pop();
2926
+					while (sort_by_<?php echo str_replace("-", "_", $this->id); ?>.length) {
2927
+						sort_by_<?php echo str_replace("-", "_", $this->id); ?>.pop();
2928 2928
 					}
2929 2929
 
2930 2930
 					jQuery.each( response, function( key, val ) {
2931
-						sort_by_<?php echo str_replace("-","_", $this->id);?>.push({label: val, value: key});
2931
+						sort_by_<?php echo str_replace("-", "_", $this->id); ?>.push({label: val, value: key});
2932 2932
 					});
2933 2933
 
2934 2934
 					// setting the value back and fourth fixes the no update issue that sometimes happens where it won't update the options.
@@ -2936,7 +2936,7 @@  discard block
 block discarded – undo
2936 2936
 					props.setAttributes({sort_by: [0] });
2937 2937
 					props.setAttributes({sort_by: $old_sort_by_value });
2938 2938
 
2939
-					return sort_by_<?php echo str_replace("-","_", $this->id);?>;
2939
+					return sort_by_<?php echo str_replace("-", "_", $this->id); ?>;
2940 2940
 				});
2941 2941
 			}
2942 2942
 		}
@@ -2944,9 +2944,9 @@  discard block
 block discarded – undo
2944 2944
 	<?php } ?>
2945 2945
 <?php
2946 2946
 $current_screen = function_exists('get_current_screen') ? get_current_screen() : '';
2947
-if(!empty($current_screen->base) && $current_screen->base==='widgets'){
2947
+if (!empty($current_screen->base) && $current_screen->base === 'widgets') {
2948 2948
 	echo 'const { deviceType } = "";';
2949
-}else{
2949
+} else {
2950 2950
 ?>
2951 2951
 /** Get device type const. */
2952 2952
 const wpVersion = '<?php global $wp_version; echo esc_attr($wp_version); ?>';
@@ -3005,13 +3005,13 @@  discard block
 block discarded – undo
3005 3005
 
3006 3006
 									var data = {
3007 3007
 										'action': 'super_duper_output_shortcode',
3008
-										'shortcode': '<?php echo $this->options['base_id'];?>',
3008
+										'shortcode': '<?php echo $this->options['base_id']; ?>',
3009 3009
 										'attributes': props.attributes,
3010 3010
 										'block_parent_name': parentBlocks.length ? parentBlocks[parentBlocks.length - 1].name : '',
3011
-										'post_id': <?php global $post; if ( isset( $post->ID ) ) {
3011
+										'post_id': <?php global $post; if (isset($post->ID)) {
3012 3012
 										echo $post->ID;
3013
-									}else{echo '0';}?>,
3014
-										'_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_output_shortcode' );?>'
3013
+									} else {echo '0'; }?>,
3014
+										'_ajax_nonce': '<?php echo wp_create_nonce('super_duper_output_shortcode'); ?>'
3015 3015
 									};
3016 3016
 
3017 3017
 									jQuery.post(ajaxurl, data, function (response) {
@@ -3020,17 +3020,17 @@  discard block
 block discarded – undo
3020 3020
 
3021 3021
 										// if the content is empty then we place some placeholder text
3022 3022
 										if (env == '') {
3023
-											env = "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" + "<?php _e( 'Placeholder for:', 'ayecode-connect' );?> " + props.name + "</div>";
3023
+											env = "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" + "<?php _e('Placeholder for:', 'ayecode-connect'); ?> " + props.name + "</div>";
3024 3024
 										}
3025 3025
 
3026 3026
 										 <?php
3027
-										if(!empty($this->options['nested-block'])){
3027
+										if (!empty($this->options['nested-block'])) {
3028 3028
 											?>
3029 3029
 											// props.setAttributes({content: env});
3030 3030
 										is_fetching = false;
3031 3031
 										prev_attributes[props.clientId] = props.attributes;
3032 3032
 											 <?php
3033
-										}else{
3033
+										} else {
3034 3034
 										?>
3035 3035
 										props.setAttributes({content: env});
3036 3036
 										is_fetching = false;
@@ -3056,38 +3056,38 @@  discard block
 block discarded – undo
3056 3056
 							}
3057 3057
 
3058 3058
 							<?php
3059
-							if(!empty($this->options['block-edit-js'])) {
3060
-								echo  $this->options['block-edit-js'] ; // strings have to be in single quotes, may cause issues
3059
+							if (!empty($this->options['block-edit-js'])) {
3060
+								echo  $this->options['block-edit-js']; // strings have to be in single quotes, may cause issues
3061 3061
 							}
3062 3062
 
3063 3063
 
3064 3064
 
3065 3065
 
3066
-							if(empty($this->options['block-save-return'])){
3066
+							if (empty($this->options['block-save-return'])) {
3067 3067
 							?>
3068 3068
 								///////////////////////////////////////////////////////////////////////
3069 3069
 
3070 3070
 									 // build the shortcode.
3071
-								shortcode = "[<?php echo $this->options['base_id'];?>";
3071
+								shortcode = "[<?php echo $this->options['base_id']; ?>";
3072 3072
 								<?php
3073 3073
 
3074
-								if(! empty( $this->arguments )){
3074
+								if (!empty($this->arguments)) {
3075 3075
 
3076
-								foreach($this->arguments as $key => $args){
3076
+								foreach ($this->arguments as $key => $args) {
3077 3077
 								   // if($args['type']=='tabs'){continue;}
3078 3078
 
3079 3079
 								   // don't add metadata arguments
3080
-								   if (substr($key, 0, 9 ) === 'metadata_') {
3080
+								   if (substr($key, 0, 9) === 'metadata_') {
3081 3081
 									   continue;
3082 3082
 								   }
3083 3083
 								?>
3084
-								if (props.attributes.hasOwnProperty("<?php echo esc_attr( $key );?>")) {
3085
-									if ('<?php echo esc_attr( $key );?>' == 'html') {
3086
-									} else if ('<?php echo esc_attr( $args['type'] );?>' == 'image_xy') {
3087
-										shortcode += props.attributes.<?php echo esc_attr( $key );?>.length && ( props.attributes.<?php echo esc_attr( $key );?>.x.length || props.attributes.<?php echo esc_attr( $key );?>.y.length ) ? " <?php echo esc_attr( $key );?>='{x:" + props.attributes.<?php echo esc_attr( $key );?>.x + ",y:"+props.attributes.<?php echo esc_attr( $key );?>.y +"}' " : "";
3084
+								if (props.attributes.hasOwnProperty("<?php echo esc_attr($key); ?>")) {
3085
+									if ('<?php echo esc_attr($key); ?>' == 'html') {
3086
+									} else if ('<?php echo esc_attr($args['type']); ?>' == 'image_xy') {
3087
+										shortcode += props.attributes.<?php echo esc_attr($key); ?>.length && ( props.attributes.<?php echo esc_attr($key); ?>.x.length || props.attributes.<?php echo esc_attr($key); ?>.y.length ) ? " <?php echo esc_attr($key); ?>='{x:" + props.attributes.<?php echo esc_attr($key); ?>.x + ",y:"+props.attributes.<?php echo esc_attr($key); ?>.y +"}' " : "";
3088 3088
 									} else {
3089
-										//shortcode += props.attributes.<?php echo esc_attr( $key );?>.length ? " <?php echo esc_attr( $key );?>='" + props.attributes.<?php echo esc_attr( $key );?>.toString().replace('\'','&#39;') + "' " : "";
3090
-										shortcode +=  " <?php echo esc_attr( $key );?>='" + props.attributes.<?php echo esc_attr( $key );?>.toString().replace('\'','&#39;') + "' ";
3089
+										//shortcode += props.attributes.<?php echo esc_attr($key); ?>.length ? " <?php echo esc_attr($key); ?>='" + props.attributes.<?php echo esc_attr($key); ?>.toString().replace('\'','&#39;') + "' " : "";
3090
+										shortcode +=  " <?php echo esc_attr($key); ?>='" + props.attributes.<?php echo esc_attr($key); ?>.toString().replace('\'','&#39;') + "' ";
3091 3091
 									}
3092 3092
 								}
3093 3093
 								<?php
@@ -3106,8 +3106,8 @@  discard block
 block discarded – undo
3106 3106
 
3107 3107
 
3108 3108
 									<?php
3109
-									if(!empty($this->options['nested-block']) || !empty($this->arguments['html']) ){
3110
-										echo "props.setAttributes({sd_shortcode_close: '[/".esc_attr( $this->options['base_id'] )."]'});";
3109
+									if (!empty($this->options['nested-block']) || !empty($this->arguments['html'])) {
3110
+										echo "props.setAttributes({sd_shortcode_close: '[/" . esc_attr($this->options['base_id']) . "]'});";
3111 3111
 									}
3112 3112
 									?>
3113 3113
 								}
@@ -3122,7 +3122,7 @@  discard block
 block discarded – undo
3122 3122
 
3123 3123
 								el(wp.blockEditor.BlockControls, {key: 'controls'},
3124 3124
 
3125
-									<?php if($show_alignment){?>
3125
+									<?php if ($show_alignment) {?>
3126 3126
 									el(
3127 3127
 										wp.blockEditor.AlignmentToolbar,
3128 3128
 										{
@@ -3140,9 +3140,9 @@  discard block
 block discarded – undo
3140 3140
 
3141 3141
 									<?php
3142 3142
 
3143
-									if(! empty( $this->arguments )){
3143
+									if (!empty($this->arguments)) {
3144 3144
 
3145
-									if ( $show_advanced ) {
3145
+									if ($show_advanced) {
3146 3146
 									?>
3147 3147
 									el('div', {
3148 3148
 											style: {'padding-left': '16px','padding-right': '16px'}
@@ -3162,42 +3162,42 @@  discard block
 block discarded – undo
3162 3162
 									<?php
3163 3163
 									}
3164 3164
 
3165
-									$arguments = $this->group_arguments( $this->arguments );
3166
-									$block_group_tabs = ! empty( $this->options['block_group_tabs'] ) ? $this->group_block_tabs( $this->options['block_group_tabs'], $arguments ) : array();
3165
+									$arguments = $this->group_arguments($this->arguments);
3166
+									$block_group_tabs = !empty($this->options['block_group_tabs']) ? $this->group_block_tabs($this->options['block_group_tabs'], $arguments) : array();
3167 3167
 
3168 3168
 									// Do we have sections?
3169 3169
 									$has_sections = $arguments == $this->arguments ? false : true;
3170 3170
 
3171
-									if($has_sections){
3171
+									if ($has_sections) {
3172 3172
 									$panel_count = 0;
3173 3173
 									$open_tab = '';
3174 3174
 
3175 3175
 									$open_tab_groups = array();
3176 3176
 									$used_tabs = array();
3177 3177
 
3178
-									foreach ( $arguments as $key => $args ) {
3178
+									foreach ($arguments as $key => $args) {
3179 3179
 										$close_tab = false;
3180 3180
 										$close_tabs = false;
3181 3181
 
3182
-										 if ( ! empty( $block_group_tabs ) ) {
3183
-											foreach ( $block_group_tabs as $tab_name => $tab_args ) {
3184
-												if ( in_array( $key, $tab_args['groups'] ) ) {
3182
+										 if (!empty($block_group_tabs)) {
3183
+											foreach ($block_group_tabs as $tab_name => $tab_args) {
3184
+												if (in_array($key, $tab_args['groups'])) {
3185 3185
 													$open_tab_groups[] = $key;
3186 3186
 
3187
-													if ( $open_tab != $tab_name ) {
3187
+													if ($open_tab != $tab_name) {
3188 3188
 														$tab_args['tab']['tabs_open'] = $open_tab == '' ? true : false;
3189 3189
 														$tab_args['tab']['open'] = true;
3190 3190
 
3191
-														$this->block_tab_start( '', $tab_args );
3191
+														$this->block_tab_start('', $tab_args);
3192 3192
 														$open_tab = $tab_name;
3193 3193
 														$used_tabs[] = $tab_name;
3194 3194
 													}
3195 3195
 
3196
-													if ( $open_tab_groups == $tab_args['groups'] ) {
3196
+													if ($open_tab_groups == $tab_args['groups']) {
3197 3197
 														$close_tab = true;
3198 3198
 														$open_tab_groups = array();
3199 3199
 
3200
-														if ( $used_tabs == array_keys( $block_group_tabs ) ) {
3200
+														if ($used_tabs == array_keys($block_group_tabs)) {
3201 3201
 															$close_tabs = true;
3202 3202
 														}
3203 3203
 													}
@@ -3206,27 +3206,27 @@  discard block
 block discarded – undo
3206 3206
 										}
3207 3207
 										?>
3208 3208
 										el(wp.components.PanelBody, {
3209
-												title: '<?php esc_attr_e( $key ); ?>',
3210
-												initialOpen: <?php if ( $panel_count ) {
3209
+												title: '<?php esc_attr_e($key); ?>',
3210
+												initialOpen: <?php if ($panel_count) {
3211 3211
 												echo "false";
3212 3212
 											} else {
3213 3213
 												echo "true";
3214 3214
 											}?>
3215 3215
 											},
3216 3216
 											<?php
3217
-											foreach ( $args as $k => $a ) {
3218
-												$this->block_tab_start( $k, $a );
3219
-												$this->block_row_start( $k, $a );
3220
-												$this->build_block_arguments( $k, $a );
3221
-												$this->block_row_end( $k, $a );
3222
-												$this->block_tab_end( $k, $a );
3217
+											foreach ($args as $k => $a) {
3218
+												$this->block_tab_start($k, $a);
3219
+												$this->block_row_start($k, $a);
3220
+												$this->build_block_arguments($k, $a);
3221
+												$this->block_row_end($k, $a);
3222
+												$this->block_tab_end($k, $a);
3223 3223
 											}
3224 3224
 											?>
3225 3225
 										),
3226 3226
 										<?php
3227
-										$panel_count ++;
3227
+										$panel_count++;
3228 3228
 
3229
-										if($close_tab || $close_tabs){
3229
+										if ($close_tab || $close_tabs) {
3230 3230
 											$tab_args = array(
3231 3231
 												'tab'	=> array(
3232 3232
 													'tabs_close' => $close_tabs,
@@ -3234,24 +3234,24 @@  discard block
 block discarded – undo
3234 3234
 												)
3235 3235
 
3236 3236
 											);
3237
-											$this->block_tab_end( '', $tab_args );
3237
+											$this->block_tab_end('', $tab_args);
3238 3238
 //											echo '###close'; print_r($tab_args);
3239 3239
 											$panel_count = 0;
3240 3240
 										}
3241 3241
 //
3242 3242
 
3243 3243
 									}
3244
-									}else {
3244
+									} else {
3245 3245
 									?>
3246 3246
 									el(wp.components.PanelBody, {
3247
-											title: '<?php esc_attr_e( "Settings", 'ayecode-connect' ); ?>',
3247
+											title: '<?php esc_attr_e("Settings", 'ayecode-connect'); ?>',
3248 3248
 											initialOpen: true
3249 3249
 										},
3250 3250
 										<?php
3251
-										foreach ( $this->arguments as $key => $args ) {
3252
-											$this->block_row_start( $key, $args );
3253
-											$this->build_block_arguments( $key, $args );
3254
-											$this->block_row_end( $key, $args );
3251
+										foreach ($this->arguments as $key => $args) {
3252
+											$this->block_row_start($key, $args);
3253
+											$this->build_block_arguments($key, $args);
3254
+											$this->block_row_end($key, $args);
3255 3255
 										}
3256 3256
 										?>
3257 3257
 									),
@@ -3265,11 +3265,11 @@  discard block
 block discarded – undo
3265 3265
 
3266 3266
 								<?php
3267 3267
 								// If the user sets block-output array then build it
3268
-								if ( ! empty( $this->options['block-output'] ) ) {
3269
-								$this->block_element( $this->options['block-output'] );
3270
-							}elseif(!empty($this->options['block-edit-return'])){
3268
+								if (!empty($this->options['block-output'])) {
3269
+								$this->block_element($this->options['block-output']);
3270
+							}elseif (!empty($this->options['block-edit-return'])) {
3271 3271
 								   echo $this->options['block-edit-return'];
3272
-							}else{
3272
+							} else {
3273 3273
 								// if no block-output is set then we try and get the shortcode html output via ajax.
3274 3274
 								$block_edit_wrap_tag = !empty($this->options['block_edit_wrap_tag']) ? esc_attr($this->options['block_edit_wrap_tag']) : 'div';
3275 3275
 								?>
@@ -3296,27 +3296,27 @@  discard block
 block discarded – undo
3296 3296
 							var align = '';
3297 3297
 
3298 3298
 							// build the shortcode.
3299
-							var content = "[<?php echo $this->options['base_id'];?>";
3299
+							var content = "[<?php echo $this->options['base_id']; ?>";
3300 3300
 							$html = '';
3301 3301
 							<?php
3302 3302
 
3303
-							if(! empty( $this->arguments )){
3303
+							if (!empty($this->arguments)) {
3304 3304
 
3305
-							foreach($this->arguments as $key => $args){
3305
+							foreach ($this->arguments as $key => $args) {
3306 3306
 							   // if($args['type']=='tabs'){continue;}
3307 3307
 
3308 3308
 							   // don't add metadata arguments
3309
-							   if (substr($key, 0, 9 ) === 'metadata_') {
3309
+							   if (substr($key, 0, 9) === 'metadata_') {
3310 3310
 								   continue;
3311 3311
 							   }
3312 3312
 							?>
3313
-							if (attr.hasOwnProperty("<?php echo esc_attr( $key );?>")) {
3314
-								if ('<?php echo esc_attr( $key );?>' == 'html') {
3315
-									$html = attr.<?php echo esc_attr( $key );?>;
3316
-								} else if ('<?php echo esc_attr( $args['type'] );?>' == 'image_xy') {
3317
-									content += " <?php echo esc_attr( $key );?>='{x:" + attr.<?php echo esc_attr( $key );?>.x + ",y:"+attr.<?php echo esc_attr( $key );?>.y +"}' ";
3313
+							if (attr.hasOwnProperty("<?php echo esc_attr($key); ?>")) {
3314
+								if ('<?php echo esc_attr($key); ?>' == 'html') {
3315
+									$html = attr.<?php echo esc_attr($key); ?>;
3316
+								} else if ('<?php echo esc_attr($args['type']); ?>' == 'image_xy') {
3317
+									content += " <?php echo esc_attr($key); ?>='{x:" + attr.<?php echo esc_attr($key); ?>.x + ",y:"+attr.<?php echo esc_attr($key); ?>.y +"}' ";
3318 3318
 								} else {
3319
-									content += " <?php echo esc_attr( $key );?>='" + attr.<?php echo esc_attr( $key );?>.toString().replace('\'','&#39;') + "' ";
3319
+									content += " <?php echo esc_attr($key); ?>='" + attr.<?php echo esc_attr($key); ?>.toString().replace('\'','&#39;') + "' ";
3320 3320
 								}
3321 3321
 							}
3322 3322
 							<?php
@@ -3336,7 +3336,7 @@  discard block
 block discarded – undo
3336 3336
 							?>
3337 3337
 							// if has html element
3338 3338
 							if ($html) {
3339
-								//content += $html + "[/<?php echo $this->options['base_id'];?>]";
3339
+								//content += $html + "[/<?php echo $this->options['base_id']; ?>]";
3340 3340
 							}
3341 3341
 
3342 3342
 							// @todo should we add inline style here or just css classes?
@@ -3366,7 +3366,7 @@  discard block
 block discarded – undo
3366 3366
 //                                <x?php
3367 3367
 //							}else
3368 3368
 
3369
-							if(!empty($this->options['block-output'])){
3369
+							if (!empty($this->options['block-output'])) {
3370 3370
 //                               echo "return";
3371 3371
 //                               $this->block_element( $this->options['block-output'], true );
3372 3372
 //                               echo ";";
@@ -3376,30 +3376,30 @@  discard block
 block discarded – undo
3376 3376
 								   '',
3377 3377
 								   {},
3378 3378
 								  // el('', {dangerouslySetInnerHTML: {__html: content}}),
3379
-								   <?php $this->block_element( $this->options['block-output'], true ); ?>
3380
-								  // el('', {dangerouslySetInnerHTML: {__html: "[/<?php echo $this->options['base_id'];?>]"}})
3379
+								   <?php $this->block_element($this->options['block-output'], true); ?>
3380
+								  // el('', {dangerouslySetInnerHTML: {__html: "[/<?php echo $this->options['base_id']; ?>]"}})
3381 3381
 							   );
3382 3382
 								<?php
3383 3383
 
3384
-							}elseif(!empty($this->options['block-save-return'])){
3384
+							}elseif (!empty($this->options['block-save-return'])) {
3385 3385
 								   echo 'return ' . $this->options['block-save-return'];
3386
-							}elseif(!empty($this->options['nested-block'])){
3386
+							}elseif (!empty($this->options['nested-block'])) {
3387 3387
 								?>
3388 3388
 							  return el(
3389 3389
 								   '',
3390 3390
 								   {},
3391 3391
 								   el('', {dangerouslySetInnerHTML: {__html: content+"\n"}}),
3392 3392
 								   InnerBlocks.Content ? el( InnerBlocks.Content ) : '', // @todo i think we need a comma here
3393
-								 //  el('', {dangerouslySetInnerHTML: {__html: "[/<?php echo $this->options['base_id'];?>]"}})
3393
+								 //  el('', {dangerouslySetInnerHTML: {__html: "[/<?php echo $this->options['base_id']; ?>]"}})
3394 3394
 							   );
3395 3395
 								<?php
3396
-							}elseif(!empty( $this->options['block-save-return'] ) ){
3397
-								echo "return ". $this->options['block-edit-return'].";";
3398
-							}elseif(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){
3396
+							}elseif (!empty($this->options['block-save-return'])) {
3397
+								echo "return " . $this->options['block-edit-return'] . ";";
3398
+							}elseif (isset($this->options['block-wrap']) && $this->options['block-wrap'] == '') {
3399 3399
 							?>
3400 3400
 							return content;
3401 3401
 							<?php
3402
-							}else{
3402
+							} else {
3403 3403
 							?>
3404 3404
 							var block_wrap = 'div';
3405 3405
 							if (attr.hasOwnProperty("block_wrap")) {
@@ -3428,48 +3428,48 @@  discard block
 block discarded – undo
3428 3428
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
3429 3429
 			 */
3430 3430
 
3431
-			return str_replace( array(
3431
+			return str_replace(array(
3432 3432
 				'<script>',
3433 3433
 				'</script>'
3434
-			), '', $output );
3434
+			), '', $output);
3435 3435
 		}
3436 3436
 
3437 3437
 
3438 3438
 
3439
-		public function block_row_start($key, $args){
3439
+		public function block_row_start($key, $args) {
3440 3440
 
3441 3441
 			// check for row
3442
-			if(!empty($args['row'])){
3442
+			if (!empty($args['row'])) {
3443 3443
 
3444
-				if(!empty($args['row']['open'])){
3444
+				if (!empty($args['row']['open'])) {
3445 3445
 
3446 3446
 				// element require
3447
-				$element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
3448
-				$device_type = ! empty( $args['device_type'] ) ? esc_attr($args['device_type']) : '';
3449
-				$device_type_require = ! empty( $args['device_type'] ) ? " deviceType == '" . esc_attr($device_type) . "' && " : '';
3447
+				$element_require = !empty($args['element_require']) ? $this->block_props_replace($args['element_require'], true) . " && " : "";
3448
+				$device_type = !empty($args['device_type']) ? esc_attr($args['device_type']) : '';
3449
+				$device_type_require = !empty($args['device_type']) ? " deviceType == '" . esc_attr($device_type) . "' && " : '';
3450 3450
 				$device_type_icon = '';
3451
-				if($device_type=='Desktop'){
3451
+				if ($device_type == 'Desktop') {
3452 3452
 					$device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3453
-				}elseif($device_type=='Tablet'){
3453
+				}elseif ($device_type == 'Tablet') {
3454 3454
 					$device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3455
-				}elseif($device_type=='Mobile'){
3455
+				}elseif ($device_type == 'Mobile') {
3456 3456
 					$device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3457 3457
 				}
3458 3458
 				echo $element_require;
3459 3459
 				echo $device_type_require;
3460 3460
 
3461
-					if(false){?><script><?php }?>
3461
+					if (false) {?><script><?php }?>
3462 3462
 						el('div', {
3463 3463
 								className: 'bsui components-base-control',
3464 3464
 							},
3465
-							<?php if(!empty($args['row']['title'])){ ?>
3465
+							<?php if (!empty($args['row']['title'])) { ?>
3466 3466
 							el('label', {
3467 3467
 									className: 'components-base-control__label position-relative',
3468 3468
 									style: {width:"100%"}
3469 3469
 								},
3470
-								el('span',{dangerouslySetInnerHTML: {__html: '<?php echo addslashes( $args['row']['title'] ) ?>'}}),
3471
-								<?php if($device_type_icon){ ?>
3472
-									deviceType == '<?php echo $device_type;?>' && el('span',{dangerouslySetInnerHTML: {__html: '<?php echo $device_type_icon; ?>'},title: deviceType + ": Set preview mode to change",style: {right:"0",position:"absolute",color:"var(--wp-admin-theme-color)"}})
3470
+								el('span',{dangerouslySetInnerHTML: {__html: '<?php echo addslashes($args['row']['title']) ?>'}}),
3471
+								<?php if ($device_type_icon) { ?>
3472
+									deviceType == '<?php echo $device_type; ?>' && el('span',{dangerouslySetInnerHTML: {__html: '<?php echo $device_type_icon; ?>'},title: deviceType + ": Set preview mode to change",style: {right:"0",position:"absolute",color:"var(--wp-admin-theme-color)"}})
3473 3473
 								<?php
3474 3474
 								}
3475 3475
 								?>
@@ -3477,17 +3477,17 @@  discard block
 block discarded – undo
3477 3477
 
3478 3478
 							),
3479 3479
 							<?php }?>
3480
-							<?php if(!empty($args['row']['desc'])){ ?>
3480
+							<?php if (!empty($args['row']['desc'])) { ?>
3481 3481
 							el('p', {
3482 3482
 									className: 'components-base-control__help mb-0',
3483 3483
 								},
3484
-								'<?php echo addslashes( $args['row']['desc'] ); ?>'
3484
+								'<?php echo addslashes($args['row']['desc']); ?>'
3485 3485
 							),
3486 3486
 							<?php }?>
3487 3487
 							el(
3488 3488
 								'div',
3489 3489
 								{
3490
-									className: 'row mb-n2 <?php if(!empty($args['row']['class'])){ echo esc_attr($args['row']['class']);} ?>',
3490
+									className: 'row mb-n2 <?php if (!empty($args['row']['class'])) { echo esc_attr($args['row']['class']); } ?>',
3491 3491
 								},
3492 3492
 								el(
3493 3493
 									'div',
@@ -3496,36 +3496,36 @@  discard block
 block discarded – undo
3496 3496
 									},
3497 3497
 
3498 3498
 					<?php
3499
-					if(false){?></script><?php }
3500
-				}elseif(!empty($args['row']['close'])){
3501
-					if(false){?><script><?php }?>
3499
+					if (false) {?></script><?php }
3500
+				}elseif (!empty($args['row']['close'])) {
3501
+					if (false) {?><script><?php }?>
3502 3502
 						el(
3503 3503
 							'div',
3504 3504
 							{
3505 3505
 								className: 'col pl-0 ps-0',
3506 3506
 							},
3507 3507
 					<?php
3508
-					if(false){?></script><?php }
3509
-				}else{
3510
-					if(false){?><script><?php }?>
3508
+					if (false) {?></script><?php }
3509
+				} else {
3510
+					if (false) {?><script><?php }?>
3511 3511
 						el(
3512 3512
 							'div',
3513 3513
 							{
3514 3514
 								className: 'col pl-0 ps-0 pr-2 pe-2',
3515 3515
 							},
3516 3516
 					<?php
3517
-					if(false){?></script><?php }
3517
+					if (false) {?></script><?php }
3518 3518
 				}
3519 3519
 
3520 3520
 			}
3521 3521
 
3522 3522
 		}
3523 3523
 
3524
-		public function block_row_end($key, $args){
3524
+		public function block_row_end($key, $args) {
3525 3525
 
3526
-			if(!empty($args['row'])){
3526
+			if (!empty($args['row'])) {
3527 3527
 				// maybe close
3528
-				if(!empty($args['row']['close'])){
3528
+				if (!empty($args['row']['close'])) {
3529 3529
 					echo "))";
3530 3530
 				}
3531 3531
 
@@ -3533,14 +3533,14 @@  discard block
 block discarded – undo
3533 3533
 			}
3534 3534
 		}
3535 3535
 
3536
-		public function block_tab_start($key, $args){
3536
+		public function block_tab_start($key, $args) {
3537 3537
 
3538 3538
 			// check for row
3539
-			if(!empty($args['tab'])){
3539
+			if (!empty($args['tab'])) {
3540 3540
 
3541
-				if(!empty($args['tab']['tabs_open'])){
3541
+				if (!empty($args['tab']['tabs_open'])) {
3542 3542
 
3543
-					if(false){?><script><?php }?>
3543
+					if (false) {?><script><?php }?>
3544 3544
 
3545 3545
 el('div',{className: 'bsui'},
3546 3546
 
@@ -3549,52 +3549,52 @@  discard block
 block discarded – undo
3549 3549
 									{
3550 3550
 										activeClass: 'is-active',
3551 3551
 										className: 'btn-groupx',
3552
-										initialTabName: '<?php echo addslashes( esc_attr( $args['tab']['key']) ); ?>',
3552
+										initialTabName: '<?php echo addslashes(esc_attr($args['tab']['key'])); ?>',
3553 3553
 										tabs: [
3554 3554
 
3555 3555
 					<?php
3556
-					if(false){?></script><?php }
3556
+					if (false) {?></script><?php }
3557 3557
 				}
3558 3558
 
3559
-				if(!empty($args['tab']['open'])){
3559
+				if (!empty($args['tab']['open'])) {
3560 3560
 
3561
-					if(false){?><script><?php }?>
3561
+					if (false) {?><script><?php }?>
3562 3562
 							{
3563
-												name: '<?php echo addslashes( esc_attr( $args['tab']['key']) ); ?>',
3564
-												title: el('div', {dangerouslySetInnerHTML: {__html: '<?php echo addslashes( esc_attr( $args['tab']['title']) ); ?>'}}),
3565
-												className: '<?php echo addslashes( esc_attr( $args['tab']['class']) ); ?>',
3566
-												content: el('div',{}, <?php if(!empty($args['tab']['desc'])){ ?>el('p', {
3563
+												name: '<?php echo addslashes(esc_attr($args['tab']['key'])); ?>',
3564
+												title: el('div', {dangerouslySetInnerHTML: {__html: '<?php echo addslashes(esc_attr($args['tab']['title'])); ?>'}}),
3565
+												className: '<?php echo addslashes(esc_attr($args['tab']['class'])); ?>',
3566
+												content: el('div',{}, <?php if (!empty($args['tab']['desc'])) { ?>el('p', {
3567 3567
 									className: 'components-base-control__help mb-0',
3568
-									dangerouslySetInnerHTML: {__html:'<?php echo addslashes( $args['tab']['desc'] ); ?>'}
3568
+									dangerouslySetInnerHTML: {__html:'<?php echo addslashes($args['tab']['desc']); ?>'}
3569 3569
 								}),<?php }
3570
-					if(false){?></script><?php }
3570
+					if (false) {?></script><?php }
3571 3571
 				}
3572 3572
 
3573 3573
 			}
3574 3574
 
3575 3575
 		}
3576 3576
 
3577
-		public function block_tab_end($key, $args){
3577
+		public function block_tab_end($key, $args) {
3578 3578
 
3579
-			if(!empty($args['tab'])){
3579
+			if (!empty($args['tab'])) {
3580 3580
 				// maybe close
3581
-				if(!empty($args['tab']['close'])){
3581
+				if (!empty($args['tab']['close'])) {
3582 3582
 					echo ")}, /* tab close */";
3583 3583
 				}
3584 3584
 
3585
-				if(!empty($args['tab']['tabs_close'])){
3586
-					if(false){?><script><?php }?>
3585
+				if (!empty($args['tab']['tabs_close'])) {
3586
+					if (false) {?><script><?php }?>
3587 3587
 						]}, ( tab ) => {
3588 3588
 								return tab.content;
3589 3589
 							}
3590 3590
 						)), /* tabs close */
3591
-					<?php if(false){ ?></script><?php }
3591
+					<?php if (false) { ?></script><?php }
3592 3592
 				}
3593 3593
 			}
3594 3594
 		}
3595 3595
 
3596
-		public function build_block_arguments( $key, $args ) {
3597
-			$custom_attributes = ! empty( $args['custom_attributes'] ) ? $this->array_to_attributes( $args['custom_attributes'] ) : '';
3596
+		public function build_block_arguments($key, $args) {
3597
+			$custom_attributes = !empty($args['custom_attributes']) ? $this->array_to_attributes($args['custom_attributes']) : '';
3598 3598
 			$options           = '';
3599 3599
 			$extra             = '';
3600 3600
 			$require           = '';
@@ -3602,28 +3602,28 @@  discard block
 block discarded – undo
3602 3602
 			$after_elements	   = '';
3603 3603
 
3604 3604
 			// `content` is a protected and special argument
3605
-			if ( $key == 'content' ) {
3605
+			if ($key == 'content') {
3606 3606
 				return;
3607 3607
 			}
3608 3608
 
3609
-			$device_type = ! empty( $args['device_type'] ) ? esc_attr($args['device_type']) : '';
3610
-			$device_type_require = ! empty( $args['device_type'] ) ? " deviceType == '" . esc_attr($device_type) . "' && " : '';
3609
+			$device_type = !empty($args['device_type']) ? esc_attr($args['device_type']) : '';
3610
+			$device_type_require = !empty($args['device_type']) ? " deviceType == '" . esc_attr($device_type) . "' && " : '';
3611 3611
 			$device_type_icon = '';
3612
-			if($device_type=='Desktop'){
3612
+			if ($device_type == 'Desktop') {
3613 3613
 				$device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3614
-			}elseif($device_type=='Tablet'){
3614
+			}elseif ($device_type == 'Tablet') {
3615 3615
 				$device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3616
-			}elseif($device_type=='Mobile'){
3616
+			}elseif ($device_type == 'Mobile') {
3617 3617
 				$device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3618 3618
 			}
3619 3619
 
3620 3620
 			// icon
3621 3621
 			$icon = '';
3622
-			if( !empty( $args['icon'] ) ){
3622
+			if (!empty($args['icon'])) {
3623 3623
 				$icon .= "el('div', {";
3624
-									$icon .= "dangerouslySetInnerHTML: {__html: '".self::get_widget_icon( esc_attr($args['icon']))."'},";
3624
+									$icon .= "dangerouslySetInnerHTML: {__html: '" . self::get_widget_icon(esc_attr($args['icon'])) . "'},";
3625 3625
 									$icon .= "className: 'text-center',";
3626
-									$icon .= "title: '".addslashes( $args['title'] )."',";
3626
+									$icon .= "title: '" . addslashes($args['title']) . "',";
3627 3627
 								$icon .= "}),";
3628 3628
 
3629 3629
 				// blank title as its added to the icon.
@@ -3631,27 +3631,27 @@  discard block
 block discarded – undo
3631 3631
 			}
3632 3632
 
3633 3633
 			// require advanced
3634
-			$require_advanced = ! empty( $args['advanced'] ) ? "props.attributes.show_advanced && " : "";
3634
+			$require_advanced = !empty($args['advanced']) ? "props.attributes.show_advanced && " : "";
3635 3635
 
3636 3636
 			// element require
3637
-			$element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
3637
+			$element_require = !empty($args['element_require']) ? $this->block_props_replace($args['element_require'], true) . " && " : "";
3638 3638
 
3639 3639
 
3640 3640
 			$onchange  = "props.setAttributes({ $key: $key } )";
3641
-			$onchangecomplete  = "";
3641
+			$onchangecomplete = "";
3642 3642
 			$value     = "props.attributes.$key";
3643
-			$text_type = array( 'text', 'password', 'number', 'email', 'tel', 'url', 'colorx','range' );
3644
-			if ( in_array( $args['type'], $text_type ) ) {
3643
+			$text_type = array('text', 'password', 'number', 'email', 'tel', 'url', 'colorx', 'range');
3644
+			if (in_array($args['type'], $text_type)) {
3645 3645
 				$type = 'TextControl';
3646 3646
 				// Save numbers as numbers and not strings
3647
-				if ( $args['type'] == 'number' ) {
3647
+				if ($args['type'] == 'number') {
3648 3648
 					$onchange = "props.setAttributes({ $key: $key ? Number($key) : '' } )";
3649 3649
 				}
3650 3650
 
3651
-				if (substr($key, 0, 9 ) === 'metadata_') {
3652
-					$real_key = str_replace('metadata_','', $key );
3651
+				if (substr($key, 0, 9) === 'metadata_') {
3652
+					$real_key = str_replace('metadata_', '', $key);
3653 3653
 					$onchange = "props.setAttributes({ metadata: { $real_key: $key } } )";
3654
-					$value     = "props.attributes.metadata && props.attributes.metadata.$real_key ? props.attributes.metadata.$real_key : ''";
3654
+					$value = "props.attributes.metadata && props.attributes.metadata.$real_key ? props.attributes.metadata.$real_key : ''";
3655 3655
 				}
3656 3656
 			}
3657 3657
 //			else if ( $args['type'] == 'popup' ) {
@@ -3671,12 +3671,12 @@  discard block
 block discarded – undo
3671 3671
 //
3672 3672
 //				$value     = "props.attributes.$key ? props.attributes.$key : ''";
3673 3673
 //			}
3674
-			else if ( $args['type'] == 'styleid' ) {
3674
+			else if ($args['type'] == 'styleid') {
3675 3675
 				$type = 'TextControl';
3676 3676
 				$args['type'] == 'text';
3677 3677
 				// Save numbers as numbers and not strings
3678
-				$value     = "props.attributes.$key ? props.attributes.$key : ''";
3679
-			}else if ( $args['type'] == 'notice' ) {
3678
+				$value = "props.attributes.$key ? props.attributes.$key : ''";
3679
+			} else if ($args['type'] == 'notice') {
3680 3680
 
3681 3681
 				$notice_message = !empty($args['desc']) ? addslashes($args['desc']) : '';
3682 3682
 				$notice_status = !empty($args['status']) ? esc_attr($args['status']) : 'info';
@@ -3738,11 +3738,11 @@  discard block
 block discarded – undo
3738 3738
 							return;
3739 3739
 						}
3740 3740
 */
3741
-			elseif ( $args['type'] == 'color' ) {
3741
+			elseif ($args['type'] == 'color') {
3742 3742
 				$type = 'ColorPicker';
3743 3743
 				$onchange = "";
3744 3744
 				$extra = "color: $value,";
3745
-				if(!empty($args['disable_alpha'])){
3745
+				if (!empty($args['disable_alpha'])) {
3746 3746
 					$extra .= "disableAlpha: true,";
3747 3747
 				}
3748 3748
 				$onchangecomplete = "onChangeComplete: function($key) {
@@ -3751,7 +3751,7 @@  discard block
 block discarded – undo
3751 3751
 							$key: value
3752 3752
 						});
3753 3753
 					},";
3754
-			}elseif ( $args['type'] == 'gradient' ) {
3754
+			}elseif ($args['type'] == 'gradient') {
3755 3755
 				$type = 'GradientPicker';
3756 3756
 				$extra .= "gradients: [{
3757 3757
 			name: 'Vivid cyan blue to vivid purple',
@@ -3790,7 +3790,7 @@  discard block
 block discarded – undo
3790 3790
 			slug: 'cool-to-warm-spectrum',
3791 3791
 		}],";
3792 3792
 
3793
-			}elseif ( $args['type'] == 'image' ) {
3793
+			}elseif ($args['type'] == 'image') {
3794 3794
 //                print_r($args);
3795 3795
 
3796 3796
 				$img_preview = isset($args['focalpoint']) && !$args['focalpoint'] ? " props.attributes.$key && el('img', { src: props.attributes.$key,style: {maxWidth:'100%',background: '#ccc'}})," : " ( props.attributes.$key ||  props.attributes.{$key}_use_featured ) && el(wp.components.FocalPointPicker,{
@@ -3852,7 +3852,7 @@  discard block
 block discarded – undo
3852 3852
 				$onchange = "";
3853 3853
 
3854 3854
 				//$inside_elements = ",el('div',{},'file upload')";
3855
-			} else if ( $args['type'] == 'images' ) {
3855
+			} else if ($args['type'] == 'images') {
3856 3856
 				$img_preview = "props.attributes.$key && (function() {
3857 3857
 	let uploads = JSON.parse('['+props.attributes.$key+']');
3858 3858
 	let images = [];
@@ -3865,7 +3865,7 @@  discard block
 block discarded – undo
3865 3865
 			el('i',{
3866 3866
 				className: 'fas fa-times-circle text-danger position-absolute  ml-n2 mt-n1 bg-white rounded-circle c-pointer',
3867 3867
 				onClick: function() {
3868
-					aui_confirm('".esc_attr__('Are you sure?')."', '".esc_attr__('Delete')."', '".esc_attr__('Cancel')."', true).then(function(confirmed) {
3868
+					aui_confirm('" . esc_attr__('Are you sure?') . "', '" . esc_attr__('Delete') . "', '" . esc_attr__('Cancel') . "', true).then(function(confirmed) {
3869 3869
 						if (confirmed) {
3870 3870
 							let new_uploads = JSON.parse('['+props.attributes.$key+']');
3871 3871
 							new_uploads.splice(index, 1);
@@ -3928,36 +3928,36 @@  discard block
 block discarded – undo
3928 3928
 
3929 3929
 				//$inside_elements = ",el('div',{},'file upload')";
3930 3930
 			}
3931
-			elseif ( $args['type'] == 'checkbox' ) {
3931
+			elseif ($args['type'] == 'checkbox') {
3932 3932
 				$type = 'CheckboxControl';
3933 3933
 				$extra .= "checked: props.attributes.$key,";
3934 3934
 				$onchange = "props.setAttributes({ $key: ! props.attributes.$key } )";
3935
-			} elseif ( $args['type'] == 'textarea' ) {
3935
+			} elseif ($args['type'] == 'textarea') {
3936 3936
 				$type = 'TextareaControl';
3937 3937
 
3938
-			} elseif ( $args['type'] == 'select' || $args['type'] == 'multiselect' ) {
3938
+			} elseif ($args['type'] == 'select' || $args['type'] == 'multiselect') {
3939 3939
 				$type = 'SelectControl';
3940 3940
 
3941
-				if($args['name'] == 'category' && !empty($args['post_type_linked'])){
3942
-					$options .= "options: taxonomies_".str_replace("-","_", $this->id).",";
3943
-				}elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){
3944
-					$options .= "options: sort_by_".str_replace("-","_", $this->id).",";
3945
-				}else {
3941
+				if ($args['name'] == 'category' && !empty($args['post_type_linked'])) {
3942
+					$options .= "options: taxonomies_" . str_replace("-", "_", $this->id) . ",";
3943
+				}elseif ($args['name'] == 'sort_by' && !empty($args['post_type_linked'])) {
3944
+					$options .= "options: sort_by_" . str_replace("-", "_", $this->id) . ",";
3945
+				} else {
3946 3946
 
3947
-					if ( ! empty( $args['options'] ) ) {
3947
+					if (!empty($args['options'])) {
3948 3948
 						$options .= "options: [";
3949
-						foreach ( $args['options'] as $option_val => $option_label ) {
3950
-							$options .= "{ value: '" . esc_attr( $option_val ) . "', label: '" . esc_js( addslashes( $option_label ) ) . "' },";
3949
+						foreach ($args['options'] as $option_val => $option_label) {
3950
+							$options .= "{ value: '" . esc_attr($option_val) . "', label: '" . esc_js(addslashes($option_label)) . "' },";
3951 3951
 						}
3952 3952
 						$options .= "],";
3953 3953
 					}
3954 3954
 				}
3955
-				if ( isset( $args['multiple'] ) && $args['multiple'] ) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550
3955
+				if (isset($args['multiple']) && $args['multiple']) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550
3956 3956
 					$extra .= ' multiple:true,style:{height:"auto",paddingRight:"8px","overflow-y":"auto"}, ';
3957 3957
 				}
3958 3958
 
3959
-				if($args['type'] == 'multiselect' ||  ( isset( $args['multiple'] ) && $args['multiple'] ) ){
3960
-					$after_elements	 .= "props.attributes.$key && el( wp.components.Button, {
3959
+				if ($args['type'] == 'multiselect' || (isset($args['multiple']) && $args['multiple'])) {
3960
+					$after_elements .= "props.attributes.$key && el( wp.components.Button, {
3961 3961
 									  className: 'components-button components-circular-option-picker__clear is-secondary is-small',
3962 3962
 									  style: {margin:'-8px 0 8px 0',display: 'block'},
3963 3963
 									  onClick: function(){
@@ -3969,7 +3969,7 @@  discard block
 block discarded – undo
3969 3969
 									'Clear'
3970 3970
 							),";
3971 3971
 				}
3972
-			} elseif ( $args['type'] == 'tagselect' ) {
3972
+			} elseif ($args['type'] == 'tagselect') {
3973 3973
 //				$type = 'FormTokenField';
3974 3974
 //
3975 3975
 //				if ( ! empty( $args['options'] ) ) {
@@ -4004,19 +4004,19 @@  discard block
 block discarded – undo
4004 4004
 //				$value     = "[]";
4005 4005
 //				$extra .= ' __experimentalExpandOnFocus: true,';
4006 4006
 
4007
-			} else if ( $args['type'] == 'alignment' ) {
4007
+			} else if ($args['type'] == 'alignment') {
4008 4008
 				$type = 'AlignmentToolbar'; // @todo this does not seem to work but cant find a example
4009
-			} else if ( $args['type'] == 'margins' ) {
4009
+			} else if ($args['type'] == 'margins') {
4010 4010
 
4011
-			} else if ( $args['type'] == 'visibility_conditions' && ( function_exists( 'wp_is_block_theme' ) && wp_is_block_theme() ) ) {
4011
+			} else if ($args['type'] == 'visibility_conditions' && (function_exists('wp_is_block_theme') && wp_is_block_theme())) {
4012 4012
 				$type = 'TextControl';
4013 4013
 				$value = "(props.attributes.$key ? props.attributes.$key : '')";
4014 4014
 				$args['type'] = 'text';
4015 4015
 				$options .= 'disabled:true,';
4016
-				$bsvc_title = esc_attr( addslashes( $args['title'] ) );
4017
-				$bsvc_body = $this->block_visibility_fields( $args );
4016
+				$bsvc_title = esc_attr(addslashes($args['title']));
4017
+				$bsvc_body = $this->block_visibility_fields($args);
4018 4018
 				// @TODO reset button
4019
-				$bsvc_footer = '<button type="button" class="btn btn-danger d-none">' . __( 'Reset', 'ayecode-connect' ) . '</button><button type="button" class="btn btn-secondary bs-vc-close text-white" data-bs-dismiss="modal">' . __( 'Close', 'ayecode-connect' ) . '</button><button type="button" class="btn btn-primary bs-vc-save">' . __( 'Save Rules', 'ayecode-connect' ) . '</button>';
4019
+				$bsvc_footer = '<button type="button" class="btn btn-danger d-none">' . __('Reset', 'ayecode-connect') . '</button><button type="button" class="btn btn-secondary bs-vc-close text-white" data-bs-dismiss="modal">' . __('Close', 'ayecode-connect') . '</button><button type="button" class="btn btn-primary bs-vc-save">' . __('Save Rules', 'ayecode-connect') . '</button>';
4020 4020
 				$after_elements .= "el('div', {className: 'components-base-control bs-vc-button-wrap'}, el(wp.components.Button, {
4021 4021
 						className: 'components-button components-circular-option-picker__clear is-primary is-smallx',
4022 4022
 						onClick: function() {
@@ -4035,25 +4035,25 @@  discard block
 block discarded – undo
4035 4035
 									jQuery('.bs-vc-modal-form').trigger('change');
4036 4036
 								}
4037 4037
 							});
4038
-							aui_modal('" . $bsvc_title . "', '" . addslashes( $bsvc_body ) . "', '" . $bsvc_footer . "', true, 'bs-vc-modal', 'modal-lg', '');
4038
+							aui_modal('" . $bsvc_title . "', '" . addslashes($bsvc_body) . "', '" . $bsvc_footer . "', true, 'bs-vc-modal', 'modal-lg', '');
4039 4039
 							jQuery(document).off('change', '#bsvc_raw_value').on('change', '#bsvc_raw_value', function(e) {
4040 4040
 								props.setAttributes({" . $key . ": e.target.value});
4041 4041
 							});
4042 4042
 						}
4043 4043
 					},
4044
-					'" . addslashes( ! empty( $args['button_title'] ) ? $args['button_title'] : $args['title'] ) . "'
4044
+					'" . addslashes(!empty($args['button_title']) ? $args['button_title'] : $args['title']) . "'
4045 4045
 				) ),";
4046 4046
 			} else {
4047
-				return;// if we have not implemented the control then don't break the JS.
4047
+				return; // if we have not implemented the control then don't break the JS.
4048 4048
 			}
4049 4049
 
4050 4050
 			// color input does not show the labels so we add them
4051
-			if($args['type']=='color'){
4051
+			if ($args['type'] == 'color') {
4052 4052
 				// add show only if advanced
4053 4053
 				echo $require_advanced;
4054 4054
 				// add setting require if defined
4055 4055
 				echo $element_require;
4056
-				echo "el('div', {style: {'marginBottom': '8px'}}, '".addslashes( $args['title'] )."'),";
4056
+				echo "el('div', {style: {'marginBottom': '8px'}}, '" . addslashes($args['title']) . "'),";
4057 4057
 			}
4058 4058
 
4059 4059
 			// add show only if advanced
@@ -4065,22 +4065,22 @@  discard block
 block discarded – undo
4065 4065
 			// icon
4066 4066
 			echo $icon;
4067 4067
 			?>
4068
-			el( <?php echo $args['type'] == 'image' || $args['type'] == 'images' ? $type  : "wp.components.".$type; ?>, {
4069
-			label: <?php if ( empty( $args['title'] ) ) { echo "''"; } else if ( empty( $args['row'] ) && ! empty( $args['device_type'] ) ) { ?>el('label',{className:'components-base-control__label',style:{width:"100%"}},el('span',{dangerouslySetInnerHTML: {__html: '<?php echo addslashes( $args['title'] ) ?>'}}),<?php if ( $device_type_icon ) { ?>deviceType == '<?php echo $device_type;?>' && el('span',{dangerouslySetInnerHTML: {__html: '<?php echo $device_type_icon; ?>'},title: deviceType + ": Set preview mode to change",style: {right:"0",position:"absolute",color:"var(--wp-admin-theme-color)"}})<?php } ?>)<?php
4070
-			} else { ?>'<?php echo addslashes( trim( esc_html( $args['title'] ) ) ); ?>'<?php } ?>,
4071
-			help: <?php echo ( isset( $args['desc'] ) ? "el('span', {dangerouslySetInnerHTML: {__html: '" . trim( wp_kses_post( addslashes( $args['desc'] ) ) ) . "'}})" : "''" ); ?>,
4068
+			el( <?php echo $args['type'] == 'image' || $args['type'] == 'images' ? $type : "wp.components." . $type; ?>, {
4069
+			label: <?php if (empty($args['title'])) { echo "''"; } else if (empty($args['row']) && !empty($args['device_type'])) { ?>el('label',{className:'components-base-control__label',style:{width:"100%"}},el('span',{dangerouslySetInnerHTML: {__html: '<?php echo addslashes($args['title']) ?>'}}),<?php if ($device_type_icon) { ?>deviceType == '<?php echo $device_type; ?>' && el('span',{dangerouslySetInnerHTML: {__html: '<?php echo $device_type_icon; ?>'},title: deviceType + ": Set preview mode to change",style: {right:"0",position:"absolute",color:"var(--wp-admin-theme-color)"}})<?php } ?>)<?php
4070
+			} else { ?>'<?php echo addslashes(trim(esc_html($args['title']))); ?>'<?php } ?>,
4071
+			help: <?php echo (isset($args['desc']) ? "el('span', {dangerouslySetInnerHTML: {__html: '" . trim(wp_kses_post(addslashes($args['desc']))) . "'}})" : "''"); ?>,
4072 4072
 			value: <?php echo $value; ?>,
4073
-			<?php if ( $type == 'TextControl' && $args['type'] != 'text' ) {
4074
-				echo "type: '" . addslashes( $args['type'] ) . "',";
4073
+			<?php if ($type == 'TextControl' && $args['type'] != 'text') {
4074
+				echo "type: '" . addslashes($args['type']) . "',";
4075 4075
 			} ?>
4076
-			<?php if ( ! empty( $args['placeholder'] ) ) {
4077
-				echo "placeholder: '" . esc_js( addslashes( trim( esc_html( $args['placeholder'] ) ) ) ) . "',";
4076
+			<?php if (!empty($args['placeholder'])) {
4077
+				echo "placeholder: '" . esc_js(addslashes(trim(esc_html($args['placeholder'])))) . "',";
4078 4078
 			} ?>
4079 4079
 			<?php echo $options; ?>
4080 4080
 			<?php echo $extra; ?>
4081 4081
 			<?php echo $custom_attributes; ?>
4082 4082
 			<?php echo $onchangecomplete; ?>
4083
-			<?php if ( $onchange ) { ?>
4083
+			<?php if ($onchange) { ?>
4084 4084
 			onChange: function ( <?php echo $key; ?> ) {
4085 4085
 				<?php echo $onchange; ?>
4086 4086
 			}
@@ -4099,15 +4099,15 @@  discard block
 block discarded – undo
4099 4099
 		 *@todo there is prob a faster way to do this, also we could add some validation here.
4100 4100
 		 *
4101 4101
 		 */
4102
-		public function array_to_attributes( $custom_attributes, $html = false ) {
4102
+		public function array_to_attributes($custom_attributes, $html = false) {
4103 4103
 			$attributes = '';
4104
-			if ( ! empty( $custom_attributes ) ) {
4104
+			if (!empty($custom_attributes)) {
4105 4105
 
4106
-				foreach ( $custom_attributes as $key => $val ) {
4107
-					if(is_array($val)){
4108
-						$attributes .= $key.': {'.$this->array_to_attributes( $val, $html ).'},';
4109
-					}else{
4110
-						$attributes .= $html ?  " $key='$val' " : "'$key': '$val',";
4106
+				foreach ($custom_attributes as $key => $val) {
4107
+					if (is_array($val)) {
4108
+						$attributes .= $key . ': {' . $this->array_to_attributes($val, $html) . '},';
4109
+					} else {
4110
+						$attributes .= $html ? " $key='$val' " : "'$key': '$val',";
4111 4111
 					}
4112 4112
 				}
4113 4113
 
@@ -4125,113 +4125,113 @@  discard block
 block discarded – undo
4125 4125
 		 *
4126 4126
 		 * @param $args
4127 4127
 		 */
4128
-		public function block_element( $args, $save = false ) {
4128
+		public function block_element($args, $save = false) {
4129 4129
 
4130 4130
 //            print_r($args);echo '###';exit;
4131 4131
 
4132
-			if ( ! empty( $args ) ) {
4133
-				foreach ( $args as $element => $new_args ) {
4132
+			if (!empty($args)) {
4133
+				foreach ($args as $element => $new_args) {
4134 4134
 
4135
-					if ( is_array( $new_args ) ) { // its an element
4135
+					if (is_array($new_args)) { // its an element
4136 4136
 
4137 4137
 
4138
-						if ( isset( $new_args['element'] ) ) {
4138
+						if (isset($new_args['element'])) {
4139 4139
 
4140
-							if ( isset( $new_args['element_require'] ) ) {
4141
-								echo str_replace( array(
4140
+							if (isset($new_args['element_require'])) {
4141
+								echo str_replace(array(
4142 4142
 										"'+",
4143 4143
 										"+'"
4144
-									), '', $this->block_props_replace( $new_args['element_require'] ) ) . " &&  ";
4145
-								unset( $new_args['element_require'] );
4144
+									), '', $this->block_props_replace($new_args['element_require'])) . " &&  ";
4145
+								unset($new_args['element_require']);
4146 4146
 							}
4147 4147
 
4148
-							if($new_args['element']=='InnerBlocks'){
4148
+							if ($new_args['element'] == 'InnerBlocks') {
4149 4149
 								echo "\n el( InnerBlocks, {";
4150
-							}elseif($new_args['element']=='innerBlocksProps'){
4150
+							}elseif ($new_args['element'] == 'innerBlocksProps') {
4151 4151
 								$element = isset($new_args['inner_element']) ? esc_attr($new_args['inner_element']) : 'div';
4152 4152
 							  //  echo "\n el( 'section', wp.blockEditor.useInnerBlocksProps( blockProps, {";
4153 4153
 //                                echo $save ? "\n el( '$element', wp.blockEditor.useInnerBlocksProps.save( " : "\n el( '$element', wp.blockEditor.useInnerBlocksProps( ";
4154 4154
 								echo $save ? "\n el( '$element', wp.blockEditor.useInnerBlocksProps.save( " : "\n el( '$element', wp.blockEditor.useInnerBlocksProps( ";
4155 4155
 								echo $save ? "wp.blockEditor.useBlockProps.save( {" : "wp.blockEditor.useBlockProps( {";
4156
-								echo !empty($new_args['blockProps']) ? $this->block_element( $new_args['blockProps'],$save ) : '';
4156
+								echo !empty($new_args['blockProps']) ? $this->block_element($new_args['blockProps'], $save) : '';
4157 4157
 
4158 4158
 								echo "} ), {";
4159
-								echo !empty($new_args['innerBlocksProps']) && !$save ? $this->block_element( $new_args['innerBlocksProps'],$save ) : '';
4159
+								echo !empty($new_args['innerBlocksProps']) && !$save ? $this->block_element($new_args['innerBlocksProps'], $save) : '';
4160 4160
 							//    echo '###';
4161 4161
 
4162 4162
 							  //  echo '###';
4163
-							}elseif($new_args['element']=='BlocksProps'){
4163
+							}elseif ($new_args['element'] == 'BlocksProps') {
4164 4164
 
4165
-								if ( isset($new_args['if_inner_element']) ) {
4165
+								if (isset($new_args['if_inner_element'])) {
4166 4166
 									$element = $new_args['if_inner_element'];
4167
-								}else {
4168
-									$element = isset($new_args['inner_element']) ? "'".esc_attr($new_args['inner_element'])."'" : "'div'";
4167
+								} else {
4168
+									$element = isset($new_args['inner_element']) ? "'" . esc_attr($new_args['inner_element']) . "'" : "'div'";
4169 4169
 								}
4170 4170
 
4171 4171
 								unset($new_args['inner_element']);
4172 4172
 								echo $save ? "\n el( $element, wp.blockEditor.useBlockProps.save( {" : "\n el( $element, wp.blockEditor.useBlockProps( {";
4173
-								echo !empty($new_args['blockProps']) ? $this->block_element( $new_args['blockProps'],$save ) : '';
4173
+								echo !empty($new_args['blockProps']) ? $this->block_element($new_args['blockProps'], $save) : '';
4174 4174
 
4175 4175
 
4176 4176
 							   // echo "} ),";
4177 4177
 
4178
-							}else{
4178
+							} else {
4179 4179
 								echo "\n el( '" . $new_args['element'] . "', {";
4180 4180
 							}
4181 4181
 
4182 4182
 
4183 4183
 							// get the attributes
4184
-							foreach ( $new_args as $new_key => $new_value ) {
4184
+							foreach ($new_args as $new_key => $new_value) {
4185 4185
 
4186 4186
 
4187
-								if ( $new_key == 'element' || $new_key == 'content'|| $new_key == 'if_content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array( $new_value ) ) {
4187
+								if ($new_key == 'element' || $new_key == 'content' || $new_key == 'if_content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array($new_value)) {
4188 4188
 									// do nothing
4189 4189
 								} else {
4190
-									echo $this->block_element( array( $new_key => $new_value ),$save );
4190
+									echo $this->block_element(array($new_key => $new_value), $save);
4191 4191
 								}
4192 4192
 							}
4193 4193
 
4194
-							echo $new_args['element']=='BlocksProps' ? '} ),' : "},";// end attributes
4194
+							echo $new_args['element'] == 'BlocksProps' ? '} ),' : "},"; // end attributes
4195 4195
 
4196 4196
 							// get the content
4197 4197
 							$first_item = 0;
4198
-							foreach ( $new_args as $new_key => $new_value ) {
4199
-								if ( $new_key === 'content' || $new_key === 'if_content' || is_array( $new_value ) ) {
4198
+							foreach ($new_args as $new_key => $new_value) {
4199
+								if ($new_key === 'content' || $new_key === 'if_content' || is_array($new_value)) {
4200 4200
 
4201
-									if ( $new_key === 'content' ) {
4202
-										echo "'" . $this->block_props_replace( wp_slash( $new_value ) ) . "'";
4203
-									}else if ( $new_key === 'if_content' ) {
4204
-										echo  $this->block_props_replace(  $new_value  );
4201
+									if ($new_key === 'content') {
4202
+										echo "'" . $this->block_props_replace(wp_slash($new_value)) . "'";
4203
+									} else if ($new_key === 'if_content') {
4204
+										echo  $this->block_props_replace($new_value);
4205 4205
 									}
4206 4206
 
4207
-									if ( is_array( $new_value ) ) {
4207
+									if (is_array($new_value)) {
4208 4208
 
4209
-										if ( isset( $new_value['element_require'] ) ) {
4210
-											echo str_replace( array(
4209
+										if (isset($new_value['element_require'])) {
4210
+											echo str_replace(array(
4211 4211
 													"'+",
4212 4212
 													"+'"
4213
-												), '', $this->block_props_replace( $new_value['element_require'] ) ) . " &&  ";
4214
-											unset( $new_value['element_require'] );
4213
+												), '', $this->block_props_replace($new_value['element_require'])) . " &&  ";
4214
+											unset($new_value['element_require']);
4215 4215
 										}
4216 4216
 
4217
-										if ( isset( $new_value['element_repeat'] ) ) {
4217
+										if (isset($new_value['element_repeat'])) {
4218 4218
 											$x = 1;
4219
-											while ( $x <= absint( $new_value['element_repeat'] ) ) {
4220
-												$this->block_element( array( '' => $new_value ),$save );
4221
-												$x ++;
4219
+											while ($x <= absint($new_value['element_repeat'])) {
4220
+												$this->block_element(array('' => $new_value), $save);
4221
+												$x++;
4222 4222
 											}
4223 4223
 										} else {
4224
-											$this->block_element( array( '' => $new_value ),$save );
4224
+											$this->block_element(array('' => $new_value), $save);
4225 4225
 										}
4226 4226
 									}
4227
-									$first_item ++;
4227
+									$first_item++;
4228 4228
 								}
4229 4229
 							}
4230 4230
 
4231
-							if($new_args['element']=='innerBlocksProps' || $new_args['element']=='xBlocksProps'){
4232
-								echo "))";// end content
4233
-							}else{
4234
-								echo ")";// end content
4231
+							if ($new_args['element'] == 'innerBlocksProps' || $new_args['element'] == 'xBlocksProps') {
4232
+								echo "))"; // end content
4233
+							} else {
4234
+								echo ")"; // end content
4235 4235
 							}
4236 4236
 
4237 4237
 
@@ -4240,26 +4240,26 @@  discard block
 block discarded – undo
4240 4240
 						}
4241 4241
 					} else {
4242 4242
 
4243
-						if ( substr( $element, 0, 3 ) === "if_" ) {
4243
+						if (substr($element, 0, 3) === "if_") {
4244 4244
 							$extra = '';
4245
-							if( strpos($new_args, '[%WrapClass%]') !== false ){
4246
-								$new_args = str_replace('[%WrapClass%]"','" + sd_build_aui_class(props.attributes)',$new_args);
4247
-								$new_args = str_replace('[%WrapClass%]','+ sd_build_aui_class(props.attributes)',$new_args);
4245
+							if (strpos($new_args, '[%WrapClass%]') !== false) {
4246
+								$new_args = str_replace('[%WrapClass%]"', '" + sd_build_aui_class(props.attributes)', $new_args);
4247
+								$new_args = str_replace('[%WrapClass%]', '+ sd_build_aui_class(props.attributes)', $new_args);
4248 4248
 							}
4249
-							echo str_replace( "if_", "", $element ) . ": " . $this->block_props_replace( $new_args, true ) . ",";
4250
-						} elseif ( $element == 'style' &&  strpos($new_args, '[%WrapStyle%]') !== false ) {
4251
-							$new_args = str_replace('[%WrapStyle%]','',$new_args);
4252
-							echo $element . ": {..." . $this->block_props_replace( $new_args ) . " , ...sd_build_aui_styles(props.attributes) },";
4249
+							echo str_replace("if_", "", $element) . ": " . $this->block_props_replace($new_args, true) . ",";
4250
+						} elseif ($element == 'style' && strpos($new_args, '[%WrapStyle%]') !== false) {
4251
+							$new_args = str_replace('[%WrapStyle%]', '', $new_args);
4252
+							echo $element . ": {..." . $this->block_props_replace($new_args) . " , ...sd_build_aui_styles(props.attributes) },";
4253 4253
 //                            echo $element . ": " . $this->block_props_replace( $new_args ) . ",";
4254
-						} elseif ( $element == 'style' ) {
4255
-							echo $element . ": " . $this->block_props_replace( $new_args ) . ",";
4256
-						} elseif ( ( $element == 'class' || $element == 'className'  ) &&  strpos($new_args, '[%WrapClass%]') !== false ) {
4257
-							$new_args = str_replace('[%WrapClass%]','',$new_args);
4258
-							echo $element . ": '" . $this->block_props_replace( $new_args ) . "' + sd_build_aui_class(props.attributes),";
4259
-						} elseif ( $element == 'template' && $new_args ) {
4254
+						} elseif ($element == 'style') {
4255
+							echo $element . ": " . $this->block_props_replace($new_args) . ",";
4256
+						} elseif (($element == 'class' || $element == 'className') && strpos($new_args, '[%WrapClass%]') !== false) {
4257
+							$new_args = str_replace('[%WrapClass%]', '', $new_args);
4258
+							echo $element . ": '" . $this->block_props_replace($new_args) . "' + sd_build_aui_class(props.attributes),";
4259
+						} elseif ($element == 'template' && $new_args) {
4260 4260
 							echo $element . ": $new_args,";
4261 4261
 						} else {
4262
-							echo $element . ": '" . $this->block_props_replace( $new_args ) . "',";
4262
+							echo $element . ": '" . $this->block_props_replace($new_args) . "',";
4263 4263
 						}
4264 4264
 
4265 4265
 					}
@@ -4274,11 +4274,11 @@  discard block
 block discarded – undo
4274 4274
 		 *
4275 4275
 		 * @return mixed
4276 4276
 		 */
4277
-		public function block_props_replace( $string, $no_wrap = false ) {
4278
-			if ( $no_wrap ) {
4279
-				$string = str_replace( array( "[%", "%]", "%:checked]" ), array( "props.attributes.", "", "" ), $string );
4277
+		public function block_props_replace($string, $no_wrap = false) {
4278
+			if ($no_wrap) {
4279
+				$string = str_replace(array("[%", "%]", "%:checked]"), array("props.attributes.", "", ""), $string);
4280 4280
 			} else {
4281
-				$string = str_replace( array( "![%", "[%", "%]", "%:checked]" ), array( "'+!props.attributes.", "'+props.attributes.", "+'", "+'" ), $string );
4281
+				$string = str_replace(array("![%", "[%", "%]", "%:checked]"), array("'+!props.attributes.", "'+props.attributes.", "+'", "+'"), $string);
4282 4282
 			}
4283 4283
 
4284 4284
 			return $string;
@@ -4290,65 +4290,65 @@  discard block
 block discarded – undo
4290 4290
 		 * @param array $args
4291 4291
 		 * @param array $instance
4292 4292
 		 */
4293
-		public function widget( $args, $instance ) {
4294
-			if ( ! is_array( $args ) ) {
4293
+		public function widget($args, $instance) {
4294
+			if (!is_array($args)) {
4295 4295
 				$args = array();
4296 4296
 			}
4297 4297
 
4298 4298
 			// Get the filtered values
4299
-			$argument_values = $this->argument_values( $instance );
4300
-			$argument_values = $this->string_to_bool( $argument_values );
4301
-			$output          = $this->output( $argument_values, $args );
4299
+			$argument_values = $this->argument_values($instance);
4300
+			$argument_values = $this->string_to_bool($argument_values);
4301
+			$output          = $this->output($argument_values, $args);
4302 4302
 
4303 4303
 			$no_wrap = false;
4304
-			if ( isset( $argument_values['no_wrap'] ) && $argument_values['no_wrap'] ) {
4304
+			if (isset($argument_values['no_wrap']) && $argument_values['no_wrap']) {
4305 4305
 				$no_wrap = true;
4306 4306
 			}
4307 4307
 
4308 4308
 			ob_start();
4309
-			if ( $output && ! $no_wrap ) {
4309
+			if ($output && !$no_wrap) {
4310 4310
 
4311 4311
 				$class_original = $this->options['widget_ops']['classname'];
4312
-				$class = $this->options['widget_ops']['classname']." sdel-".$this->get_instance_hash();
4312
+				$class = $this->options['widget_ops']['classname'] . " sdel-" . $this->get_instance_hash();
4313 4313
 
4314 4314
 				// Before widget
4315
-				$before_widget = ! empty( $args['before_widget'] ) ? $args['before_widget'] : '';
4316
-				$before_widget = $before_widget ? str_replace( $class_original, $class, $before_widget ) : $before_widget;
4317
-				$before_widget = apply_filters( 'wp_super_duper_before_widget', $before_widget, $args, $instance, $this );
4318
-				$before_widget = apply_filters( 'wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this );
4315
+				$before_widget = !empty($args['before_widget']) ? $args['before_widget'] : '';
4316
+				$before_widget = $before_widget ? str_replace($class_original, $class, $before_widget) : $before_widget;
4317
+				$before_widget = apply_filters('wp_super_duper_before_widget', $before_widget, $args, $instance, $this);
4318
+				$before_widget = apply_filters('wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this);
4319 4319
 
4320 4320
 				// After widget
4321
-				$after_widget = ! empty( $args['after_widget'] ) ? $args['after_widget'] : '';
4322
-				$after_widget = apply_filters( 'wp_super_duper_after_widget', $after_widget, $args, $instance, $this );
4323
-				$after_widget = apply_filters( 'wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this );
4321
+				$after_widget = !empty($args['after_widget']) ? $args['after_widget'] : '';
4322
+				$after_widget = apply_filters('wp_super_duper_after_widget', $after_widget, $args, $instance, $this);
4323
+				$after_widget = apply_filters('wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this);
4324 4324
 
4325 4325
 				echo $before_widget;
4326 4326
 				// elementor strips the widget wrapping div so we check for and add it back if needed
4327
-				if ( $this->is_elementor_widget_output() ) {
4327
+				if ($this->is_elementor_widget_output()) {
4328 4328
 					// Filter class & attrs for elementor widget output.
4329
-					$class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
4330
-					$class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
4329
+					$class = apply_filters('wp_super_duper_div_classname', $class, $args, $this);
4330
+					$class = apply_filters('wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this);
4331 4331
 
4332
-					$attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
4333
-					$attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this );
4332
+					$attrs = apply_filters('wp_super_duper_div_attrs', '', $args, $this);
4333
+					$attrs = apply_filters('wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this);
4334 4334
 
4335
-					echo "<span class='" . esc_attr( $class  ) . "' " . $attrs . ">";
4335
+					echo "<span class='" . esc_attr($class) . "' " . $attrs . ">";
4336 4336
 				}
4337
-				echo $this->output_title( $args, $instance );
4337
+				echo $this->output_title($args, $instance);
4338 4338
 				echo $output;
4339
-				if ( $this->is_elementor_widget_output() ) {
4339
+				if ($this->is_elementor_widget_output()) {
4340 4340
 					echo "</span>";
4341 4341
 				}
4342 4342
 				echo $after_widget;
4343
-			} elseif ( $this->is_preview() && $output == '' ) {// if preview show a placeholder if empty
4344
-				$output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
4343
+			} elseif ($this->is_preview() && $output == '') {// if preview show a placeholder if empty
4344
+				$output = $this->preview_placeholder_text("{{" . $this->base_id . "}}");
4345 4345
 				echo $output;
4346
-			} elseif ( $output && $no_wrap ) {
4346
+			} elseif ($output && $no_wrap) {
4347 4347
 				echo $output;
4348 4348
 			}
4349 4349
 			$output = ob_get_clean();
4350 4350
 
4351
-			$output = apply_filters( 'wp_super_duper_widget_output', $output, $instance, $args, $this );
4351
+			$output = apply_filters('wp_super_duper_widget_output', $output, $instance, $args, $this);
4352 4352
 
4353 4353
 			echo $output;
4354 4354
 		}
@@ -4361,7 +4361,7 @@  discard block
 block discarded – undo
4361 4361
 		 */
4362 4362
 		public function is_elementor_widget_output() {
4363 4363
 			$result = false;
4364
-			if ( defined( 'ELEMENTOR_VERSION' ) && isset( $this->number ) && $this->number == 'REPLACE_TO_ID' ) {
4364
+			if (defined('ELEMENTOR_VERSION') && isset($this->number) && $this->number == 'REPLACE_TO_ID') {
4365 4365
 				$result = true;
4366 4366
 			}
4367 4367
 
@@ -4376,7 +4376,7 @@  discard block
 block discarded – undo
4376 4376
 		 */
4377 4377
 		public function is_elementor_preview() {
4378 4378
 			$result = false;
4379
-			if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
4379
+			if (isset($_REQUEST['elementor-preview']) || (is_admin() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor') || (isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor_ajax')) {
4380 4380
 				$result = true;
4381 4381
 			}
4382 4382
 
@@ -4391,7 +4391,7 @@  discard block
 block discarded – undo
4391 4391
 		 */
4392 4392
 		public function is_divi_preview() {
4393 4393
 			$result = false;
4394
-			if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
4394
+			if (isset($_REQUEST['et_fb']) || isset($_REQUEST['et_pb_preview']) || (is_admin() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor')) {
4395 4395
 				$result = true;
4396 4396
 			}
4397 4397
 
@@ -4406,7 +4406,7 @@  discard block
 block discarded – undo
4406 4406
 		 */
4407 4407
 		public function is_beaver_preview() {
4408 4408
 			$result = false;
4409
-			if ( isset( $_REQUEST['fl_builder'] ) ) {
4409
+			if (isset($_REQUEST['fl_builder'])) {
4410 4410
 				$result = true;
4411 4411
 			}
4412 4412
 
@@ -4421,7 +4421,7 @@  discard block
 block discarded – undo
4421 4421
 		 */
4422 4422
 		public function is_siteorigin_preview() {
4423 4423
 			$result = false;
4424
-			if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
4424
+			if (!empty($_REQUEST['siteorigin_panels_live_editor'])) {
4425 4425
 				$result = true;
4426 4426
 			}
4427 4427
 
@@ -4436,7 +4436,7 @@  discard block
 block discarded – undo
4436 4436
 		 */
4437 4437
 		public function is_cornerstone_preview() {
4438 4438
 			$result = false;
4439
-			if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
4439
+			if (!empty($_REQUEST['cornerstone_preview']) || basename($_SERVER['REQUEST_URI']) == 'cornerstone-endpoint') {
4440 4440
 				$result = true;
4441 4441
 			}
4442 4442
 
@@ -4451,7 +4451,7 @@  discard block
 block discarded – undo
4451 4451
 		 */
4452 4452
 		public function is_fusion_preview() {
4453 4453
 			$result = false;
4454
-			if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
4454
+			if (!empty($_REQUEST['fb-edit']) || !empty($_REQUEST['fusion_load_nonce'])) {
4455 4455
 				$result = true;
4456 4456
 			}
4457 4457
 
@@ -4466,7 +4466,7 @@  discard block
 block discarded – undo
4466 4466
 		 */
4467 4467
 		public function is_oxygen_preview() {
4468 4468
 			$result = false;
4469
-			if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
4469
+			if (!empty($_REQUEST['ct_builder']) || (!empty($_REQUEST['action']) && (substr($_REQUEST['action'], 0, 11) === "oxy_render_" || substr($_REQUEST['action'], 0, 10) === "ct_render_"))) {
4470 4470
 				$result = true;
4471 4471
 			}
4472 4472
 
@@ -4483,7 +4483,7 @@  discard block
 block discarded – undo
4483 4483
 		public function is_kallyas_zion_preview() {
4484 4484
 			$result = false;
4485 4485
 
4486
-			if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) {
4486
+			if (function_exists('znhg_kallyas_theme_config') && !empty($_REQUEST['zn_pb_edit'])) {
4487 4487
 				$result = true;
4488 4488
 			}
4489 4489
 
@@ -4500,7 +4500,7 @@  discard block
 block discarded – undo
4500 4500
 		public function is_bricks_preview() {
4501 4501
 			$result = false;
4502 4502
 
4503
-			if ( function_exists( 'bricks_is_builder' ) && ( bricks_is_builder() || bricks_is_builder_call() ) ) {
4503
+			if (function_exists('bricks_is_builder') && (bricks_is_builder() || bricks_is_builder_call())) {
4504 4504
 				$result = true;
4505 4505
 			}
4506 4506
 
@@ -4515,25 +4515,25 @@  discard block
 block discarded – undo
4515 4515
 		 */
4516 4516
 		public function is_preview() {
4517 4517
 			$preview = false;
4518
-			if ( $this->is_divi_preview() ) {
4518
+			if ($this->is_divi_preview()) {
4519 4519
 				$preview = true;
4520
-			} elseif ( $this->is_elementor_preview() ) {
4520
+			} elseif ($this->is_elementor_preview()) {
4521 4521
 				$preview = true;
4522
-			} elseif ( $this->is_beaver_preview() ) {
4522
+			} elseif ($this->is_beaver_preview()) {
4523 4523
 				$preview = true;
4524
-			} elseif ( $this->is_siteorigin_preview() ) {
4524
+			} elseif ($this->is_siteorigin_preview()) {
4525 4525
 				$preview = true;
4526
-			} elseif ( $this->is_cornerstone_preview() ) {
4526
+			} elseif ($this->is_cornerstone_preview()) {
4527 4527
 				$preview = true;
4528
-			} elseif ( $this->is_fusion_preview() ) {
4528
+			} elseif ($this->is_fusion_preview()) {
4529 4529
 				$preview = true;
4530
-			} elseif ( $this->is_oxygen_preview() ) {
4530
+			} elseif ($this->is_oxygen_preview()) {
4531 4531
 				$preview = true;
4532
-			} elseif( $this->is_kallyas_zion_preview() ) {
4532
+			} elseif ($this->is_kallyas_zion_preview()) {
4533 4533
 				$preview = true;
4534
-			} elseif( $this->is_block_content_call() ) {
4534
+			} elseif ($this->is_block_content_call()) {
4535 4535
 				$preview = true;
4536
-			} elseif( $this->is_bricks_preview() ) {
4536
+			} elseif ($this->is_bricks_preview()) {
4537 4537
 				$preview = true;
4538 4538
 			}
4539 4539
 
@@ -4548,44 +4548,44 @@  discard block
 block discarded – undo
4548 4548
 		 *
4549 4549
 		 * @return string
4550 4550
 		 */
4551
-		public function output_title( $args, $instance = array() ) {
4551
+		public function output_title($args, $instance = array()) {
4552 4552
 			$output = '';
4553
-			if ( ! empty( $instance['title'] ) ) {
4553
+			if (!empty($instance['title'])) {
4554 4554
 				/** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */
4555
-				$title  = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base );
4555
+				$title = apply_filters('widget_title', $instance['title'], $instance, $this->id_base);
4556 4556
 
4557
-				if ( empty( $instance['widget_title_tag'] ) ) {
4558
-					if ( ! isset( $args['before_title'] ) ) {
4557
+				if (empty($instance['widget_title_tag'])) {
4558
+					if (!isset($args['before_title'])) {
4559 4559
 						$args['before_title'] = '';
4560 4560
 					}
4561 4561
 
4562
-					if ( ! isset( $args['after_title'] ) ) {
4562
+					if (!isset($args['after_title'])) {
4563 4563
 						$args['after_title'] = '';
4564 4564
 					}
4565 4565
 
4566 4566
 					$output = $args['before_title'] . $title . $args['after_title'];
4567 4567
 				} else {
4568
-					$tag 			= esc_attr( $instance['widget_title_tag'] );
4569
-					$allowed_tags 	= array( 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'span', 'div', 'p' );
4570
-					$title_tag      = in_array( $tag, $allowed_tags, true ) ? esc_attr( $tag ) : 'h2';
4568
+					$tag 			= esc_attr($instance['widget_title_tag']);
4569
+					$allowed_tags = array('h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'span', 'div', 'p');
4570
+					$title_tag = in_array($tag, $allowed_tags, true) ? esc_attr($tag) : 'h2';
4571 4571
 
4572 4572
 					// classes
4573 4573
 					$title_classes = array();
4574
-					$title_classes[] = !empty( $instance['widget_title_size_class'] ) ? sanitize_html_class( $instance['widget_title_size_class'] ) : '';
4575
-					$title_classes[] = !empty( $instance['widget_title_align_class'] ) ? sanitize_html_class( $instance['widget_title_align_class'] ) : '';
4576
-					$title_classes[] = !empty( $instance['widget_title_color_class'] ) ? "text-".sanitize_html_class( $instance['widget_title_color_class'] ) : '';
4577
-					$title_classes[] = !empty( $instance['widget_title_border_class'] ) ? sanitize_html_class( $instance['widget_title_border_class'] ) : '';
4578
-					$title_classes[] = !empty( $instance['widget_title_border_color_class'] ) ? "border-".sanitize_html_class( $instance['widget_title_border_color_class'] ) : '';
4579
-					$title_classes[] = !empty( $instance['widget_title_mt_class'] ) ? "mt-".absint( $instance['widget_title_mt_class'] ) : '';
4580
-					$title_classes[] = !empty( $instance['widget_title_mr_class'] ) ? "mr-".absint( $instance['widget_title_mr_class'] ) : '';
4581
-					$title_classes[] = !empty( $instance['widget_title_mb_class'] ) ? "mb-".absint( $instance['widget_title_mb_class'] ) : '';
4582
-					$title_classes[] = !empty( $instance['widget_title_ml_class'] ) ? "ml-".absint( $instance['widget_title_ml_class'] ) : '';
4583
-					$title_classes[] = !empty( $instance['widget_title_pt_class'] ) ? "pt-".absint( $instance['widget_title_pt_class'] ) : '';
4584
-					$title_classes[] = !empty( $instance['widget_title_pr_class'] ) ? "pr-".absint( $instance['widget_title_pr_class'] ) : '';
4585
-					$title_classes[] = !empty( $instance['widget_title_pb_class'] ) ? "pb-".absint( $instance['widget_title_pb_class'] ) : '';
4586
-					$title_classes[] = !empty( $instance['widget_title_pl_class'] ) ? "pl-".absint( $instance['widget_title_pl_class'] ) : '';
4587
-
4588
-					$class = !empty( $title_classes ) ? implode(" ",$title_classes) : '';
4574
+					$title_classes[] = !empty($instance['widget_title_size_class']) ? sanitize_html_class($instance['widget_title_size_class']) : '';
4575
+					$title_classes[] = !empty($instance['widget_title_align_class']) ? sanitize_html_class($instance['widget_title_align_class']) : '';
4576
+					$title_classes[] = !empty($instance['widget_title_color_class']) ? "text-" . sanitize_html_class($instance['widget_title_color_class']) : '';
4577
+					$title_classes[] = !empty($instance['widget_title_border_class']) ? sanitize_html_class($instance['widget_title_border_class']) : '';
4578
+					$title_classes[] = !empty($instance['widget_title_border_color_class']) ? "border-" . sanitize_html_class($instance['widget_title_border_color_class']) : '';
4579
+					$title_classes[] = !empty($instance['widget_title_mt_class']) ? "mt-" . absint($instance['widget_title_mt_class']) : '';
4580
+					$title_classes[] = !empty($instance['widget_title_mr_class']) ? "mr-" . absint($instance['widget_title_mr_class']) : '';
4581
+					$title_classes[] = !empty($instance['widget_title_mb_class']) ? "mb-" . absint($instance['widget_title_mb_class']) : '';
4582
+					$title_classes[] = !empty($instance['widget_title_ml_class']) ? "ml-" . absint($instance['widget_title_ml_class']) : '';
4583
+					$title_classes[] = !empty($instance['widget_title_pt_class']) ? "pt-" . absint($instance['widget_title_pt_class']) : '';
4584
+					$title_classes[] = !empty($instance['widget_title_pr_class']) ? "pr-" . absint($instance['widget_title_pr_class']) : '';
4585
+					$title_classes[] = !empty($instance['widget_title_pb_class']) ? "pb-" . absint($instance['widget_title_pb_class']) : '';
4586
+					$title_classes[] = !empty($instance['widget_title_pl_class']) ? "pl-" . absint($instance['widget_title_pl_class']) : '';
4587
+
4588
+					$class = !empty($title_classes) ? implode(" ", $title_classes) : '';
4589 4589
 					$output = "<$title_tag class='$class' >$title</$title_tag>";
4590 4590
 				}
4591 4591
 
@@ -4599,7 +4599,7 @@  discard block
 block discarded – undo
4599 4599
 		 *
4600 4600
 		 * @param array $instance The widget options.
4601 4601
 		 */
4602
-		public function form( $instance ) {
4602
+		public function form($instance) {
4603 4603
 
4604 4604
 			// set widget instance
4605 4605
 			$this->instance = $instance;
@@ -4607,20 +4607,20 @@  discard block
 block discarded – undo
4607 4607
 			// set it as a SD widget
4608 4608
 			echo $this->widget_advanced_toggle();
4609 4609
 
4610
-			echo "<p>" . esc_attr( $this->options['widget_ops']['description'] ) . "</p>";
4610
+			echo "<p>" . esc_attr($this->options['widget_ops']['description']) . "</p>";
4611 4611
 			$arguments_raw = $this->get_arguments();
4612 4612
 
4613
-			if ( is_array( $arguments_raw ) ) {
4613
+			if (is_array($arguments_raw)) {
4614 4614
 
4615
-				$arguments = $this->group_arguments( $arguments_raw );
4615
+				$arguments = $this->group_arguments($arguments_raw);
4616 4616
 
4617 4617
 				// Do we have sections?
4618 4618
 				$has_sections = $arguments == $arguments_raw ? false : true;
4619 4619
 
4620 4620
 
4621
-				if ( $has_sections ) {
4621
+				if ($has_sections) {
4622 4622
 					$panel_count = 0;
4623
-					foreach ( $arguments as $key => $args ) {
4623
+					foreach ($arguments as $key => $args) {
4624 4624
 
4625 4625
 						?>
4626 4626
 						<script>
@@ -4630,26 +4630,26 @@  discard block
 block discarded – undo
4630 4630
 
4631 4631
 						$hide       = $panel_count ? ' style="display:none;" ' : '';
4632 4632
 						$icon_class = $panel_count ? 'fas fa-chevron-up' : 'fas fa-chevron-down';
4633
-						echo "<button onclick='jQuery(this).find(\"i\").toggleClass(\"fas fa-chevron-up fas fa-chevron-down\");jQuery(this).next().slideToggle();' type='button' class='sd-toggle-group-button sd-input-group-toggle" . sanitize_title_with_dashes( $key ) . "'>" . esc_attr( $key ) . " <i style='float:right;' class='" . $icon_class . "'></i></button>";
4634
-						echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes( $key ) . "' $hide>";
4633
+						echo "<button onclick='jQuery(this).find(\"i\").toggleClass(\"fas fa-chevron-up fas fa-chevron-down\");jQuery(this).next().slideToggle();' type='button' class='sd-toggle-group-button sd-input-group-toggle" . sanitize_title_with_dashes($key) . "'>" . esc_attr($key) . " <i style='float:right;' class='" . $icon_class . "'></i></button>";
4634
+						echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes($key) . "' $hide>";
4635 4635
 
4636
-						foreach ( $args as $k => $a ) {
4636
+						foreach ($args as $k => $a) {
4637 4637
 
4638 4638
 							$this->widget_inputs_row_start($k, $a);
4639
-							$this->widget_inputs( $a, $instance );
4639
+							$this->widget_inputs($a, $instance);
4640 4640
 							$this->widget_inputs_row_end($k, $a);
4641 4641
 
4642 4642
 						}
4643 4643
 
4644 4644
 						echo "</div>";
4645 4645
 
4646
-						$panel_count ++;
4646
+						$panel_count++;
4647 4647
 
4648 4648
 					}
4649 4649
 				} else {
4650
-					foreach ( $arguments as $key => $args ) {
4650
+					foreach ($arguments as $key => $args) {
4651 4651
 						$this->widget_inputs_row_start($key, $args);
4652
-						$this->widget_inputs( $args, $instance );
4652
+						$this->widget_inputs($args, $instance);
4653 4653
 						$this->widget_inputs_row_end($key, $args);
4654 4654
 					}
4655 4655
 				}
@@ -4657,28 +4657,28 @@  discard block
 block discarded – undo
4657 4657
 			}
4658 4658
 		}
4659 4659
 
4660
-		public function widget_inputs_row_start( $key, $args ) {
4661
-			if ( ! empty( $args['row'] ) ) {
4660
+		public function widget_inputs_row_start($key, $args) {
4661
+			if (!empty($args['row'])) {
4662 4662
 				// Maybe open
4663
-				if ( ! empty( $args['row']['open'] ) ) {
4663
+				if (!empty($args['row']['open'])) {
4664 4664
 					?>
4665
-					<div class='bsui sd-argument' data-argument='<?php echo esc_attr( $args['row']['key'] ); ?>' data-element_require='<?php echo ( ! empty( $args['row']['element_require'] ) ? $this->convert_element_require( $args['row']['element_require'] ) : '' ); ?>'>
4666
-					<?php if ( ! empty( $args['row']['title'] ) ) { ?>
4665
+					<div class='bsui sd-argument' data-argument='<?php echo esc_attr($args['row']['key']); ?>' data-element_require='<?php echo (!empty($args['row']['element_require']) ? $this->convert_element_require($args['row']['element_require']) : ''); ?>'>
4666
+					<?php if (!empty($args['row']['title'])) { ?>
4667 4667
 					<?php
4668
-						if ( isset( $args['row']['icon'] ) ) {
4668
+						if (isset($args['row']['icon'])) {
4669 4669
 							$args['row']['icon'] = '';
4670 4670
 						}
4671 4671
 
4672
-						if ( ! isset( $args['row']['device_type'] ) && isset( $args['device_type'] ) ) {
4672
+						if (!isset($args['row']['device_type']) && isset($args['device_type'])) {
4673 4673
 							$args['row']['device_type'] = $args['device_type'];
4674 4674
 						}
4675 4675
 					?>
4676
-					<label class="mb-0"><?php echo $this->widget_field_title( $args['row'] ); ?><?php echo $this->widget_field_desc( $args['row'] ); ?></label>
4676
+					<label class="mb-0"><?php echo $this->widget_field_title($args['row']); ?><?php echo $this->widget_field_desc($args['row']); ?></label>
4677 4677
 					<?php } ?>
4678
-					<div class='row<?php echo ( ! empty( $args['row']['class'] ) ? ' ' . esc_attr( $args['row']['class'] ) : '' ); ?>'>
4678
+					<div class='row<?php echo (!empty($args['row']['class']) ? ' ' . esc_attr($args['row']['class']) : ''); ?>'>
4679 4679
 					<div class='col pr-2'>
4680 4680
 					<?php
4681
-				} else if ( ! empty( $args['row']['close'] ) ) {
4681
+				} else if (!empty($args['row']['close'])) {
4682 4682
 					echo "<div class='col pl-0 ps-0'>";
4683 4683
 				} else {
4684 4684
 					echo "<div class='col pl-0 ps-0 pr-2 pe-2'>";
@@ -4686,10 +4686,10 @@  discard block
 block discarded – undo
4686 4686
 			}
4687 4687
 		}
4688 4688
 
4689
-		public function widget_inputs_row_end( $key, $args ) {
4690
-			if ( ! empty( $args['row'] ) ) {
4689
+		public function widget_inputs_row_end($key, $args) {
4690
+			if (!empty($args['row'])) {
4691 4691
 				// Maybe close
4692
-				if ( ! empty( $args['row']['close'] ) ) {
4692
+				if (!empty($args['row']['close'])) {
4693 4693
 					echo "</div></div>";
4694 4694
 				}
4695 4695
 				echo "</div>";
@@ -4704,7 +4704,7 @@  discard block
 block discarded – undo
4704 4704
 		public function widget_advanced_toggle() {
4705 4705
 
4706 4706
 			$output = '';
4707
-			if ( $this->block_show_advanced() ) {
4707
+			if ($this->block_show_advanced()) {
4708 4708
 				$val = 1;
4709 4709
 			} else {
4710 4710
 				$val = 0;
@@ -4724,14 +4724,14 @@  discard block
 block discarded – undo
4724 4724
 		 *@since 1.0.0
4725 4725
 		 *
4726 4726
 		 */
4727
-		public function convert_element_require( $input ) {
4728
-			$input = str_replace( "'", '"', $input );// we only want double quotes
4727
+		public function convert_element_require($input) {
4728
+			$input = str_replace("'", '"', $input); // we only want double quotes
4729 4729
 
4730
-			$output = esc_attr( str_replace( array( "[%", "%]", "%:checked]" ), array(
4730
+			$output = esc_attr(str_replace(array("[%", "%]", "%:checked]"), array(
4731 4731
 				"jQuery(form).find('[data-argument=\"",
4732 4732
 				"\"]').find('input,select,textarea').val()",
4733 4733
 				"\"]').find('input:checked').val()"
4734
-			), $input ) );
4734
+			), $input));
4735 4735
 
4736 4736
 			return $output;
4737 4737
 		}
@@ -4742,48 +4742,48 @@  discard block
 block discarded – undo
4742 4742
 		 * @param $args
4743 4743
 		 * @param $instance
4744 4744
 		 */
4745
-		public function widget_inputs( $args, $instance ) {
4745
+		public function widget_inputs($args, $instance) {
4746 4746
 
4747 4747
 			$class             = "";
4748 4748
 			$element_require   = "";
4749 4749
 			$custom_attributes = "";
4750 4750
 
4751 4751
 			// get value
4752
-			if ( isset( $instance[ $args['name'] ] ) ) {
4753
-				$value = $instance[ $args['name'] ];
4754
-			} elseif ( ! isset( $instance[ $args['name'] ] ) && ! empty( $args['default'] ) ) {
4755
-				$value = is_array( $args['default'] ) ? array_map( "esc_html", $args['default'] ) : esc_html( $args['default'] );
4752
+			if (isset($instance[$args['name']])) {
4753
+				$value = $instance[$args['name']];
4754
+			} elseif (!isset($instance[$args['name']]) && !empty($args['default'])) {
4755
+				$value = is_array($args['default']) ? array_map("esc_html", $args['default']) : esc_html($args['default']);
4756 4756
 			} else {
4757 4757
 				$value = '';
4758 4758
 			}
4759 4759
 
4760 4760
 			// get placeholder
4761
-			if ( ! empty( $args['placeholder'] ) ) {
4762
-				$placeholder = "placeholder='" . esc_html( $args['placeholder'] ) . "'";
4761
+			if (!empty($args['placeholder'])) {
4762
+				$placeholder = "placeholder='" . esc_html($args['placeholder']) . "'";
4763 4763
 			} else {
4764 4764
 				$placeholder = '';
4765 4765
 			}
4766 4766
 
4767 4767
 			// get if advanced
4768
-			if ( isset( $args['advanced'] ) && $args['advanced'] ) {
4768
+			if (isset($args['advanced']) && $args['advanced']) {
4769 4769
 				$class .= " sd-advanced-setting ";
4770 4770
 			}
4771 4771
 
4772 4772
 			// element_require
4773
-			if ( isset( $args['element_require'] ) && $args['element_require'] ) {
4773
+			if (isset($args['element_require']) && $args['element_require']) {
4774 4774
 				$element_require = $args['element_require'];
4775 4775
 			}
4776 4776
 
4777 4777
 			// custom_attributes
4778
-			if ( isset( $args['custom_attributes'] ) && $args['custom_attributes'] ) {
4779
-				$custom_attributes = $this->array_to_attributes( $args['custom_attributes'], true );
4778
+			if (isset($args['custom_attributes']) && $args['custom_attributes']) {
4779
+				$custom_attributes = $this->array_to_attributes($args['custom_attributes'], true);
4780 4780
 			}
4781 4781
 
4782 4782
 			// before wrapper
4783 4783
 			?>
4784
-			<p class="sd-argument <?php echo esc_attr( $class ); ?>" data-argument='<?php echo esc_attr( $args['name'] ); ?>' data-element_require='<?php if ( $element_require ) { echo $this->convert_element_require( $element_require );} ?>'>
4784
+			<p class="sd-argument <?php echo esc_attr($class); ?>" data-argument='<?php echo esc_attr($args['name']); ?>' data-element_require='<?php if ($element_require) { echo $this->convert_element_require($element_require); } ?>'>
4785 4785
 			<?php
4786
-			switch ( $args['type'] ) {
4786
+			switch ($args['type']) {
4787 4787
 				//array('text','password','number','email','tel','url','color')
4788 4788
 				case "text":
4789 4789
 				case "password":
@@ -4793,33 +4793,33 @@  discard block
 block discarded – undo
4793 4793
 				case "url":
4794 4794
 				case "color":
4795 4795
 					?>
4796
-					<label for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args );?><?php echo $this->widget_field_desc( $args ); ?></label>
4797
-					<input <?php echo $placeholder; ?> class="widefat" <?php echo $custom_attributes; ?> id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="<?php echo esc_attr( $args['type'] ); ?>" value="<?php echo esc_attr( $value ); ?>">
4796
+					<label for="<?php echo esc_attr($this->get_field_id($args['name'])); ?>"><?php echo $this->widget_field_title($args); ?><?php echo $this->widget_field_desc($args); ?></label>
4797
+					<input <?php echo $placeholder; ?> class="widefat" <?php echo $custom_attributes; ?> id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>" name="<?php echo esc_attr($this->get_field_name($args['name'])); ?>" type="<?php echo esc_attr($args['type']); ?>" value="<?php echo esc_attr($value); ?>">
4798 4798
 					<?php
4799 4799
 
4800 4800
 					break;
4801 4801
 				case "select":
4802
-					$multiple = isset( $args['multiple'] ) && $args['multiple'] ? true : false;
4803
-					if ( $multiple ) {
4804
-						if ( empty( $value ) ) {
4802
+					$multiple = isset($args['multiple']) && $args['multiple'] ? true : false;
4803
+					if ($multiple) {
4804
+						if (empty($value)) {
4805 4805
 							$value = array();
4806 4806
 						}
4807 4807
 					}
4808 4808
 					?>
4809
-					<label for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args ); ?><?php echo $this->widget_field_desc( $args ); ?></label>
4810
-					<select <?php echo $placeholder; ?> class="widefat" <?php echo $custom_attributes; ?> id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); if ( $multiple ) { echo "[]"; } ?>"
4811
-						<?php if ( $multiple ) {
4809
+					<label for="<?php echo esc_attr($this->get_field_id($args['name'])); ?>"><?php echo $this->widget_field_title($args); ?><?php echo $this->widget_field_desc($args); ?></label>
4810
+					<select <?php echo $placeholder; ?> class="widefat" <?php echo $custom_attributes; ?> id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>" name="<?php echo esc_attr($this->get_field_name($args['name'])); if ($multiple) { echo "[]"; } ?>"
4811
+						<?php if ($multiple) {
4812 4812
 							echo "multiple";
4813 4813
 						} //@todo not implemented yet due to gutenberg not supporting it
4814 4814
 						?>>
4815 4815
 						<?php
4816 4816
 
4817
-						if ( ! empty( $args['options'] ) ) {
4818
-							foreach ( $args['options'] as $val => $label ) {
4819
-								if ( $multiple ) {
4820
-									$selected = in_array( $val, $value ) ? 'selected="selected"' : '';
4817
+						if (!empty($args['options'])) {
4818
+							foreach ($args['options'] as $val => $label) {
4819
+								if ($multiple) {
4820
+									$selected = in_array($val, $value) ? 'selected="selected"' : '';
4821 4821
 								} else {
4822
-									$selected = selected( $value, $val, false );
4822
+									$selected = selected($value, $val, false);
4823 4823
 								}
4824 4824
 								echo "<option value='$val' " . $selected . ">$label</option>";
4825 4825
 							}
@@ -4830,20 +4830,20 @@  discard block
 block discarded – undo
4830 4830
 					break;
4831 4831
 				case "checkbox":
4832 4832
 					?>
4833
-					<input <?php echo $placeholder; ?> <?php checked( 1, $value, true ) ?> <?php echo $custom_attributes; ?> class="widefat" id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="checkbox" value="1">
4834
-					<label for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args );?><?php echo $this->widget_field_desc( $args ); ?></label>
4833
+					<input <?php echo $placeholder; ?> <?php checked(1, $value, true) ?> <?php echo $custom_attributes; ?> class="widefat" id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>" name="<?php echo esc_attr($this->get_field_name($args['name'])); ?>" type="checkbox" value="1">
4834
+					<label for="<?php echo esc_attr($this->get_field_id($args['name'])); ?>"><?php echo $this->widget_field_title($args); ?><?php echo $this->widget_field_desc($args); ?></label>
4835 4835
 					<?php
4836 4836
 					break;
4837 4837
 				case "textarea":
4838 4838
 					?>
4839
-					<label for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args ); ?><?php echo $this->widget_field_desc( $args ); ?></label>
4840
-					<textarea <?php echo $placeholder; ?> class="widefat" <?php echo $custom_attributes; ?> id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>"><?php echo esc_attr( $value ); ?></textarea>
4839
+					<label for="<?php echo esc_attr($this->get_field_id($args['name'])); ?>"><?php echo $this->widget_field_title($args); ?><?php echo $this->widget_field_desc($args); ?></label>
4840
+					<textarea <?php echo $placeholder; ?> class="widefat" <?php echo $custom_attributes; ?> id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>" name="<?php echo esc_attr($this->get_field_name($args['name'])); ?>"><?php echo esc_attr($value); ?></textarea>
4841 4841
 					<?php
4842 4842
 
4843 4843
 					break;
4844 4844
 				case "hidden":
4845 4845
 					?>
4846
-					<input id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="hidden" value="<?php echo esc_attr( $value ); ?>">
4846
+					<input id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>" name="<?php echo esc_attr($this->get_field_name($args['name'])); ?>" type="hidden" value="<?php echo esc_attr($value); ?>">
4847 4847
 					<?php
4848 4848
 					break;
4849 4849
 				default:
@@ -4853,15 +4853,15 @@  discard block
 block discarded – undo
4853 4853
 			?></p><?php
4854 4854
 		}
4855 4855
 
4856
-		public function get_widget_icon($icon = 'box-top', $title = ''){
4857
-			if($icon=='box-top'){
4858
-				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.048" height="9.017" fill="#555D66"></rect><rect x="16.265" y="5.498" width="1.023" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.186" width="8.964" height="2.482" fill="#272B2F"></rect><rect x="5.487" y="16.261" width="9.026" height="1.037" fill="#555D66"></rect></svg>';
4859
-			}elseif($icon=='box-right'){
4860
-				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.046" height="9.017" fill="#555D66"></rect><rect x="15.244" y="5.498" width="2.518" height="9.003" fill="#272B2F"></rect><rect x="5.518" y="2.719" width="8.964" height="0.954" fill="#555D66"></rect><rect x="5.487" y="16.308" width="9.026" height="0.99" fill="#555D66"></rect></svg>';
4861
-			}elseif($icon=='box-bottom'){
4862
-				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1" height="9.017" fill="#555D66"></rect><rect x="16.261" y="5.498" width="1.027" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.968" fill="#555D66"></rect><rect x="5.487" y="15.28" width="9.026" height="2.499" fill="#272B2F"></rect></svg>';
4863
-			}elseif($icon=='box-left'){
4864
-				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.202" y="5.492" width="2.503" height="9.017" fill="#272B2F"></rect><rect x="16.276" y="5.498" width="1.012" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.966" fill="#555D66"></rect><rect x="5.487" y="16.303" width="9.026" height="0.995" fill="#555D66"></rect></svg>';
4856
+		public function get_widget_icon($icon = 'box-top', $title = '') {
4857
+			if ($icon == 'box-top') {
4858
+				return '<svg title="' . esc_attr($title) . '" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.048" height="9.017" fill="#555D66"></rect><rect x="16.265" y="5.498" width="1.023" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.186" width="8.964" height="2.482" fill="#272B2F"></rect><rect x="5.487" y="16.261" width="9.026" height="1.037" fill="#555D66"></rect></svg>';
4859
+			}elseif ($icon == 'box-right') {
4860
+				return '<svg title="' . esc_attr($title) . '" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.046" height="9.017" fill="#555D66"></rect><rect x="15.244" y="5.498" width="2.518" height="9.003" fill="#272B2F"></rect><rect x="5.518" y="2.719" width="8.964" height="0.954" fill="#555D66"></rect><rect x="5.487" y="16.308" width="9.026" height="0.99" fill="#555D66"></rect></svg>';
4861
+			}elseif ($icon == 'box-bottom') {
4862
+				return '<svg title="' . esc_attr($title) . '" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1" height="9.017" fill="#555D66"></rect><rect x="16.261" y="5.498" width="1.027" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.968" fill="#555D66"></rect><rect x="5.487" y="15.28" width="9.026" height="2.499" fill="#272B2F"></rect></svg>';
4863
+			}elseif ($icon == 'box-left') {
4864
+				return '<svg title="' . esc_attr($title) . '" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.202" y="5.492" width="2.503" height="9.017" fill="#272B2F"></rect><rect x="16.276" y="5.498" width="1.012" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.966" fill="#555D66"></rect><rect x="5.487" y="16.303" width="9.026" height="0.995" fill="#555D66"></rect></svg>';
4865 4865
 			}
4866 4866
 		}
4867 4867
 
@@ -4873,14 +4873,14 @@  discard block
 block discarded – undo
4873 4873
 		 * @return string
4874 4874
 		 * @todo, need to make its own tooltip script
4875 4875
 		 */
4876
-		public function widget_field_desc( $args ) {
4876
+		public function widget_field_desc($args) {
4877 4877
 
4878 4878
 			$description = '';
4879
-			if ( isset( $args['desc'] ) && $args['desc'] ) {
4880
-				if ( isset( $args['desc_tip'] ) && $args['desc_tip'] ) {
4881
-					$description = $this->desc_tip( $args['desc'] );
4879
+			if (isset($args['desc']) && $args['desc']) {
4880
+				if (isset($args['desc_tip']) && $args['desc_tip']) {
4881
+					$description = $this->desc_tip($args['desc']);
4882 4882
 				} else {
4883
-					$description = '<span class="description">' . wp_kses_post( $args['desc'] ) . '</span>';
4883
+					$description = '<span class="description">' . wp_kses_post($args['desc']) . '</span>';
4884 4884
 				}
4885 4885
 			}
4886 4886
 
@@ -4894,18 +4894,18 @@  discard block
 block discarded – undo
4894 4894
 		 *
4895 4895
 		 * @return string
4896 4896
 		 */
4897
-		public function widget_field_title( $args ) {
4897
+		public function widget_field_title($args) {
4898 4898
 			$title = '';
4899 4899
 
4900
-			if ( isset( $args['title'] ) && $args['title'] ) {
4901
-				if ( ! empty( $args['device_type'] ) ) {
4900
+			if (isset($args['title']) && $args['title']) {
4901
+				if (!empty($args['device_type'])) {
4902 4902
 					$args['title'] .= ' (' . $args['device_type'] . ')'; // Append device type to title.
4903 4903
 				}
4904 4904
 
4905
-				if ( isset( $args['icon'] ) && $args['icon'] ) {
4906
-					$title = self::get_widget_icon( $args['icon'], $args['title']  );
4905
+				if (isset($args['icon']) && $args['icon']) {
4906
+					$title = self::get_widget_icon($args['icon'], $args['title']);
4907 4907
 				} else {
4908
-					$title = esc_attr( $args['title'] );
4908
+					$title = esc_attr($args['title']);
4909 4909
 				}
4910 4910
 			}
4911 4911
 
@@ -4920,11 +4920,11 @@  discard block
 block discarded – undo
4920 4920
 		 *
4921 4921
 		 * @return string
4922 4922
 		 */
4923
-		function desc_tip( $tip, $allow_html = false ) {
4924
-			if ( $allow_html ) {
4925
-				$tip = $this->sanitize_tooltip( $tip );
4923
+		function desc_tip($tip, $allow_html = false) {
4924
+			if ($allow_html) {
4925
+				$tip = $this->sanitize_tooltip($tip);
4926 4926
 			} else {
4927
-				$tip = esc_attr( $tip );
4927
+				$tip = esc_attr($tip);
4928 4928
 			}
4929 4929
 
4930 4930
 			return '<span class="gd-help-tip dashicons dashicons-editor-help" title="' . $tip . '"></span>';
@@ -4937,8 +4937,8 @@  discard block
 block discarded – undo
4937 4937
 		 *
4938 4938
 		 * @return string
4939 4939
 		 */
4940
-		public function sanitize_tooltip( $var ) {
4941
-			return htmlspecialchars( wp_kses( html_entity_decode( $var ), array(
4940
+		public function sanitize_tooltip($var) {
4941
+			return htmlspecialchars(wp_kses(html_entity_decode($var), array(
4942 4942
 				'br'     => array(),
4943 4943
 				'em'     => array(),
4944 4944
 				'strong' => array(),
@@ -4948,7 +4948,7 @@  discard block
 block discarded – undo
4948 4948
 				'li'     => array(),
4949 4949
 				'ol'     => array(),
4950 4950
 				'p'      => array(),
4951
-			) ) );
4951
+			)));
4952 4952
 		}
4953 4953
 
4954 4954
 		/**
@@ -4960,23 +4960,23 @@  discard block
 block discarded – undo
4960 4960
 		 * @return array
4961 4961
 		 * @todo we should add some sanitation here.
4962 4962
 		 */
4963
-		public function update( $new_instance, $old_instance ) {
4963
+		public function update($new_instance, $old_instance) {
4964 4964
 
4965 4965
 			//save the widget
4966
-			$instance = array_merge( (array) $old_instance, (array) $new_instance );
4966
+			$instance = array_merge((array) $old_instance, (array) $new_instance);
4967 4967
 
4968 4968
 			// set widget instance
4969 4969
 			$this->instance = $instance;
4970 4970
 
4971
-			if ( empty( $this->arguments ) ) {
4971
+			if (empty($this->arguments)) {
4972 4972
 				$this->get_arguments();
4973 4973
 			}
4974 4974
 
4975 4975
 			// check for checkboxes
4976
-			if ( ! empty( $this->arguments ) ) {
4977
-				foreach ( $this->arguments as $argument ) {
4978
-					if ( isset( $argument['type'] ) && $argument['type'] == 'checkbox' && ! isset( $new_instance[ $argument['name'] ] ) ) {
4979
-						$instance[ $argument['name'] ] = '0';
4976
+			if (!empty($this->arguments)) {
4977
+				foreach ($this->arguments as $argument) {
4978
+					if (isset($argument['type']) && $argument['type'] == 'checkbox' && !isset($new_instance[$argument['name']])) {
4979
+						$instance[$argument['name']] = '0';
4980 4980
 					}
4981 4981
 				}
4982 4982
 			}
@@ -4994,7 +4994,7 @@  discard block
 block discarded – undo
4994 4994
 		 */
4995 4995
 		public function is_block_content_call() {
4996 4996
 			$result = false;
4997
-			if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
4997
+			if (wp_doing_ajax() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'super_duper_output_shortcode') {
4998 4998
 				$result = true;
4999 4999
 			}
5000 5000
 
@@ -5007,9 +5007,9 @@  discard block
 block discarded – undo
5007 5007
 		 * @return string
5008 5008
 		 *@since 1.0.20
5009 5009
 		 */
5010
-		public function get_instance_hash(){
5011
-			$instance_string = $this->base_id.serialize($this->instance);
5012
-			return hash('crc32b',$instance_string);
5010
+		public function get_instance_hash() {
5011
+			$instance_string = $this->base_id . serialize($this->instance);
5012
+			return hash('crc32b', $instance_string);
5013 5013
 		}
5014 5014
 
5015 5015
 		/**
@@ -5020,14 +5020,14 @@  discard block
 block discarded – undo
5020 5020
 		 * @return string
5021 5021
 		 *@since 1.0.20
5022 5022
 		 */
5023
-		public function get_instance_style($rules = array()){
5023
+		public function get_instance_style($rules = array()) {
5024 5024
 			$css = '';
5025 5025
 
5026
-			if(!empty($rules)){
5026
+			if (!empty($rules)) {
5027 5027
 				$rules = array_unique($rules);
5028 5028
 				$instance_hash = $this->get_instance_hash();
5029 5029
 				$css .= "<style>";
5030
-				foreach($rules as $rule){
5030
+				foreach ($rules as $rule) {
5031 5031
 					$css .= ".sdel-$instance_hash $rule";
5032 5032
 				}
5033 5033
 				$css .= "</style>";
@@ -5045,9 +5045,9 @@  discard block
 block discarded – undo
5045 5045
 		 *@since 1.0.28
5046 5046
 		 *
5047 5047
 		 */
5048
-		public function encode_shortcodes( $content ) {
5048
+		public function encode_shortcodes($content) {
5049 5049
 			// Avoids existing encoded tags.
5050
-			$trans   = array(
5050
+			$trans = array(
5051 5051
 				'&#91;' => '&#091;',
5052 5052
 				'&#93;' => '&#093;',
5053 5053
 				'&amp;#91;' => '&#091;',
@@ -5058,7 +5058,7 @@  discard block
 block discarded – undo
5058 5058
 				'&amp;gt;' => '&0gt;',
5059 5059
 			);
5060 5060
 
5061
-			$content = strtr( $content, $trans );
5061
+			$content = strtr($content, $trans);
5062 5062
 
5063 5063
 			$trans   = array(
5064 5064
 				'[' => '&#91;',
@@ -5069,7 +5069,7 @@  discard block
 block discarded – undo
5069 5069
 				"'" => '&#39;',
5070 5070
 			);
5071 5071
 
5072
-			$content = strtr( $content, $trans );
5072
+			$content = strtr($content, $trans);
5073 5073
 
5074 5074
 			return $content;
5075 5075
 		}
@@ -5083,8 +5083,8 @@  discard block
 block discarded – undo
5083 5083
 		 *@since 1.0.28
5084 5084
 		 *
5085 5085
 		 */
5086
-		public function decode_shortcodes( $content ) {
5087
-			$trans   = array(
5086
+		public function decode_shortcodes($content) {
5087
+			$trans = array(
5088 5088
 				'&#91;' => '[',
5089 5089
 				'&#93;' => ']',
5090 5090
 				'&amp;#91;' => '[',
@@ -5097,7 +5097,7 @@  discard block
 block discarded – undo
5097 5097
 				'&apos;' => "'",
5098 5098
 			);
5099 5099
 
5100
-			$content = strtr( $content, $trans );
5100
+			$content = strtr($content, $trans);
5101 5101
 
5102 5102
 			$trans   = array(
5103 5103
 				'&#091;' => '&#91;',
@@ -5110,31 +5110,31 @@  discard block
 block discarded – undo
5110 5110
 				'&amp;0gt;' => '&gt;',
5111 5111
 			);
5112 5112
 
5113
-			$content = strtr( $content, $trans );
5113
+			$content = strtr($content, $trans);
5114 5114
 
5115 5115
 			return $content;
5116 5116
 		}
5117 5117
 
5118
-		public function block_visibility_fields( $args ) {
5119
-			$value = ! empty( $args['value'] ) ? esc_attr( $args['value'] ) : '';
5118
+		public function block_visibility_fields($args) {
5119
+			$value = !empty($args['value']) ? esc_attr($args['value']) : '';
5120 5120
 			$content = '<div class="bs-vc-rule-template d-none">';
5121 5121
 				$content .= '<div class="p-3 pb-0 mb-3 border border-1 rounded-1 position-relative bs-vc-rule" data-bs-index="BSVCINDEX" >';
5122 5122
 					$content .= '<div class="row">';
5123 5123
 						$content .= '<div class="col-sm-12">';
5124
-							$content .= '<div class="bs-rule-action position-absolute top-0 end-0 p-2 zindex-5"><span class="text-danger c-pointer bs-vc-remove-rule" title="' . esc_attr__( 'Remove Rule', 'ayecode-connect' ) . '"><i class="fas fa-circle-minus fs-6"></i></span></div>';
5124
+							$content .= '<div class="bs-rule-action position-absolute top-0 end-0 p-2 zindex-5"><span class="text-danger c-pointer bs-vc-remove-rule" title="' . esc_attr__('Remove Rule', 'ayecode-connect') . '"><i class="fas fa-circle-minus fs-6"></i></span></div>';
5125 5125
 							$content .= aui()->select(
5126 5126
 								array(
5127 5127
 									'id'          => 'bsvc_rule_BSVCINDEX',
5128 5128
 									'name'        => 'bsvc_rule_BSVCINDEX',
5129
-									'label'       => __( 'Rule', 'ayecode-connect' ),
5130
-									'placeholder' => __( 'Select Rule...', 'ayecode-connect' ),
5129
+									'label'       => __('Rule', 'ayecode-connect'),
5130
+									'placeholder' => __('Select Rule...', 'ayecode-connect'),
5131 5131
 									'class'       => 'bsvc_rule form-select-sm no-select2 mw-100',
5132 5132
 									'options'     => sd_visibility_rules_options(),
5133 5133
 									'default'     => '',
5134 5134
 									'value'       => '',
5135 5135
 									'label_type'  => '',
5136 5136
 									'select2'     => false,
5137
-									'input_group_left' => __( 'Rule:', 'ayecode-connect' ),
5137
+									'input_group_left' => __('Rule:', 'ayecode-connect'),
5138 5138
 									'extra_attributes' => array(
5139 5139
 										'data-minimum-results-for-search' => '-1'
5140 5140
 									)
@@ -5143,15 +5143,15 @@  discard block
 block discarded – undo
5143 5143
 
5144 5144
 						$content .= '</div>';
5145 5145
 
5146
-						if ( class_exists( 'GeoDirectory' ) ) {
5146
+						if (class_exists('GeoDirectory')) {
5147 5147
 							$content .= '<div class="col-md-7 col-sm-12">';
5148 5148
 
5149 5149
 								$content .= aui()->select(
5150 5150
 									array(
5151 5151
 										'id'          => 'bsvc_gd_field_BSVCINDEX',
5152 5152
 										'name'        => 'bsvc_gd_field_BSVCINDEX',
5153
-										'label'       => __( 'FIELD', 'ayecode-connect' ),
5154
-										'placeholder' => __( 'FIELD', 'ayecode-connect' ),
5153
+										'label'       => __('FIELD', 'ayecode-connect'),
5154
+										'placeholder' => __('FIELD', 'ayecode-connect'),
5155 5155
 										'class'       => 'bsvc_gd_field form-select-sm no-select2 mw-100',
5156 5156
 										'options'     => sd_visibility_gd_field_options(),
5157 5157
 										'default'     => '',
@@ -5172,8 +5172,8 @@  discard block
 block discarded – undo
5172 5172
 									array(
5173 5173
 										'id'          => 'bsvc_gd_field_condition_BSVCINDEX',
5174 5174
 										'name'        => 'bsvc_gd_field_condition_BSVCINDEX',
5175
-										'label'       => __( 'CONDITION', 'ayecode-connect' ),
5176
-										'placeholder' => __( 'CONDITION', 'ayecode-connect' ),
5175
+										'label'       => __('CONDITION', 'ayecode-connect'),
5176
+										'placeholder' => __('CONDITION', 'ayecode-connect'),
5177 5177
 										'class'       => 'bsvc_gd_field_condition form-select-sm no-select2 mw-100',
5178 5178
 										'options'     => sd_visibility_field_condition_options(),
5179 5179
 										'default'     => '',
@@ -5195,9 +5195,9 @@  discard block
 block discarded – undo
5195 5195
 										'type'            => 'text',
5196 5196
 										'id'              => 'bsvc_gd_field_search_BSVCINDEX',
5197 5197
 										'name'            => 'bsvc_gd_field_search_BSVCINDEX',
5198
-										'label'           => __( 'VALUE TO MATCH', 'ayecode-connect' ),
5198
+										'label'           => __('VALUE TO MATCH', 'ayecode-connect'),
5199 5199
 										'class'           => 'bsvc_gd_field_search form-control-sm',
5200
-										'placeholder'     => __( 'VALUE TO MATCH', 'ayecode-connect' ),
5200
+										'placeholder'     => __('VALUE TO MATCH', 'ayecode-connect'),
5201 5201
 										'label_type'      => '',
5202 5202
 										'value'           => '',
5203 5203
 										'element_require' => '([%bsvc_rule_BSVCINDEX%]=="gd_field" && [%bsvc_gd_field_condition_BSVCINDEX%] && [%bsvc_gd_field_condition_BSVCINDEX%]!="is_empty" && [%bsvc_gd_field_condition_BSVCINDEX%]!="is_not_empty")'
@@ -5207,15 +5207,15 @@  discard block
 block discarded – undo
5207 5207
 							$content .= '</div>';
5208 5208
 						}
5209 5209
 
5210
-                        $content .= apply_filters( 'sd_block_visibility_fields', '', $args );
5210
+                        $content .= apply_filters('sd_block_visibility_fields', '', $args);
5211 5211
 
5212 5212
 					$content .= '</div>';
5213 5213
 
5214
-					$content .= '<div class="row aui-conditional-field" data-element-require="jQuery(form).find(\'[name=bsvc_rule_BSVCINDEX]\').val()==\'user_roles\'" data-argument="bsvc_user_roles_BSVCINDEX_1"><label for="bsvc_user_roles_BSVCINDEX_1" class="form-label mb-3">' . __( 'Select User Roles:', 'ayecode-connect' ) . '</label>';
5214
+					$content .= '<div class="row aui-conditional-field" data-element-require="jQuery(form).find(\'[name=bsvc_rule_BSVCINDEX]\').val()==\'user_roles\'" data-argument="bsvc_user_roles_BSVCINDEX_1"><label for="bsvc_user_roles_BSVCINDEX_1" class="form-label mb-3">' . __('Select User Roles:', 'ayecode-connect') . '</label>';
5215 5215
 						$role_options = sd_user_roles_options();
5216 5216
 
5217 5217
 						$role_option_i = 0;
5218
-						foreach ( $role_options as $role_option_key => $role_option_name ) {
5218
+						foreach ($role_options as $role_option_key => $role_option_name) {
5219 5219
 							$role_option_i++;
5220 5220
 
5221 5221
 							$content .= '<div class="col-sm-6">';
@@ -5235,19 +5235,19 @@  discard block
 block discarded – undo
5235 5235
 							$content .= '</div>';
5236 5236
 						}
5237 5237
 					$content .= '</div>';
5238
-					$content .= '<div class="bs-vc-sep-wrap text-center position-absolute top-0 mt-n3"><div class="bs-vc-sep-cond d-inline-block badge text-dark bg-gray mt-1">' . esc_html__( 'AND', 'ayecode-connect' ) . '</div></div>';
5238
+					$content .= '<div class="bs-vc-sep-wrap text-center position-absolute top-0 mt-n3"><div class="bs-vc-sep-cond d-inline-block badge text-dark bg-gray mt-1">' . esc_html__('AND', 'ayecode-connect') . '</div></div>';
5239 5239
 				$content .= '</div>';
5240 5240
 			$content .= '</div>';
5241 5241
 			$content .= '<form id="bs-vc-modal-form" class="bs-vc-modal-form">';
5242 5242
 			$content .= '<div class="bs-vc-rule-sets"></div>';
5243
-			$content .= '<div class="row"><div class="col-sm-12 text-center pt-1 pb-4"><button type="button" class="btn btn-sm btn-primary d-block w-100 bs-vc-add-rule"><i class="fas fa-plus"></i> ' . __( 'Add Rule', 'ayecode-connect' ) . '</button></div></div>';
5243
+			$content .= '<div class="row"><div class="col-sm-12 text-center pt-1 pb-4"><button type="button" class="btn btn-sm btn-primary d-block w-100 bs-vc-add-rule"><i class="fas fa-plus"></i> ' . __('Add Rule', 'ayecode-connect') . '</button></div></div>';
5244 5244
 			$content .= '<div class="row"><div class="col-md-6 col-sm-12">';
5245 5245
 			$content .= aui()->select(
5246 5246
 				array(
5247 5247
 					'id'          => 'bsvc_output',
5248 5248
 					'name'        => 'bsvc_output',
5249
-					'label'       => __( 'What should happen if rules met.', 'ayecode-connect' ),
5250
-					'placeholder' => __( 'Show Block', 'ayecode-connect' ),
5249
+					'label'       => __('What should happen if rules met.', 'ayecode-connect'),
5250
+					'placeholder' => __('Show Block', 'ayecode-connect'),
5251 5251
 					'class'       => 'bsvc_output form-select-sm no-select2 mw-100',
5252 5252
 					'options'     => sd_visibility_output_options(),
5253 5253
 					'default'     => '',
@@ -5266,8 +5266,8 @@  discard block
 block discarded – undo
5266 5266
 				array(
5267 5267
 					'id'              => 'bsvc_page',
5268 5268
 					'name'            => 'bsvc_page',
5269
-					'label'           => __( 'Page Content', 'ayecode-connect' ),
5270
-					'placeholder'     => __( 'Select Page ID...', 'ayecode-connect' ),
5269
+					'label'           => __('Page Content', 'ayecode-connect'),
5270
+					'placeholder'     => __('Select Page ID...', 'ayecode-connect'),
5271 5271
 					'class'           => 'bsvc_page form-select-sm no-select2 mw-100',
5272 5272
 					'options'         => sd_template_page_options(),
5273 5273
 					'default'         => '',
@@ -5282,8 +5282,8 @@  discard block
 block discarded – undo
5282 5282
 				array(
5283 5283
 					'id'          => 'bsvc_tmpl_part',
5284 5284
 					'name'        => 'bsvc_tmpl_part',
5285
-					'label'       => __( 'Template Part', 'ayecode-connect' ),
5286
-					'placeholder' => __( 'Select Template Part...', 'ayecode-connect' ),
5285
+					'label'       => __('Template Part', 'ayecode-connect'),
5286
+					'placeholder' => __('Select Template Part...', 'ayecode-connect'),
5287 5287
 					'class'       => 'bsvc_tmpl_part form-select-sm no-select2 mw-100',
5288 5288
 					'options'     => sd_template_part_options(),
5289 5289
 					'default'     => '',
@@ -5301,8 +5301,8 @@  discard block
 block discarded – undo
5301 5301
 				array(
5302 5302
 					'id'               => 'bsvc_message_type',
5303 5303
 					'name'             => 'bsvc_message_type',
5304
-					'label'            => __( 'Custom Message Type', 'ayecode-connect' ),
5305
-					'placeholder'      => __( 'Default (none)', 'ayecode-connect' ),
5304
+					'label'            => __('Custom Message Type', 'ayecode-connect'),
5305
+					'placeholder'      => __('Default (none)', 'ayecode-connect'),
5306 5306
 					'class'            => 'bsvc_message_type form-select-sm no-select2 mw-100',
5307 5307
 					'options'          => sd_aui_colors(),
5308 5308
 					'default'          => '',
@@ -5325,7 +5325,7 @@  discard block
 block discarded – undo
5325 5325
 					'name'            => 'bsvc_message',
5326 5326
 					'label'           => '',
5327 5327
 					'class'           => 'bsvc_message form-control-sm mb-3',
5328
-					'placeholder'     => __( 'CUSTOM MESSAGE TO SHOW', 'ayecode-connect' ),
5328
+					'placeholder'     => __('CUSTOM MESSAGE TO SHOW', 'ayecode-connect'),
5329 5329
 					'label_type'      => '',
5330 5330
 					'value'           => '',
5331 5331
 					'form_group_class' => ' ',
@@ -5338,8 +5338,8 @@  discard block
 block discarded – undo
5338 5338
 				array(
5339 5339
 					'id'          => 'bsvc_output_n',
5340 5340
 					'name'        => 'bsvc_output_n',
5341
-					'label'       => __( 'What should happen if rules NOT met.', 'ayecode-connect' ),
5342
-					'placeholder' => __( 'Show Block', 'ayecode-connect' ),
5341
+					'label'       => __('What should happen if rules NOT met.', 'ayecode-connect'),
5342
+					'placeholder' => __('Show Block', 'ayecode-connect'),
5343 5343
 					'class'       => 'bsvc_output_n form-select-sm no-select2 mw-100',
5344 5344
 					'options'     => sd_visibility_output_options(),
5345 5345
 					'default'     => '',
@@ -5358,8 +5358,8 @@  discard block
 block discarded – undo
5358 5358
 				array(
5359 5359
 					'id'              => 'bsvc_page_n',
5360 5360
 					'name'            => 'bsvc_page_n',
5361
-					'label'           => __( 'Page Content', 'ayecode-connect' ),
5362
-					'placeholder'     => __( 'Select Page ID...', 'ayecode-connect' ),
5361
+					'label'           => __('Page Content', 'ayecode-connect'),
5362
+					'placeholder'     => __('Select Page ID...', 'ayecode-connect'),
5363 5363
 					'class'           => 'bsvc_page_n form-select-sm no-select2 mw-100',
5364 5364
 					'options'         => sd_template_page_options(),
5365 5365
 					'default'         => '',
@@ -5374,8 +5374,8 @@  discard block
 block discarded – undo
5374 5374
 				array(
5375 5375
 					'id'          => 'bsvc_tmpl_part_n',
5376 5376
 					'name'        => 'bsvc_tmpl_part_n',
5377
-					'label'       => __( 'Template Part', 'ayecode-connect' ),
5378
-					'placeholder' => __( 'Select Template Part...', 'ayecode-connect' ),
5377
+					'label'       => __('Template Part', 'ayecode-connect'),
5378
+					'placeholder' => __('Select Template Part...', 'ayecode-connect'),
5379 5379
 					'class'       => 'bsvc_tmpl_part_n form-select-sm no-select2 mw-100',
5380 5380
 					'options'     => sd_template_part_options(),
5381 5381
 					'default'     => '',
@@ -5393,8 +5393,8 @@  discard block
 block discarded – undo
5393 5393
 				array(
5394 5394
 					'id'               => 'bsvc_message_type_n',
5395 5395
 					'name'             => 'bsvc_message_type_n',
5396
-					'label'            => __( 'Custom Message Type', 'ayecode-connect' ),
5397
-					'placeholder'      => __( 'Default (none)', 'ayecode-connect' ),
5396
+					'label'            => __('Custom Message Type', 'ayecode-connect'),
5397
+					'placeholder'      => __('Default (none)', 'ayecode-connect'),
5398 5398
 					'class'            => 'bsvc_message_type_n form-select-sm no-select2 mw-100',
5399 5399
 					'options'          => sd_aui_colors(),
5400 5400
 					'default'          => '',
@@ -5417,7 +5417,7 @@  discard block
 block discarded – undo
5417 5417
 					'name'            => 'bsvc_message_n',
5418 5418
 					'label'           => '',
5419 5419
 					'class'           => 'bsvc_message_n form-control-sm',
5420
-					'placeholder'     => __( 'CUSTOM MESSAGE TO SHOW', 'ayecode-connect' ),
5420
+					'placeholder'     => __('CUSTOM MESSAGE TO SHOW', 'ayecode-connect'),
5421 5421
 					'label_type'      => '',
5422 5422
 					'value'           => '',
5423 5423
 					'form_group_class' => ' ',
@@ -5439,7 +5439,7 @@  discard block
 block discarded – undo
5439 5439
 			global $shortcode_insert_button_once;
5440 5440
 
5441 5441
 			// Fix conflicts with UpSolution Core in header template edit element.
5442
-			if ( defined( 'US_CORE_DIR' ) && ! empty( $_REQUEST['action'] ) && $_REQUEST['action'] == 'us_ajax_hb_get_ebuilder_html' ) {
5442
+			if (defined('US_CORE_DIR') && !empty($_REQUEST['action']) && $_REQUEST['action'] == 'us_ajax_hb_get_ebuilder_html') {
5443 5443
 				$shortcode_insert_button_once = true;
5444 5444
 			}
5445 5445
 		}
Please login to merge, or discard this patch.
Switch Indentation   +2015 added lines, -2015 removed lines patch added patch discarded remove patch
@@ -1,13 +1,13 @@  discard block
 block discarded – undo
1
-<?php
2
-if ( ! defined( 'ABSPATH' ) ) {
3
-	exit;
1
+    <?php
2
+    if ( ! defined( 'ABSPATH' ) ) {
3
+	    exit;
4 4
 }
5 5
 
6
-if ( ! class_exists( 'WP_Super_Duper' ) ) {
6
+    if ( ! class_exists( 'WP_Super_Duper' ) ) {
7 7
 
8
-	define( 'SUPER_DUPER_VER', '1.2.17' );
8
+	    define( 'SUPER_DUPER_VER', '1.2.17' );
9 9
 
10
-	/**
10
+	    /**
11 11
 	 * A Class to be able to create a Widget, Shortcode or Block to be able to output content for WordPress.
12 12
 	 *
13 13
 	 * Should not be called direct but extended instead.
@@ -16,298 +16,298 @@  discard block
 block discarded – undo
16 16
 	 * @since 1.0.16 change log moved to file change-log.txt - CHANGED
17 17
 	 * @ver 1.1.1
18 18
 	 */
19
-	class WP_Super_Duper extends WP_Widget {
20
-
21
-		public $version = SUPER_DUPER_VER;
22
-		public $font_awesome_icon_version = "5.11.2";
23
-		public $block_code;
24
-		public $options;
25
-		public $base_id;
26
-		public $settings_hash;
27
-		public $arguments = array();
28
-		public $instance = array();
29
-		private $class_name;
30
-
31
-		/**
19
+	    class WP_Super_Duper extends WP_Widget {
20
+
21
+		    public $version = SUPER_DUPER_VER;
22
+		    public $font_awesome_icon_version = "5.11.2";
23
+		    public $block_code;
24
+		    public $options;
25
+		    public $base_id;
26
+		    public $settings_hash;
27
+		    public $arguments = array();
28
+		    public $instance = array();
29
+		    private $class_name;
30
+
31
+		    /**
32 32
 		 * The relative url to the current folder.
33 33
 		 *
34 34
 		 * @var string
35 35
 		 */
36
-		public $url = '';
36
+		    public $url = '';
37 37
 
38
-		/**
38
+		    /**
39 39
 		 * Take the array options and use them to build.
40 40
 		 */
41
-		public function __construct( $options ) {
42
-			global $sd_widgets;
43
-
44
-			$sd_widgets[ $options['base_id'] ] = array(
45
-				'name'       => $options['name'],
46
-				'class_name' => $options['class_name'],
47
-				'output_types' => !empty($options['output_types']) ? $options['output_types'] : array()
48
-			);
49
-			$this->base_id                     = $options['base_id'];
50
-			// lets filter the options before we do anything
51
-			$options       = apply_filters( "wp_super_duper_options", $options );
52
-			$options       = apply_filters( "wp_super_duper_options_{$this->base_id}", $options );
53
-			$options       = $this->add_name_from_key( $options );
54
-			$this->options = $options;
55
-
56
-			$this->base_id   = $options['base_id'];
57
-			$this->arguments = isset( $options['arguments'] ) ? $options['arguments'] : array();
58
-
59
-			// nested blocks can't work as a widget
60
-			if(!empty($this->options['nested-block'])){
61
-				if(empty($this->options['output_types'])){
62
-					$this->options['output_types'] = array('shortcode','block');
63
-				}elseif (($key = array_search('widget', $this->options['output_types'])) !== false) {
64
-					unset($this->options['output_types'][$key]);
65
-				}
66
-			}
67
-
68
-			// init parent
69
-			if(empty($this->options['output_types']) || in_array('widget',$this->options['output_types'])){
70
-				parent::__construct( $options['base_id'], $options['name'], $options['widget_ops'] );
71
-			}
72
-
73
-
74
-			if ( isset( $options['class_name'] ) ) {
75
-				// register widget
76
-				$this->class_name = $options['class_name'];
77
-
78
-				// register shortcode, this needs to be done even for blocks and widgets
79
-				$this->register_shortcode();
80
-
81
-
82
-				// Fusion Builder (avada) support
83
-				if ( function_exists( 'fusion_builder_map' ) ) {
84
-					add_action( 'init', array( $this, 'register_fusion_element' ) );
85
-				}
86
-
87
-                // maybe load the Bricks transformer class
88
-                if( class_exists('\Bricks\Elements', false) ){
89
-					add_action( 'init', array( $this, 'load_bricks_element_class' ) );
90
-                }
91
-
92
-				// register block
93
-				if(empty($this->options['output_types']) || in_array('block',$this->options['output_types'])){
94
-					add_action( 'admin_enqueue_scripts', array( $this, 'register_block' ) );
95
-				}
96
-			}
97
-
98
-			// add the CSS and JS we need ONCE
99
-			global $sd_widget_scripts;
100
-
101
-			if ( ! $sd_widget_scripts ) {
102
-				wp_add_inline_script( 'admin-widgets', $this->widget_js() );
103
-				wp_add_inline_script( 'customize-controls', $this->widget_js() );
104
-				wp_add_inline_style( 'widgets', $this->widget_css() );
105
-
106
-				// maybe add elementor editor styles
107
-				add_action( 'elementor/editor/after_enqueue_styles', array( $this, 'elementor_editor_styles' ) );
108
-
109
-				$sd_widget_scripts = true;
110
-
111
-				// add shortcode insert button once
112
-				add_action( 'media_buttons', array( $this, 'wp_media_buttons' ), 1 );
113
-				add_action( 'media_buttons', array( $this, 'shortcode_insert_button' ) );
114
-				// generatepress theme sections compatibility
115
-				if ( function_exists( 'generate_sections_sections_metabox' ) ) {
116
-					add_action( 'generate_sections_metabox', array( $this, 'shortcode_insert_button_script' ) );
117
-				}
118
-				/* Load script on Divi theme builder page */
119
-				if ( function_exists( 'et_builder_is_tb_admin_screen' ) && et_builder_is_tb_admin_screen() ) {
120
-					add_thickbox();
121
-					add_action( 'admin_footer', array( $this, 'shortcode_insert_button_script' ) );
122
-				}
123
-
124
-				if ( $this->is_preview() ) {
125
-					add_action( 'wp_footer', array( $this, 'shortcode_insert_button_script' ) );
126
-					// this makes the insert button work for elementor
127
-					add_action( 'elementor/editor/after_enqueue_scripts', array(
128
-						$this,
129
-						'shortcode_insert_button_script'
130
-					) ); // for elementor
131
-				}
132
-				// this makes the insert button work for cornerstone
133
-				add_action( 'wp_print_footer_scripts', array( __CLASS__, 'maybe_cornerstone_builder' ) );
134
-
135
-				add_action( 'wp_ajax_super_duper_get_widget_settings', array( __CLASS__, 'get_widget_settings' ) );
136
-				add_action( 'wp_ajax_super_duper_get_picker', array( __CLASS__, 'get_picker' ) );
137
-
138
-				// add generator text to head
139
-				add_action( 'admin_head', array( $this, 'generator' ), 99 );
140
-				add_action( 'wp_head', array( $this, 'generator' ), 99 );
141
-			}
142
-
143
-			do_action( 'wp_super_duper_widget_init', $options, $this );
144
-		}
145
-
146
-        /**
41
+		    public function __construct( $options ) {
42
+			    global $sd_widgets;
43
+
44
+			    $sd_widgets[ $options['base_id'] ] = array(
45
+				    'name'       => $options['name'],
46
+				    'class_name' => $options['class_name'],
47
+				    'output_types' => !empty($options['output_types']) ? $options['output_types'] : array()
48
+			    );
49
+			    $this->base_id                     = $options['base_id'];
50
+			    // lets filter the options before we do anything
51
+			    $options       = apply_filters( "wp_super_duper_options", $options );
52
+			    $options       = apply_filters( "wp_super_duper_options_{$this->base_id}", $options );
53
+			    $options       = $this->add_name_from_key( $options );
54
+			    $this->options = $options;
55
+
56
+			    $this->base_id   = $options['base_id'];
57
+			    $this->arguments = isset( $options['arguments'] ) ? $options['arguments'] : array();
58
+
59
+			    // nested blocks can't work as a widget
60
+			    if(!empty($this->options['nested-block'])){
61
+				    if(empty($this->options['output_types'])){
62
+					    $this->options['output_types'] = array('shortcode','block');
63
+				    }elseif (($key = array_search('widget', $this->options['output_types'])) !== false) {
64
+					    unset($this->options['output_types'][$key]);
65
+				    }
66
+			    }
67
+
68
+			    // init parent
69
+			    if(empty($this->options['output_types']) || in_array('widget',$this->options['output_types'])){
70
+				    parent::__construct( $options['base_id'], $options['name'], $options['widget_ops'] );
71
+			    }
72
+
73
+
74
+			    if ( isset( $options['class_name'] ) ) {
75
+				    // register widget
76
+				    $this->class_name = $options['class_name'];
77
+
78
+				    // register shortcode, this needs to be done even for blocks and widgets
79
+				    $this->register_shortcode();
80
+
81
+
82
+				    // Fusion Builder (avada) support
83
+				    if ( function_exists( 'fusion_builder_map' ) ) {
84
+					    add_action( 'init', array( $this, 'register_fusion_element' ) );
85
+				    }
86
+
87
+                    // maybe load the Bricks transformer class
88
+                    if( class_exists('\Bricks\Elements', false) ){
89
+					    add_action( 'init', array( $this, 'load_bricks_element_class' ) );
90
+                    }
91
+
92
+				    // register block
93
+				    if(empty($this->options['output_types']) || in_array('block',$this->options['output_types'])){
94
+					    add_action( 'admin_enqueue_scripts', array( $this, 'register_block' ) );
95
+				    }
96
+			    }
97
+
98
+			    // add the CSS and JS we need ONCE
99
+			    global $sd_widget_scripts;
100
+
101
+			    if ( ! $sd_widget_scripts ) {
102
+				    wp_add_inline_script( 'admin-widgets', $this->widget_js() );
103
+				    wp_add_inline_script( 'customize-controls', $this->widget_js() );
104
+				    wp_add_inline_style( 'widgets', $this->widget_css() );
105
+
106
+				    // maybe add elementor editor styles
107
+				    add_action( 'elementor/editor/after_enqueue_styles', array( $this, 'elementor_editor_styles' ) );
108
+
109
+				    $sd_widget_scripts = true;
110
+
111
+				    // add shortcode insert button once
112
+				    add_action( 'media_buttons', array( $this, 'wp_media_buttons' ), 1 );
113
+				    add_action( 'media_buttons', array( $this, 'shortcode_insert_button' ) );
114
+				    // generatepress theme sections compatibility
115
+				    if ( function_exists( 'generate_sections_sections_metabox' ) ) {
116
+					    add_action( 'generate_sections_metabox', array( $this, 'shortcode_insert_button_script' ) );
117
+				    }
118
+				    /* Load script on Divi theme builder page */
119
+				    if ( function_exists( 'et_builder_is_tb_admin_screen' ) && et_builder_is_tb_admin_screen() ) {
120
+					    add_thickbox();
121
+					    add_action( 'admin_footer', array( $this, 'shortcode_insert_button_script' ) );
122
+				    }
123
+
124
+				    if ( $this->is_preview() ) {
125
+					    add_action( 'wp_footer', array( $this, 'shortcode_insert_button_script' ) );
126
+					    // this makes the insert button work for elementor
127
+					    add_action( 'elementor/editor/after_enqueue_scripts', array(
128
+						    $this,
129
+						    'shortcode_insert_button_script'
130
+					    ) ); // for elementor
131
+				    }
132
+				    // this makes the insert button work for cornerstone
133
+				    add_action( 'wp_print_footer_scripts', array( __CLASS__, 'maybe_cornerstone_builder' ) );
134
+
135
+				    add_action( 'wp_ajax_super_duper_get_widget_settings', array( __CLASS__, 'get_widget_settings' ) );
136
+				    add_action( 'wp_ajax_super_duper_get_picker', array( __CLASS__, 'get_picker' ) );
137
+
138
+				    // add generator text to head
139
+				    add_action( 'admin_head', array( $this, 'generator' ), 99 );
140
+				    add_action( 'wp_head', array( $this, 'generator' ), 99 );
141
+			    }
142
+
143
+			    do_action( 'wp_super_duper_widget_init', $options, $this );
144
+		    }
145
+
146
+            /**
147 147
          * Load the Bricks conversion class if we are running Bricks.
148 148
          * @return void
149 149
          */
150
-        public function load_bricks_element_class() {
151
-                    include_once __DIR__ . '/includes/class-super-duper-bricks-element.php';
152
-        }
150
+            public function load_bricks_element_class() {
151
+                        include_once __DIR__ . '/includes/class-super-duper-bricks-element.php';
152
+            }
153 153
 
154
-		/**
154
+		    /**
155 155
 		 * The register widget function
156 156
 		 * @return void
157 157
 		 */
158
-		public function _register() {
159
-			if(empty($this->options['output_types']) || in_array('widget',$this->options['output_types'])){
160
-				parent::_register();
161
-			}
162
-		}
158
+		    public function _register() {
159
+			    if(empty($this->options['output_types']) || in_array('widget',$this->options['output_types'])){
160
+				    parent::_register();
161
+			    }
162
+		    }
163 163
 
164
-		/**
164
+		    /**
165 165
 		 * Add our widget CSS to elementor editor.
166 166
 		 */
167
-		public function elementor_editor_styles() {
168
-			wp_add_inline_style( 'elementor-editor', $this->widget_css( false ) );
169
-		}
170
-
171
-		public function register_fusion_element() {
172
-
173
-			$options = $this->options;
174
-
175
-			if ( $this->base_id ) {
176
-
177
-				$params = $this->get_fusion_params();
178
-
179
-				$args = array(
180
-					'name'            => $options['name'],
181
-					'shortcode'       => $this->base_id,
182
-					'icon'            => $options['block-icon'] ? $options['block-icon'] : 'far fa-square',
183
-					'allow_generator' => true,
184
-				);
185
-
186
-				if ( ! empty( $params ) ) {
187
-					$args['params'] = $params;
188
-				}
189
-
190
-				fusion_builder_map( $args );
191
-			}
192
-
193
-		}
194
-
195
-		public function get_fusion_params() {
196
-			$params    = array();
197
-			$arguments = $this->get_arguments();
198
-
199
-			if ( ! empty( $arguments ) ) {
200
-				foreach ( $arguments as $key => $val ) {
201
-					$param = array();
202
-					// type
203
-					$param['type'] = str_replace(
204
-						array(
205
-							"text",
206
-							"number",
207
-							"email",
208
-							"color",
209
-							"checkbox"
210
-						),
211
-						array(
212
-							"textfield",
213
-							"textfield",
214
-							"textfield",
215
-							"colorpicker",
216
-							"select",
217
-
218
-						),
219
-						$val['type'] );
220
-
221
-					// multiselect
222
-					if ( $val['type'] == 'multiselect' || ( ( $param['type'] == 'select' || $val['type'] == 'select' ) && ! empty( $val['multiple'] ) ) ) {
223
-						$param['type']     = 'multiple_select';
224
-						$param['multiple'] = true;
225
-					}
226
-
227
-					// heading
228
-					$param['heading'] = isset( $val['title'] ) ? $val['title'] : '';
229
-
230
-					// description
231
-					$param['description'] = isset( $val['desc'] ) ? $val['desc'] : '';
232
-
233
-					// param_name
234
-					$param['param_name'] = $key;
235
-
236
-					// Default
237
-					$param['default'] = isset( $val['default'] ) ? $val['default'] : '';
238
-
239
-					// Group
240
-					if ( isset( $val['group'] ) ) {
241
-						$param['group'] = $val['group'];
242
-					}
243
-
244
-					// value
245
-					if ( $val['type'] == 'checkbox' ) {
246
-						if ( isset( $val['default'] ) && $val['default'] == '0' ) {
247
-							unset( $param['default'] );
248
-						}
249
-						$param['value'] = array( '0' => __( "No", 'ayecode-connect' ), '1' => __( "Yes", 'ayecode-connect' ) );
250
-					} elseif ( $param['type'] == 'select' || $param['type'] == 'multiple_select' ) {
251
-						$param['value'] = isset( $val['options'] ) ? $val['options'] : array();
252
-					} else {
253
-						$param['value'] = isset( $val['default'] ) ? $val['default'] : '';
254
-					}
255
-
256
-					// setup the param
257
-					$params[] = $param;
258
-
259
-				}
260
-			}
261
-
262
-
263
-			return $params;
264
-		}
265
-
266
-		/**
167
+		    public function elementor_editor_styles() {
168
+			    wp_add_inline_style( 'elementor-editor', $this->widget_css( false ) );
169
+		    }
170
+
171
+		    public function register_fusion_element() {
172
+
173
+			    $options = $this->options;
174
+
175
+			    if ( $this->base_id ) {
176
+
177
+				    $params = $this->get_fusion_params();
178
+
179
+				    $args = array(
180
+					    'name'            => $options['name'],
181
+					    'shortcode'       => $this->base_id,
182
+					    'icon'            => $options['block-icon'] ? $options['block-icon'] : 'far fa-square',
183
+					    'allow_generator' => true,
184
+				    );
185
+
186
+				    if ( ! empty( $params ) ) {
187
+					    $args['params'] = $params;
188
+				    }
189
+
190
+				    fusion_builder_map( $args );
191
+			    }
192
+
193
+		    }
194
+
195
+		    public function get_fusion_params() {
196
+			    $params    = array();
197
+			    $arguments = $this->get_arguments();
198
+
199
+			    if ( ! empty( $arguments ) ) {
200
+				    foreach ( $arguments as $key => $val ) {
201
+					    $param = array();
202
+					    // type
203
+					    $param['type'] = str_replace(
204
+						    array(
205
+							    "text",
206
+							    "number",
207
+							    "email",
208
+							    "color",
209
+							    "checkbox"
210
+						    ),
211
+						    array(
212
+							    "textfield",
213
+							    "textfield",
214
+							    "textfield",
215
+							    "colorpicker",
216
+							    "select",
217
+
218
+						    ),
219
+						    $val['type'] );
220
+
221
+					    // multiselect
222
+					    if ( $val['type'] == 'multiselect' || ( ( $param['type'] == 'select' || $val['type'] == 'select' ) && ! empty( $val['multiple'] ) ) ) {
223
+						    $param['type']     = 'multiple_select';
224
+						    $param['multiple'] = true;
225
+					    }
226
+
227
+					    // heading
228
+					    $param['heading'] = isset( $val['title'] ) ? $val['title'] : '';
229
+
230
+					    // description
231
+					    $param['description'] = isset( $val['desc'] ) ? $val['desc'] : '';
232
+
233
+					    // param_name
234
+					    $param['param_name'] = $key;
235
+
236
+					    // Default
237
+					    $param['default'] = isset( $val['default'] ) ? $val['default'] : '';
238
+
239
+					    // Group
240
+					    if ( isset( $val['group'] ) ) {
241
+						    $param['group'] = $val['group'];
242
+					    }
243
+
244
+					    // value
245
+					    if ( $val['type'] == 'checkbox' ) {
246
+						    if ( isset( $val['default'] ) && $val['default'] == '0' ) {
247
+							    unset( $param['default'] );
248
+						    }
249
+						    $param['value'] = array( '0' => __( "No", 'ayecode-connect' ), '1' => __( "Yes", 'ayecode-connect' ) );
250
+					    } elseif ( $param['type'] == 'select' || $param['type'] == 'multiple_select' ) {
251
+						    $param['value'] = isset( $val['options'] ) ? $val['options'] : array();
252
+					    } else {
253
+						    $param['value'] = isset( $val['default'] ) ? $val['default'] : '';
254
+					    }
255
+
256
+					    // setup the param
257
+					    $params[] = $param;
258
+
259
+				    }
260
+			    }
261
+
262
+
263
+			    return $params;
264
+		    }
265
+
266
+		    /**
267 267
 		 * Maybe insert the shortcode inserter button in the footer if we are in the cornerstone builder
268 268
 		 */
269
-		public static function maybe_cornerstone_builder() {
270
-			if ( did_action( 'cornerstone_before_boot_app' ) ) {
271
-				self::shortcode_insert_button_script();
272
-			}
273
-		}
269
+		    public static function maybe_cornerstone_builder() {
270
+			    if ( did_action( 'cornerstone_before_boot_app' ) ) {
271
+				    self::shortcode_insert_button_script();
272
+			    }
273
+		    }
274 274
 
275
-		/**
275
+		    /**
276 276
 		 * A function to ge the shortcode builder picker html.
277 277
 		 *
278 278
 		 * @param string $editor_id
279 279
 		 *
280 280
 		 * @return string
281 281
 		 */
282
-		public static function get_picker( $editor_id = '' ) {
282
+		    public static function get_picker( $editor_id = '' ) {
283 283
 
284
-			ob_start();
285
-			if ( isset( $_POST['editor_id'] ) ) {
286
-				$editor_id = esc_attr( $_POST['editor_id'] );
287
-			} elseif ( isset( $_REQUEST['et_fb'] ) ) {
288
-				$editor_id = 'main_content_content_vb_tiny_mce';
289
-			}
284
+			    ob_start();
285
+			    if ( isset( $_POST['editor_id'] ) ) {
286
+				    $editor_id = esc_attr( $_POST['editor_id'] );
287
+			    } elseif ( isset( $_REQUEST['et_fb'] ) ) {
288
+				    $editor_id = 'main_content_content_vb_tiny_mce';
289
+			    }
290 290
 
291
-			global $sd_widgets;
291
+			    global $sd_widgets;
292 292
 
293
-//			print_r($sd_widgets);exit;
294
-			?>
293
+    //			print_r($sd_widgets);exit;
294
+			    ?>
295 295
 
296 296
 			<div class="sd-shortcode-left-wrap">
297 297
 				<?php
298
-				ksort( $sd_widgets );
299
-				//				print_r($sd_widgets);exit;
300
-				if ( ! empty( $sd_widgets ) ) {
301
-					echo '<select class="widefat" onchange="sd_get_shortcode_options(this);">';
302
-					echo "<option>" . __( 'Select shortcode', 'ayecode-connect' ) . "</option>";
303
-					foreach ( $sd_widgets as $shortcode => $class ) {
304
-						if(!empty($class['output_types']) && !in_array('shortcode', $class['output_types'])){ continue; }
305
-						echo "<option value='" . esc_attr( $shortcode ) . "'>" . esc_attr( $shortcode ) . " (" . esc_attr( $class['name'] ) . ")</option>";
306
-					}
307
-					echo "</select>";
308
-
309
-				}
310
-				?>
298
+				    ksort( $sd_widgets );
299
+				    //				print_r($sd_widgets);exit;
300
+				    if ( ! empty( $sd_widgets ) ) {
301
+					    echo '<select class="widefat" onchange="sd_get_shortcode_options(this);">';
302
+					    echo "<option>" . __( 'Select shortcode', 'ayecode-connect' ) . "</option>";
303
+					    foreach ( $sd_widgets as $shortcode => $class ) {
304
+						    if(!empty($class['output_types']) && !in_array('shortcode', $class['output_types'])){ continue; }
305
+						    echo "<option value='" . esc_attr( $shortcode ) . "'>" . esc_attr( $shortcode ) . " (" . esc_attr( $class['name'] ) . ")</option>";
306
+					    }
307
+					    echo "</select>";
308
+
309
+				    }
310
+				    ?>
311 311
 				<div class="sd-shortcode-settings"></div>
312 312
 
313 313
 			</div>
@@ -318,8 +318,8 @@  discard block
 block discarded – undo
318 318
 					<?php if ( $editor_id != '' ) { ?>
319 319
 						<button class="button sd-insert-shortcode-button"
320 320
 								onclick="sd_insert_shortcode(<?php if ( ! empty( $editor_id ) ) {
321
-									echo "'" . $editor_id . "'";
322
-								} ?>)"><?php _e( 'Insert shortcode', 'ayecode-connect' ); ?></button>
321
+									    echo "'" . $editor_id . "'";
322
+								    } ?>)"><?php _e( 'Insert shortcode', 'ayecode-connect' ); ?></button>
323 323
 					<?php } ?>
324 324
 					<button class="button"
325 325
 							onclick="sd_copy_to_clipboard()"><?php _e( 'Copy shortcode' ); ?></button>
@@ -327,94 +327,94 @@  discard block
 block discarded – undo
327 327
 			</div>
328 328
 			<?php
329 329
 
330
-			$html = ob_get_clean();
330
+			    $html = ob_get_clean();
331 331
 
332
-			if ( wp_doing_ajax() ) {
333
-				echo $html;
334
-				$should_die = true;
332
+			    if ( wp_doing_ajax() ) {
333
+				    echo $html;
334
+				    $should_die = true;
335 335
 
336
-				// some builder get the editor via ajax so we should not die on those occasions
337
-				$dont_die = array(
338
-					'parent_tag',// WP Bakery
339
-					'avia_request' // enfold
340
-				);
336
+				    // some builder get the editor via ajax so we should not die on those occasions
337
+				    $dont_die = array(
338
+					    'parent_tag',// WP Bakery
339
+					    'avia_request' // enfold
340
+				    );
341 341
 
342
-				foreach ( $dont_die as $request ) {
343
-					if ( isset( $_REQUEST[ $request ] ) ) {
344
-						$should_die = false;
345
-					}
346
-				}
342
+				    foreach ( $dont_die as $request ) {
343
+					    if ( isset( $_REQUEST[ $request ] ) ) {
344
+						    $should_die = false;
345
+					    }
346
+				    }
347 347
 
348
-				if ( $should_die ) {
349
-					wp_die();
350
-				}
348
+				    if ( $should_die ) {
349
+					    wp_die();
350
+				    }
351 351
 
352
-			} else {
353
-				return $html;
354
-			}
352
+			    } else {
353
+				    return $html;
354
+			    }
355 355
 
356
-			return '';
356
+			    return '';
357 357
 
358
-		}
358
+		    }
359 359
 
360
-		/**
360
+		    /**
361 361
 		 * Output the version in the header.
362 362
 		 */
363
-		public function generator() {
364
-			$file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
365
-			$plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
366
-
367
-			// Find source plugin/theme of SD
368
-			$source = array();
369
-			if ( strpos( $file, $plugins_dir ) !== false ) {
370
-				$source = explode( "/", plugin_basename( $file ) );
371
-			} else if ( function_exists( 'get_theme_root' ) ) {
372
-				$themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
373
-
374
-				if ( strpos( $file, $themes_dir ) !== false ) {
375
-					$source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
376
-				}
377
-			}
378
-
379
-			echo '<meta name="generator" content="WP Super Duper v' . esc_attr( $this->version ) . '"' . ( ! empty( $source[0] ) ? ' data-sd-source="' . esc_attr( $source[0] ) . '"' : '' ) . ' />';
380
-		}
381
-
382
-		/**
363
+		    public function generator() {
364
+			    $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
365
+			    $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
366
+
367
+			    // Find source plugin/theme of SD
368
+			    $source = array();
369
+			    if ( strpos( $file, $plugins_dir ) !== false ) {
370
+				    $source = explode( "/", plugin_basename( $file ) );
371
+			    } else if ( function_exists( 'get_theme_root' ) ) {
372
+				    $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
373
+
374
+				    if ( strpos( $file, $themes_dir ) !== false ) {
375
+					    $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
376
+				    }
377
+			    }
378
+
379
+			    echo '<meta name="generator" content="WP Super Duper v' . esc_attr( $this->version ) . '"' . ( ! empty( $source[0] ) ? ' data-sd-source="' . esc_attr( $source[0] ) . '"' : '' ) . ' />';
380
+		    }
381
+
382
+		    /**
383 383
 		 * Get widget settings.
384 384
 		 *
385 385
 		 * @since 1.0.0
386 386
 		 */
387
-		public static function get_widget_settings() {
388
-			global $sd_widgets;
389
-
390
-			$shortcode = isset( $_REQUEST['shortcode'] ) && $_REQUEST['shortcode'] ? sanitize_title_with_dashes( $_REQUEST['shortcode'] ) : '';
391
-			if ( ! $shortcode ) {
392
-				wp_die();
393
-			}
394
-			$widget_args = isset( $sd_widgets[ $shortcode ] ) ? $sd_widgets[ $shortcode ] : '';
395
-			if ( ! $widget_args ) {
396
-				wp_die();
397
-			}
398
-			$class_name = isset( $widget_args['class_name'] ) && $widget_args['class_name'] ? $widget_args['class_name'] : '';
399
-			if ( ! $class_name ) {
400
-				wp_die();
401
-			}
402
-
403
-			// invoke an instance method
404
-			$widget = new $class_name;
405
-
406
-			ob_start();
407
-			$widget->form( array() );
408
-			$form = ob_get_clean();
409
-			echo "<form id='$shortcode'>" . $form . "<div class=\"widget-control-save\"></div></form>";
410
-			echo "<style>" . $widget->widget_css() . "</style>";
411
-			echo "<script>" . $widget->widget_js() . "</script>";
412
-			?>
413
-			<?php
414
-			wp_die();
415
-		}
416
-
417
-		/**
387
+		    public static function get_widget_settings() {
388
+			    global $sd_widgets;
389
+
390
+			    $shortcode = isset( $_REQUEST['shortcode'] ) && $_REQUEST['shortcode'] ? sanitize_title_with_dashes( $_REQUEST['shortcode'] ) : '';
391
+			    if ( ! $shortcode ) {
392
+				    wp_die();
393
+			    }
394
+			    $widget_args = isset( $sd_widgets[ $shortcode ] ) ? $sd_widgets[ $shortcode ] : '';
395
+			    if ( ! $widget_args ) {
396
+				    wp_die();
397
+			    }
398
+			    $class_name = isset( $widget_args['class_name'] ) && $widget_args['class_name'] ? $widget_args['class_name'] : '';
399
+			    if ( ! $class_name ) {
400
+				    wp_die();
401
+			    }
402
+
403
+			    // invoke an instance method
404
+			    $widget = new $class_name;
405
+
406
+			    ob_start();
407
+			    $widget->form( array() );
408
+			    $form = ob_get_clean();
409
+			    echo "<form id='$shortcode'>" . $form . "<div class=\"widget-control-save\"></div></form>";
410
+			    echo "<style>" . $widget->widget_css() . "</style>";
411
+			    echo "<script>" . $widget->widget_js() . "</script>";
412
+			    ?>
413
+    			<?php
414
+			    wp_die();
415
+		    }
416
+
417
+		    /**
418 418
 		 * Insert shortcode builder button to classic editor (not inside Gutenberg, not needed).
419 419
 		 *
420 420
 		 * @param string $editor_id Optional. Shortcode editor id. Default null.
@@ -423,39 +423,39 @@  discard block
 block discarded – undo
423 423
 		 *@since 1.0.0
424 424
 		 *
425 425
 		 */
426
-		public static function shortcode_insert_button( $editor_id = '', $insert_shortcode_function = '' ) {
427
-			global $sd_widgets, $shortcode_insert_button_once;
428
-			if ( $shortcode_insert_button_once ) {
429
-				return;
430
-			}
431
-			add_thickbox();
426
+		    public static function shortcode_insert_button( $editor_id = '', $insert_shortcode_function = '' ) {
427
+			    global $sd_widgets, $shortcode_insert_button_once;
428
+			    if ( $shortcode_insert_button_once ) {
429
+				    return;
430
+			    }
431
+			    add_thickbox();
432 432
 
433 433
 
434
-			/**
434
+			    /**
435 435
 			 * Cornerstone makes us play dirty tricks :/
436 436
 			 * All media_buttons are removed via JS unless they are two specific id's so we wrap our content in this ID so it is not removed.
437 437
 			 */
438
-			if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
439
-				echo '<span id="insert-media-button">';
440
-			}
438
+			    if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
439
+				    echo '<span id="insert-media-button">';
440
+			    }
441 441
 
442
-			echo self::shortcode_button( 'this', 'true' );
442
+			    echo self::shortcode_button( 'this', 'true' );
443 443
 
444
-			// see opening note
445
-			if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
446
-				echo '</span>'; // end #insert-media-button
447
-			}
444
+			    // see opening note
445
+			    if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
446
+				    echo '</span>'; // end #insert-media-button
447
+			    }
448 448
 
449
-			// Add separate script for generatepress theme sections
450
-			if ( function_exists( 'generate_sections_sections_metabox' ) && did_action( 'generate_sections_metabox' ) ) {
451
-			} else {
452
-				self::shortcode_insert_button_script( $editor_id, $insert_shortcode_function );
453
-			}
449
+			    // Add separate script for generatepress theme sections
450
+			    if ( function_exists( 'generate_sections_sections_metabox' ) && did_action( 'generate_sections_metabox' ) ) {
451
+			    } else {
452
+				    self::shortcode_insert_button_script( $editor_id, $insert_shortcode_function );
453
+			    }
454 454
 
455
-			$shortcode_insert_button_once = true;
456
-		}
455
+			    $shortcode_insert_button_once = true;
456
+		    }
457 457
 
458
-		/**
458
+		    /**
459 459
 		 * Gets the shortcode insert button html.
460 460
 		 *
461 461
 		 * @param string $id
@@ -463,14 +463,14 @@  discard block
 block discarded – undo
463 463
 		 *
464 464
 		 * @return mixed
465 465
 		 */
466
-		public static function shortcode_button( $id = '', $search_for_id = '' ) {
467
-			ob_start();
468
-			?>
466
+		    public static function shortcode_button( $id = '', $search_for_id = '' ) {
467
+			    ob_start();
468
+			    ?>
469 469
 			<span class="sd-lable-shortcode-inserter">
470 470
 				<a onclick="sd_ajax_get_picker(<?php echo $id;
471
-				if ( $search_for_id ) {
472
-					echo "," . $search_for_id;
473
-				} ?>);" href="#TB_inline?width=100%&height=550&inlineId=super-duper-content-ajaxed"
471
+				    if ( $search_for_id ) {
472
+					    echo "," . $search_for_id;
473
+				    } ?>);" href="#TB_inline?width=100%&height=550&inlineId=super-duper-content-ajaxed"
474 474
 				   class="thickbox button super-duper-content-open" title="Add Shortcode">
475 475
 					<span style="vertical-align: middle;line-height: 18px;font-size: 20px;"
476 476
 						  class="dashicons dashicons-screenoptions"></span>
@@ -481,21 +481,21 @@  discard block
 block discarded – undo
481 481
 			</span>
482 482
 
483 483
 			<?php
484
-			$html = ob_get_clean();
484
+			    $html = ob_get_clean();
485 485
 
486
-			// remove line breaks so we can use it in js
487
-			return preg_replace( "/\r|\n/", "", trim( $html ) );
488
-		}
486
+			    // remove line breaks so we can use it in js
487
+			    return preg_replace( "/\r|\n/", "", trim( $html ) );
488
+		    }
489 489
 
490
-		/**
490
+		    /**
491 491
 		 * Makes SD work with the siteOrigin page builder.
492 492
 		 *
493 493
 		 * @return mixed
494 494
 		 *@since 1.0.6
495 495
 		 */
496
-		public static function siteorigin_js() {
497
-			ob_start();
498
-			?>
496
+		    public static function siteorigin_js() {
497
+			    ob_start();
498
+			    ?>
499 499
 			<script>
500 500
 				/**
501 501
 				 * Check a form to see what items should be shown or hidden.
@@ -571,19 +571,19 @@  discard block
 block discarded – undo
571 571
 				});
572 572
 			</script>
573 573
 			<?php
574
-			$output = ob_get_clean();
574
+			    $output = ob_get_clean();
575 575
 
576
-			/*
576
+			    /*
577 577
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
578 578
 			 */
579 579
 
580
-			return str_replace( array(
581
-				'<script>',
582
-				'</script>'
583
-			), '', $output );
584
-		}
580
+			    return str_replace( array(
581
+				    '<script>',
582
+				    '</script>'
583
+			    ), '', $output );
584
+		    }
585 585
 
586
-		/**
586
+		    /**
587 587
 		 * Output the JS and CSS for the shortcode insert button.
588 588
 		 *
589 589
 		 * @param string $editor_id
@@ -592,8 +592,8 @@  discard block
 block discarded – undo
592 592
 		 *@since 1.0.6
593 593
 		 *
594 594
 		 */
595
-		public static function shortcode_insert_button_script( $editor_id = '', $insert_shortcode_function = '' ) {
596
-			?>
595
+		    public static function shortcode_insert_button_script( $editor_id = '', $insert_shortcode_function = '' ) {
596
+			    ?>
597 597
 			<style>
598 598
 				.sd-shortcode-left-wrap {
599 599
 					float: left;
@@ -716,40 +716,40 @@  discard block
 block discarded – undo
716 716
 					display: inline;
717 717
 				}
718 718
 				<?php } ?>
719
-				<?php if ( function_exists( 'et_builder_is_tb_admin_screen' ) && et_builder_is_tb_admin_screen() ) { ?>
720
-				body.divi_page_et_theme_builder div#TB_window.gd-tb-window{z-index:9999999}
719
+    				<?php if ( function_exists( 'et_builder_is_tb_admin_screen' ) && et_builder_is_tb_admin_screen() ) { ?>
720
+    				body.divi_page_et_theme_builder div#TB_window.gd-tb-window{z-index:9999999}
721 721
 				<?php } ?>
722
-			</style>
722
+    			</style>
723 723
 			<?php
724
-			if ( class_exists( 'SiteOrigin_Panels' ) ) {
725
-				echo "<script>" . self::siteorigin_js() . "</script>";
726
-			}
727
-			?>
728
-			<script>
724
+			    if ( class_exists( 'SiteOrigin_Panels' ) ) {
725
+				    echo "<script>" . self::siteorigin_js() . "</script>";
726
+			    }
727
+			    ?>
728
+    			<script>
729 729
 				<?php
730
-				if(! empty( $insert_shortcode_function )){
731
-					echo $insert_shortcode_function;
732
-				}else{
730
+				    if(! empty( $insert_shortcode_function )){
731
+					    echo $insert_shortcode_function;
732
+				    }else{
733 733
 
734
-				/**
734
+				    /**
735 735
 				 * Function for super duper insert shortcode.
736 736
 				 *
737 737
 				 * @since 1.0.0
738 738
 				 */
739
-				?>
739
+				    ?>
740 740
 				function sd_insert_shortcode($editor_id) {
741 741
 					$shortcode = jQuery('#TB_ajaxContent #sd-shortcode-output').val();
742 742
 					if ($shortcode) {
743 743
 						if (!$editor_id) {
744 744
 							<?php
745
-							if ( isset( $_REQUEST['et_fb'] ) ) {
746
-								echo '$editor_id = "#main_content_content_vb_tiny_mce";';
747
-							} elseif ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) {
748
-								echo '$editor_id = "#elementor-controls .wp-editor-container textarea";';
749
-							} else {
750
-								echo '$editor_id = "#wp-content-editor-container textarea";';
751
-							}
752
-							?>
745
+							    if ( isset( $_REQUEST['et_fb'] ) ) {
746
+								    echo '$editor_id = "#main_content_content_vb_tiny_mce";';
747
+							    } elseif ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) {
748
+								    echo '$editor_id = "#elementor-controls .wp-editor-container textarea";';
749
+							    } else {
750
+								    echo '$editor_id = "#wp-content-editor-container textarea";';
751
+							    }
752
+							    ?>
753 753
 						} else {
754 754
 							$editor_id = '#' + $editor_id;
755 755
 						}
@@ -1063,19 +1063,19 @@  discard block
 block discarded – undo
1063 1063
 				}
1064 1064
 			</script>
1065 1065
 			<?php
1066
-		}
1066
+		    }
1067 1067
 
1068
-		/**
1068
+		    /**
1069 1069
 		 * Gets some CSS for the widgets screen.
1070 1070
 		 *
1071 1071
 		 * @param bool $advanced If we should include advanced CSS.
1072 1072
 		 *
1073 1073
 		 * @return mixed
1074 1074
 		 */
1075
-		public function widget_css( $advanced = true ) {
1076
-			ob_start();
1077
-			?>
1078
-			<style>
1075
+		    public function widget_css( $advanced = true ) {
1076
+			    ob_start();
1077
+			    ?>
1078
+    			<style>
1079 1079
 				<?php if( $advanced ){ ?>
1080 1080
 				.sd-advanced-setting {
1081 1081
 					display: none;
@@ -1114,26 +1114,26 @@  discard block
 block discarded – undo
1114 1114
 				.elementor-control .sd-argument select[multiple] option{padding:3px}
1115 1115
 			</style>
1116 1116
 			<?php
1117
-			$output = ob_get_clean();
1117
+			    $output = ob_get_clean();
1118 1118
 
1119
-			/*
1119
+			    /*
1120 1120
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1121 1121
 			 */
1122 1122
 
1123
-			return str_replace( array(
1124
-				'<style>',
1125
-				'</style>'
1126
-			), '', $output );
1127
-		}
1123
+			    return str_replace( array(
1124
+				    '<style>',
1125
+				    '</style>'
1126
+			    ), '', $output );
1127
+		    }
1128 1128
 
1129
-		/**
1129
+		    /**
1130 1130
 		 * Gets some JS for the widgets screen.
1131 1131
 		 *
1132 1132
 		 * @return mixed
1133 1133
 		 */
1134
-		public function widget_js() {
1135
-			ob_start();
1136
-			?>
1134
+		    public function widget_js() {
1135
+			    ob_start();
1136
+			    ?>
1137 1137
 			<script>
1138 1138
 
1139 1139
 				/**
@@ -1282,110 +1282,110 @@  discard block
 block discarded – undo
1282 1282
 
1283 1283
 				}
1284 1284
 				<?php do_action( 'wp_super_duper_widget_js', $this ); ?>
1285
-			</script>
1285
+    			</script>
1286 1286
 			<?php
1287
-			$output = ob_get_clean();
1287
+			    $output = ob_get_clean();
1288 1288
 
1289
-			/*
1289
+			    /*
1290 1290
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1291 1291
 			 */
1292 1292
 
1293
-			return str_replace( array(
1294
-				'<script>',
1295
-				'</script>'
1296
-			), '', $output );
1297
-		}
1293
+			    return str_replace( array(
1294
+				    '<script>',
1295
+				    '</script>'
1296
+			    ), '', $output );
1297
+		    }
1298 1298
 
1299 1299
 
1300
-		/**
1300
+		    /**
1301 1301
 		 * Set the name from the argument key.
1302 1302
 		 *
1303 1303
 		 * @param $options
1304 1304
 		 *
1305 1305
 		 * @return mixed
1306 1306
 		 */
1307
-		private function add_name_from_key( $options, $arguments = false ) {
1308
-			if ( ! empty( $options['arguments'] ) ) {
1309
-				foreach ( $options['arguments'] as $key => $val ) {
1310
-					$options['arguments'][ $key ]['name'] = $key;
1311
-				}
1312
-			} elseif ( $arguments && is_array( $options ) && ! empty( $options ) ) {
1313
-				foreach ( $options as $key => $val ) {
1314
-					$options[ $key ]['name'] = $key;
1315
-				}
1316
-			}
1317
-
1318
-			return $options;
1319
-		}
1320
-
1321
-		/**
1307
+		    private function add_name_from_key( $options, $arguments = false ) {
1308
+			    if ( ! empty( $options['arguments'] ) ) {
1309
+				    foreach ( $options['arguments'] as $key => $val ) {
1310
+					    $options['arguments'][ $key ]['name'] = $key;
1311
+				    }
1312
+			    } elseif ( $arguments && is_array( $options ) && ! empty( $options ) ) {
1313
+				    foreach ( $options as $key => $val ) {
1314
+					    $options[ $key ]['name'] = $key;
1315
+				    }
1316
+			    }
1317
+
1318
+			    return $options;
1319
+		    }
1320
+
1321
+		    /**
1322 1322
 		 * Register the parent shortcode.
1323 1323
 		 *
1324 1324
 		 * @since 1.0.0
1325 1325
 		 */
1326
-		public function register_shortcode() {
1327
-			add_shortcode( $this->base_id, array( $this, 'shortcode_output' ) );
1328
-			add_action( 'wp_ajax_super_duper_output_shortcode', array( $this, 'render_shortcode' ) );
1329
-		}
1326
+		    public function register_shortcode() {
1327
+			    add_shortcode( $this->base_id, array( $this, 'shortcode_output' ) );
1328
+			    add_action( 'wp_ajax_super_duper_output_shortcode', array( $this, 'render_shortcode' ) );
1329
+		    }
1330 1330
 
1331
-		/**
1331
+		    /**
1332 1332
 		 * Render the shortcode via ajax so we can return it to Gutenberg.
1333 1333
 		 *
1334 1334
 		 * @since 1.0.0
1335 1335
 		 */
1336
-		public function render_shortcode() {
1337
-			check_ajax_referer( 'super_duper_output_shortcode', '_ajax_nonce', true );
1338
-			if ( ! current_user_can( 'manage_options' ) ) {
1339
-				wp_die();
1340
-			}
1341
-
1342
-			// we might need the $post value here so lets set it.
1343
-			if ( isset( $_POST['post_id'] ) && $_POST['post_id'] ) {
1344
-				$post_obj = get_post( absint( $_POST['post_id'] ) );
1345
-				if ( ! empty( $post_obj ) && empty( $post ) ) {
1346
-					global $post;
1347
-					$post = $post_obj;
1348
-				}
1349
-			}
1350
-
1351
-			if ( isset( $_POST['shortcode'] ) && $_POST['shortcode'] ) {
1352
-				$is_preview = $this->is_preview();
1353
-				$shortcode_name   = sanitize_title_with_dashes( $_POST['shortcode'] );
1354
-				$attributes_array = isset( $_POST['attributes'] ) && $_POST['attributes'] ? $_POST['attributes'] : array();
1355
-				$attributes       = '';
1356
-				if ( ! empty( $attributes_array ) ) {
1357
-					foreach ( $attributes_array as $key => $value ) {
1358
-						if ( is_array( $value ) ) {
1359
-							$value = implode( ",", $value );
1360
-						}
1361
-
1362
-						if ( ! empty( $value ) ) {
1363
-							$value = wp_unslash( $value );
1364
-
1365
-							// Encode [ and ].
1366
-							if ( $is_preview ) {
1367
-								$value = $this->encode_shortcodes( $value );
1368
-							}
1369
-						}
1370
-						$attributes .= " " . esc_attr( sanitize_title_with_dashes( $key ) ) . "='" . esc_attr( $value ) . "' ";
1371
-					}
1372
-				}
1373
-
1374
-				$shortcode = "[" . esc_attr( $shortcode_name ) . " " . $attributes . "]";
1375
-
1376
-				$content = do_shortcode( $shortcode );
1377
-
1378
-				// Decode [ and ].
1379
-				if ( ! empty( $content ) && $is_preview ) {
1380
-					$content = $this->decode_shortcodes( $content );
1381
-				}
1382
-
1383
-				echo $content;
1384
-			}
1385
-			wp_die();
1386
-		}
1387
-
1388
-		/**
1336
+		    public function render_shortcode() {
1337
+			    check_ajax_referer( 'super_duper_output_shortcode', '_ajax_nonce', true );
1338
+			    if ( ! current_user_can( 'manage_options' ) ) {
1339
+				    wp_die();
1340
+			    }
1341
+
1342
+			    // we might need the $post value here so lets set it.
1343
+			    if ( isset( $_POST['post_id'] ) && $_POST['post_id'] ) {
1344
+				    $post_obj = get_post( absint( $_POST['post_id'] ) );
1345
+				    if ( ! empty( $post_obj ) && empty( $post ) ) {
1346
+					    global $post;
1347
+					    $post = $post_obj;
1348
+				    }
1349
+			    }
1350
+
1351
+			    if ( isset( $_POST['shortcode'] ) && $_POST['shortcode'] ) {
1352
+				    $is_preview = $this->is_preview();
1353
+				    $shortcode_name   = sanitize_title_with_dashes( $_POST['shortcode'] );
1354
+				    $attributes_array = isset( $_POST['attributes'] ) && $_POST['attributes'] ? $_POST['attributes'] : array();
1355
+				    $attributes       = '';
1356
+				    if ( ! empty( $attributes_array ) ) {
1357
+					    foreach ( $attributes_array as $key => $value ) {
1358
+						    if ( is_array( $value ) ) {
1359
+							    $value = implode( ",", $value );
1360
+						    }
1361
+
1362
+						    if ( ! empty( $value ) ) {
1363
+							    $value = wp_unslash( $value );
1364
+
1365
+							    // Encode [ and ].
1366
+							    if ( $is_preview ) {
1367
+								    $value = $this->encode_shortcodes( $value );
1368
+							    }
1369
+						    }
1370
+						    $attributes .= " " . esc_attr( sanitize_title_with_dashes( $key ) ) . "='" . esc_attr( $value ) . "' ";
1371
+					    }
1372
+				    }
1373
+
1374
+				    $shortcode = "[" . esc_attr( $shortcode_name ) . " " . $attributes . "]";
1375
+
1376
+				    $content = do_shortcode( $shortcode );
1377
+
1378
+				    // Decode [ and ].
1379
+				    if ( ! empty( $content ) && $is_preview ) {
1380
+					    $content = $this->decode_shortcodes( $content );
1381
+				    }
1382
+
1383
+				    echo $content;
1384
+			    }
1385
+			    wp_die();
1386
+		    }
1387
+
1388
+		    /**
1389 1389
 		 * Output the shortcode.
1390 1390
 		 *
1391 1391
 		 * @param array $args
@@ -1393,22 +1393,22 @@  discard block
 block discarded – undo
1393 1393
 		 *
1394 1394
 		 * @return string
1395 1395
 		 */
1396
-		public function shortcode_output( $args = array(), $content = '' ) {
1397
-			$_instance = $args;
1396
+		    public function shortcode_output( $args = array(), $content = '' ) {
1397
+			    $_instance = $args;
1398 1398
 
1399
-			$args = $this->argument_values( $args );
1399
+			    $args = $this->argument_values( $args );
1400 1400
 
1401
-			// add extra argument so we know its a output to gutenberg
1402
-			//$args
1403
-			$args = $this->string_to_bool( $args );
1401
+			    // add extra argument so we know its a output to gutenberg
1402
+			    //$args
1403
+			    $args = $this->string_to_bool( $args );
1404 1404
 
1405
-			// if we have a enclosed shortcode we add it to the special `html` argument
1406
-			if ( ! empty( $content ) ) {
1407
-				$args['html'] = $content;
1408
-			}
1405
+			    // if we have a enclosed shortcode we add it to the special `html` argument
1406
+			    if ( ! empty( $content ) ) {
1407
+				    $args['html'] = $content;
1408
+			    }
1409 1409
 
1410
-			if ( ! $this->is_preview() ) {
1411
-				/**
1410
+			    if ( ! $this->is_preview() ) {
1411
+				    /**
1412 1412
 				 * Filters the settings for a particular widget args.
1413 1413
 				 *
1414 1414
 				 * @param array          $args      The current widget instance's settings.
@@ -1418,95 +1418,95 @@  discard block
 block discarded – undo
1418 1418
 				 *@since 1.0.28
1419 1419
 				 *
1420 1420
 				 */
1421
-				$args = apply_filters( 'wp_super_duper_widget_display_callback', $args, $this, $_instance );
1422
-
1423
-				if ( ! is_array( $args ) ) {
1424
-					return $args;
1425
-				}
1426
-			}
1427
-
1428
-			$class = isset( $this->options['widget_ops']['classname'] ) ? esc_attr( $this->options['widget_ops']['classname'] ) : '';
1429
-			$class .= " sdel-".$this->get_instance_hash();
1430
-
1431
-			$class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
1432
-			$class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
1433
-
1434
-			$attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
1435
-			$attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this );
1436
-
1437
-			$shortcode_args = array();
1438
-			$output         = '';
1439
-			$no_wrap        = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
1440
-			if ( isset( $args['no_wrap'] ) && $args['no_wrap'] ) {
1441
-				$no_wrap = true;
1442
-			}
1443
-			$main_content = $this->output( $args, $shortcode_args, $content );
1444
-			if ( $main_content && ! $no_wrap ) {
1445
-				// wrap the shortcode in a div with the same class as the widget
1446
-				$output .= '<div class="' . $class . '" ' . $attrs . '>';
1447
-				if ( ! empty( $args['title'] ) ) {
1448
-					// if its a shortcode and there is a title try to grab the title wrappers
1449
-					$shortcode_args = array( 'before_title' => '', 'after_title' => '' );
1450
-					if ( empty( $instance ) ) {
1451
-						global $wp_registered_sidebars;
1452
-						if ( ! empty( $wp_registered_sidebars ) ) {
1453
-							foreach ( $wp_registered_sidebars as $sidebar ) {
1454
-								if ( ! empty( $sidebar['before_title'] ) ) {
1455
-									$shortcode_args['before_title'] = $sidebar['before_title'];
1456
-									$shortcode_args['after_title']  = $sidebar['after_title'];
1457
-									break;
1458
-								}
1459
-							}
1460
-						}
1461
-					}
1462
-					$output .= $this->output_title( $shortcode_args, $args );
1463
-				}
1464
-				$output .= $main_content;
1465
-				$output .= '</div>';
1466
-			} elseif ( $main_content && $no_wrap ) {
1467
-				$output .= $main_content;
1468
-			}
1469
-
1470
-			// if preview show a placeholder if empty
1471
-			if ( $this->is_preview() && $output == '' ) {
1472
-				$output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
1473
-			}
1474
-
1475
-			return apply_filters( 'wp_super_duper_widget_output', $output, $args, $shortcode_args, $this );
1476
-		}
1477
-
1478
-		/**
1421
+				    $args = apply_filters( 'wp_super_duper_widget_display_callback', $args, $this, $_instance );
1422
+
1423
+				    if ( ! is_array( $args ) ) {
1424
+					    return $args;
1425
+				    }
1426
+			    }
1427
+
1428
+			    $class = isset( $this->options['widget_ops']['classname'] ) ? esc_attr( $this->options['widget_ops']['classname'] ) : '';
1429
+			    $class .= " sdel-".$this->get_instance_hash();
1430
+
1431
+			    $class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
1432
+			    $class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
1433
+
1434
+			    $attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
1435
+			    $attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this );
1436
+
1437
+			    $shortcode_args = array();
1438
+			    $output         = '';
1439
+			    $no_wrap        = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
1440
+			    if ( isset( $args['no_wrap'] ) && $args['no_wrap'] ) {
1441
+				    $no_wrap = true;
1442
+			    }
1443
+			    $main_content = $this->output( $args, $shortcode_args, $content );
1444
+			    if ( $main_content && ! $no_wrap ) {
1445
+				    // wrap the shortcode in a div with the same class as the widget
1446
+				    $output .= '<div class="' . $class . '" ' . $attrs . '>';
1447
+				    if ( ! empty( $args['title'] ) ) {
1448
+					    // if its a shortcode and there is a title try to grab the title wrappers
1449
+					    $shortcode_args = array( 'before_title' => '', 'after_title' => '' );
1450
+					    if ( empty( $instance ) ) {
1451
+						    global $wp_registered_sidebars;
1452
+						    if ( ! empty( $wp_registered_sidebars ) ) {
1453
+							    foreach ( $wp_registered_sidebars as $sidebar ) {
1454
+								    if ( ! empty( $sidebar['before_title'] ) ) {
1455
+									    $shortcode_args['before_title'] = $sidebar['before_title'];
1456
+									    $shortcode_args['after_title']  = $sidebar['after_title'];
1457
+									    break;
1458
+								    }
1459
+							    }
1460
+						    }
1461
+					    }
1462
+					    $output .= $this->output_title( $shortcode_args, $args );
1463
+				    }
1464
+				    $output .= $main_content;
1465
+				    $output .= '</div>';
1466
+			    } elseif ( $main_content && $no_wrap ) {
1467
+				    $output .= $main_content;
1468
+			    }
1469
+
1470
+			    // if preview show a placeholder if empty
1471
+			    if ( $this->is_preview() && $output == '' ) {
1472
+				    $output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
1473
+			    }
1474
+
1475
+			    return apply_filters( 'wp_super_duper_widget_output', $output, $args, $shortcode_args, $this );
1476
+		    }
1477
+
1478
+		    /**
1479 1479
 		 * Placeholder text to show if output is empty and we are on a preview/builder page.
1480 1480
 		 *
1481 1481
 		 * @param string $name
1482 1482
 		 *
1483 1483
 		 * @return string
1484 1484
 		 */
1485
-		public function preview_placeholder_text( $name = '' ) {
1486
-			return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . wp_sprintf( __( 'Placeholder for: %s', 'ayecode-connect' ), $name ) . "</div>";
1487
-		}
1485
+		    public function preview_placeholder_text( $name = '' ) {
1486
+			    return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . wp_sprintf( __( 'Placeholder for: %s', 'ayecode-connect' ), $name ) . "</div>";
1487
+		    }
1488 1488
 
1489
-		/**
1489
+		    /**
1490 1490
 		 * Sometimes booleans values can be turned to strings, so we fix that.
1491 1491
 		 *
1492 1492
 		 * @param $options
1493 1493
 		 *
1494 1494
 		 * @return mixed
1495 1495
 		 */
1496
-		public function string_to_bool( $options ) {
1497
-			// convert bool strings to booleans
1498
-			foreach ( $options as $key => $val ) {
1499
-				if ( $val == 'false' ) {
1500
-					$options[ $key ] = false;
1501
-				} elseif ( $val == 'true' ) {
1502
-					$options[ $key ] = true;
1503
-				}
1504
-			}
1505
-
1506
-			return $options;
1507
-		}
1508
-
1509
-		/**
1496
+		    public function string_to_bool( $options ) {
1497
+			    // convert bool strings to booleans
1498
+			    foreach ( $options as $key => $val ) {
1499
+				    if ( $val == 'false' ) {
1500
+					    $options[ $key ] = false;
1501
+				    } elseif ( $val == 'true' ) {
1502
+					    $options[ $key ] = true;
1503
+				    }
1504
+			    }
1505
+
1506
+			    return $options;
1507
+		    }
1508
+
1509
+		    /**
1510 1510
 		 * Get the argument values that are also filterable.
1511 1511
 		 *
1512 1512
 		 * @param $instance
@@ -1515,159 +1515,159 @@  discard block
 block discarded – undo
1515 1515
 		 *@since 1.0.12 Don't set checkbox default value if the value is empty.
1516 1516
 		 *
1517 1517
 		 */
1518
-		public function argument_values( $instance ) {
1519
-			$argument_values = array();
1520
-
1521
-			// set widget instance
1522
-			$this->instance = $instance;
1523
-
1524
-			if ( empty( $this->arguments ) ) {
1525
-				$this->arguments = $this->get_arguments();
1526
-			}
1527
-
1528
-			if ( ! empty( $this->arguments ) ) {
1529
-				foreach ( $this->arguments as $key => $args ) {
1530
-					// set the input name from the key
1531
-					$args['name'] = $key;
1532
-					//
1533
-					$argument_values[ $key ] = isset( $instance[ $key ] ) ? $instance[ $key ] : '';
1534
-					if ( $args['type'] == 'checkbox' && $argument_values[ $key ] == '' ) {
1535
-						// don't set default for an empty checkbox
1536
-					} elseif ( $argument_values[ $key ] == '' && isset( $args['default'] ) ) {
1537
-						$argument_values[ $key ] = $args['default'];
1538
-					}
1539
-				}
1540
-			}
1541
-
1542
-			return $argument_values;
1543
-		}
1544
-
1545
-		/**
1518
+		    public function argument_values( $instance ) {
1519
+			    $argument_values = array();
1520
+
1521
+			    // set widget instance
1522
+			    $this->instance = $instance;
1523
+
1524
+			    if ( empty( $this->arguments ) ) {
1525
+				    $this->arguments = $this->get_arguments();
1526
+			    }
1527
+
1528
+			    if ( ! empty( $this->arguments ) ) {
1529
+				    foreach ( $this->arguments as $key => $args ) {
1530
+					    // set the input name from the key
1531
+					    $args['name'] = $key;
1532
+					    //
1533
+					    $argument_values[ $key ] = isset( $instance[ $key ] ) ? $instance[ $key ] : '';
1534
+					    if ( $args['type'] == 'checkbox' && $argument_values[ $key ] == '' ) {
1535
+						    // don't set default for an empty checkbox
1536
+					    } elseif ( $argument_values[ $key ] == '' && isset( $args['default'] ) ) {
1537
+						    $argument_values[ $key ] = $args['default'];
1538
+					    }
1539
+				    }
1540
+			    }
1541
+
1542
+			    return $argument_values;
1543
+		    }
1544
+
1545
+		    /**
1546 1546
 		 * Set arguments in super duper.
1547 1547
 		 *
1548 1548
 		 * @return array Set arguments.
1549 1549
 		 *@since 1.0.0
1550 1550
 		 *
1551 1551
 		 */
1552
-		public function set_arguments() {
1553
-			return $this->arguments;
1554
-		}
1552
+		    public function set_arguments() {
1553
+			    return $this->arguments;
1554
+		    }
1555 1555
 
1556
-		/**
1556
+		    /**
1557 1557
 		 * Get arguments in super duper.
1558 1558
 		 *
1559 1559
 		 * @return array Get arguments.
1560 1560
 		 *@since 1.0.0
1561 1561
 		 *
1562 1562
 		 */
1563
-		public function get_arguments() {
1564
-			if ( empty( $this->arguments ) ) {
1565
-				$this->arguments = $this->set_arguments();
1566
-			}
1563
+		    public function get_arguments() {
1564
+			    if ( empty( $this->arguments ) ) {
1565
+				    $this->arguments = $this->set_arguments();
1566
+			    }
1567 1567
 
1568
-			$this->arguments = apply_filters( 'wp_super_duper_arguments', $this->arguments, $this->options, $this->instance );
1569
-			$this->arguments = $this->add_name_from_key( $this->arguments, true );
1568
+			    $this->arguments = apply_filters( 'wp_super_duper_arguments', $this->arguments, $this->options, $this->instance );
1569
+			    $this->arguments = $this->add_name_from_key( $this->arguments, true );
1570 1570
 
1571
-			return $this->arguments;
1572
-		}
1571
+			    return $this->arguments;
1572
+		    }
1573 1573
 
1574
-		/**
1574
+		    /**
1575 1575
 		 * This is the main output class for all 3 items, widget, shortcode and block, it is extended in the calling class.
1576 1576
 		 *
1577 1577
 		 * @param array $args
1578 1578
 		 * @param array $widget_args
1579 1579
 		 * @param string $content
1580 1580
 		 */
1581
-		public function output( $args = array(), $widget_args = array(), $content = '' ) {
1581
+		    public function output( $args = array(), $widget_args = array(), $content = '' ) {
1582 1582
 
1583
-		}
1583
+		    }
1584 1584
 
1585
-		/**
1585
+		    /**
1586 1586
 		 * Add the dynamic block code inline when the wp-block in enqueued.
1587 1587
 		 */
1588
-		public function register_block() {
1589
-			wp_add_inline_script( 'wp-blocks', $this->block() );
1590
-			if ( class_exists( 'SiteOrigin_Panels' ) ) {
1591
-				wp_add_inline_script( 'wp-blocks', $this->siteorigin_js() );
1592
-			}
1593
-		}
1594
-
1595
-		/**
1588
+		    public function register_block() {
1589
+			    wp_add_inline_script( 'wp-blocks', $this->block() );
1590
+			    if ( class_exists( 'SiteOrigin_Panels' ) ) {
1591
+				    wp_add_inline_script( 'wp-blocks', $this->siteorigin_js() );
1592
+			    }
1593
+		    }
1594
+
1595
+		    /**
1596 1596
 		 * Check if we need to show advanced options.
1597 1597
 		 *
1598 1598
 		 * @return bool
1599 1599
 		 */
1600
-		public function block_show_advanced() {
1600
+		    public function block_show_advanced() {
1601 1601
 
1602
-			$show      = false;
1603
-			$arguments = $this->get_arguments();
1602
+			    $show      = false;
1603
+			    $arguments = $this->get_arguments();
1604 1604
 
1605
-			if ( ! empty( $arguments ) ) {
1606
-				foreach ( $arguments as $argument ) {
1607
-					if ( isset( $argument['advanced'] ) && $argument['advanced'] ) {
1608
-						$show = true;
1609
-						break; // no need to continue if we know we have it
1610
-					}
1611
-				}
1612
-			}
1605
+			    if ( ! empty( $arguments ) ) {
1606
+				    foreach ( $arguments as $argument ) {
1607
+					    if ( isset( $argument['advanced'] ) && $argument['advanced'] ) {
1608
+						    $show = true;
1609
+						    break; // no need to continue if we know we have it
1610
+					    }
1611
+				    }
1612
+			    }
1613 1613
 
1614
-			return $show;
1615
-		}
1614
+			    return $show;
1615
+		    }
1616 1616
 
1617
-		/**
1617
+		    /**
1618 1618
 		 * Get the url path to the current folder.
1619 1619
 		 *
1620 1620
 		 * @return string
1621 1621
 		 */
1622
-		public function get_url() {
1623
-			$url = $this->url;
1622
+		    public function get_url() {
1623
+			    $url = $this->url;
1624 1624
 
1625
-			if ( ! $url ) {
1626
-				$content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) );
1627
-				$content_url = untrailingslashit( WP_CONTENT_URL );
1625
+			    if ( ! $url ) {
1626
+				    $content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) );
1627
+				    $content_url = untrailingslashit( WP_CONTENT_URL );
1628 1628
 
1629
-				// Replace http:// to https://.
1630
-				if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) {
1631
-					$content_url = str_replace( 'http://', 'https://', $content_url );
1632
-				}
1629
+				    // Replace http:// to https://.
1630
+				    if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) {
1631
+					    $content_url = str_replace( 'http://', 'https://', $content_url );
1632
+				    }
1633 1633
 
1634
-				// Check if we are inside a plugin
1635
-				$file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) );
1636
-				$url = str_replace( $content_dir, $content_url, $file_dir );
1637
-				$url = trailingslashit( $url );
1638
-				$this->url = $url;
1639
-			}
1634
+				    // Check if we are inside a plugin
1635
+				    $file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) );
1636
+				    $url = str_replace( $content_dir, $content_url, $file_dir );
1637
+				    $url = trailingslashit( $url );
1638
+				    $this->url = $url;
1639
+			    }
1640 1640
 
1641
-			return $url;
1642
-		}
1641
+			    return $url;
1642
+		    }
1643 1643
 
1644
-		/**
1644
+		    /**
1645 1645
 		 * Get the url path to the current folder.
1646 1646
 		 *
1647 1647
 		 * @return string
1648 1648
 		 */
1649
-		public function get_url_old() {
1649
+		    public function get_url_old() {
1650 1650
 
1651
-			$url = $this->url;
1651
+			    $url = $this->url;
1652 1652
 
1653
-			if ( ! $url ) {
1654
-				// check if we are inside a plugin
1655
-				$file_dir = str_replace( "/includes", "", dirname( __FILE__ ) );
1653
+			    if ( ! $url ) {
1654
+				    // check if we are inside a plugin
1655
+				    $file_dir = str_replace( "/includes", "", dirname( __FILE__ ) );
1656 1656
 
1657
-				$dir_parts = explode( "/wp-content/", $file_dir );
1658
-				$url_parts = explode( "/wp-content/", plugins_url() );
1657
+				    $dir_parts = explode( "/wp-content/", $file_dir );
1658
+				    $url_parts = explode( "/wp-content/", plugins_url() );
1659 1659
 
1660
-				if ( ! empty( $url_parts[0] ) && ! empty( $dir_parts[1] ) ) {
1661
-					$url       = trailingslashit( $url_parts[0] . "/wp-content/" . $dir_parts[1] );
1662
-					$this->url = $url;
1663
-				}
1664
-			}
1660
+				    if ( ! empty( $url_parts[0] ) && ! empty( $dir_parts[1] ) ) {
1661
+					    $url       = trailingslashit( $url_parts[0] . "/wp-content/" . $dir_parts[1] );
1662
+					    $this->url = $url;
1663
+				    }
1664
+			    }
1665 1665
 
1666 1666
 
1667
-			return $url;
1668
-		}
1667
+			    return $url;
1668
+		    }
1669 1669
 
1670
-		/**
1670
+		    /**
1671 1671
 		 * Generate the block icon.
1672 1672
 		 *
1673 1673
 		 * Enables the use of Font Awesome icons.
@@ -1679,99 +1679,99 @@  discard block
 block discarded – undo
1679 1679
 		 * @return string
1680 1680
 		 *@since 1.1.0
1681 1681
 		 */
1682
-		public function get_block_icon( $icon ) {
1683
-
1684
-			// check if we have a Font Awesome icon
1685
-			$fa_type = '';
1686
-			if ( substr( $icon, 0, 7 ) === "fas fa-" ) {
1687
-				$fa_type = 'solid';
1688
-			} elseif ( substr( $icon, 0, 7 ) === "far fa-" ) {
1689
-				$fa_type = 'regular';
1690
-			} elseif ( substr( $icon, 0, 7 ) === "fab fa-" ) {
1691
-				$fa_type = 'brands';
1692
-			} else {
1693
-				$icon = "'" . $icon . "'";
1694
-			}
1682
+		    public function get_block_icon( $icon ) {
1683
+
1684
+			    // check if we have a Font Awesome icon
1685
+			    $fa_type = '';
1686
+			    if ( substr( $icon, 0, 7 ) === "fas fa-" ) {
1687
+				    $fa_type = 'solid';
1688
+			    } elseif ( substr( $icon, 0, 7 ) === "far fa-" ) {
1689
+				    $fa_type = 'regular';
1690
+			    } elseif ( substr( $icon, 0, 7 ) === "fab fa-" ) {
1691
+				    $fa_type = 'brands';
1692
+			    } else {
1693
+				    $icon = "'" . $icon . "'";
1694
+			    }
1695
+
1696
+			    // set the icon if we found one
1697
+			    if ( $fa_type ) {
1698
+				    $fa_icon = str_replace( array( "fas fa-", "far fa-", "fab fa-" ), "", $icon );
1699
+				    $icon    = "el('svg',{width: 20, height: 20, viewBox: '0 0 20 20'},el('use', {'xlink:href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "','href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "'}))";
1700
+			    }
1701
+
1702
+			    return $icon;
1703
+		    }
1704
+
1705
+		    public function group_arguments( $arguments ) {
1706
+			    if ( ! empty( $arguments ) ) {
1707
+				    $temp_arguments = array();
1708
+				    $general        = __( "General", 'ayecode-connect' );
1709
+				    $add_sections   = false;
1710
+				    foreach ( $arguments as $key => $args ) {
1711
+					    if ( isset( $args['group'] ) ) {
1712
+						    $temp_arguments[ $args['group'] ][ $key ] = $args;
1713
+						    $add_sections                             = true;
1714
+					    } else {
1715
+						    $temp_arguments[ $general ][ $key ] = $args;
1716
+					    }
1717
+				    }
1718
+
1719
+				    // only add sections if more than one
1720
+				    if ( $add_sections ) {
1721
+					    $arguments = $temp_arguments;
1722
+				    }
1723
+			    }
1724
+
1725
+			    return $arguments;
1726
+		    }
1727
+
1728
+		    /**
1729
+		 * Parse used group tabs.
1730
+		 *
1731
+		 * @since 1.1.17
1732
+		 */
1733
+		    public function group_block_tabs( $tabs, $arguments ) {
1734
+			    if ( ! empty( $tabs ) && ! empty( $arguments ) ) {
1735
+				    $has_sections = false;
1695 1736
 
1696
-			// set the icon if we found one
1697
-			if ( $fa_type ) {
1698
-				$fa_icon = str_replace( array( "fas fa-", "far fa-", "fab fa-" ), "", $icon );
1699
-				$icon    = "el('svg',{width: 20, height: 20, viewBox: '0 0 20 20'},el('use', {'xlink:href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "','href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "'}))";
1700
-			}
1737
+				    foreach ( $this->arguments as $key => $args ) {
1738
+					    if ( isset( $args['group'] ) ) {
1739
+						    $has_sections = true;
1740
+						    break;
1741
+					    }
1742
+				    }
1701 1743
 
1702
-			return $icon;
1703
-		}
1744
+				    if ( ! $has_sections ) {
1745
+					    return $tabs;
1746
+				    }
1704 1747
 
1705
-		public function group_arguments( $arguments ) {
1706
-			if ( ! empty( $arguments ) ) {
1707
-				$temp_arguments = array();
1708
-				$general        = __( "General", 'ayecode-connect' );
1709
-				$add_sections   = false;
1710
-				foreach ( $arguments as $key => $args ) {
1711
-					if ( isset( $args['group'] ) ) {
1712
-						$temp_arguments[ $args['group'] ][ $key ] = $args;
1713
-						$add_sections                             = true;
1714
-					} else {
1715
-						$temp_arguments[ $general ][ $key ] = $args;
1716
-					}
1717
-				}
1748
+				    $new_tabs = array();
1718 1749
 
1719
-				// only add sections if more than one
1720
-				if ( $add_sections ) {
1721
-					$arguments = $temp_arguments;
1722
-				}
1723
-			}
1750
+				    foreach ( $tabs as $tab_key => $tab ) {
1751
+					    $new_groups = array();
1724 1752
 
1725
-			return $arguments;
1726
-		}
1753
+					    if ( ! empty( $tab['groups'] ) && is_array( $tab['groups'] ) ) {
1754
+						    foreach ( $tab['groups'] as $group ) {
1755
+							    if ( isset( $arguments[ $group ] ) ) {
1756
+								    $new_groups[] = $group;
1757
+							    }
1758
+						    }
1759
+					    }
1727 1760
 
1728
-		/**
1729
-		 * Parse used group tabs.
1730
-		 *
1731
-		 * @since 1.1.17
1732
-		 */
1733
-		public function group_block_tabs( $tabs, $arguments ) {
1734
-			if ( ! empty( $tabs ) && ! empty( $arguments ) ) {
1735
-				$has_sections = false;
1736
-
1737
-				foreach ( $this->arguments as $key => $args ) {
1738
-					if ( isset( $args['group'] ) ) {
1739
-						$has_sections = true;
1740
-						break;
1741
-					}
1742
-				}
1743
-
1744
-				if ( ! $has_sections ) {
1745
-					return $tabs;
1746
-				}
1747
-
1748
-				$new_tabs = array();
1749
-
1750
-				foreach ( $tabs as $tab_key => $tab ) {
1751
-					$new_groups = array();
1752
-
1753
-					if ( ! empty( $tab['groups'] ) && is_array( $tab['groups'] ) ) {
1754
-						foreach ( $tab['groups'] as $group ) {
1755
-							if ( isset( $arguments[ $group ] ) ) {
1756
-								$new_groups[] = $group;
1757
-							}
1758
-						}
1759
-					}
1761
+					    if ( ! empty( $new_groups ) ) {
1762
+						    $tab['groups'] = $new_groups;
1760 1763
 
1761
-					if ( ! empty( $new_groups ) ) {
1762
-						$tab['groups'] = $new_groups;
1764
+						    $new_tabs[ $tab_key ] = $tab;
1765
+					    }
1766
+				    }
1763 1767
 
1764
-						$new_tabs[ $tab_key ] = $tab;
1765
-					}
1766
-				}
1767
-
1768
-				$tabs = $new_tabs;
1769
-			}
1768
+				    $tabs = $new_tabs;
1769
+			    }
1770 1770
 
1771
-			return $tabs;
1772
-		}
1771
+			    return $tabs;
1772
+		    }
1773 1773
 
1774
-		/**
1774
+		    /**
1775 1775
 		 * Output the JS for building the dynamic Guntenberg block.
1776 1776
 		 *
1777 1777
 		 * @return mixed
@@ -1779,18 +1779,18 @@  discard block
 block discarded – undo
1779 1779
 		 * @since 1.1.0 Font Awesome classes can be used for icons.
1780 1780
 		 * @since 1.0.4 Added block_wrap property which will set the block wrapping output element ie: div, span, p or empty for no wrap.
1781 1781
 		 */
1782
-		public function block() {
1783
-			global $sd_is_js_functions_loaded, $aui_bs5;
1782
+		    public function block() {
1783
+			    global $sd_is_js_functions_loaded, $aui_bs5;
1784 1784
 
1785
-			$show_advanced = $this->block_show_advanced();
1785
+			    $show_advanced = $this->block_show_advanced();
1786 1786
 
1787
-			ob_start();
1788
-			?>
1789
-			<script>
1787
+			    ob_start();
1788
+			    ?>
1789
+    			<script>
1790 1790
 			<?php
1791
-			if ( ! $sd_is_js_functions_loaded ) {
1792
-				$sd_is_js_functions_loaded = true;
1793
-			?>
1791
+			    if ( ! $sd_is_js_functions_loaded ) {
1792
+				    $sd_is_js_functions_loaded = true;
1793
+			    ?>
1794 1794
 function sd_show_view_options($this){
1795 1795
 	if(jQuery($this).html().length){
1796 1796
 		jQuery($this).html('');
@@ -2290,8 +2290,8 @@  discard block
 block discarded – undo
2290 2290
 				$classes = [];
2291 2291
 
2292 2292
 				<?php
2293
-				if($aui_bs5){
2294
-					?>
2293
+				    if($aui_bs5){
2294
+					    ?>
2295 2295
 				$aui_bs5 = true;
2296 2296
 				$p_ml = 'ms-';
2297 2297
 				$p_mr = 'me-';
@@ -2299,8 +2299,8 @@  discard block
 block discarded – undo
2299 2299
 				$p_pl = 'ps-';
2300 2300
 				$p_pr = 'pe-';
2301 2301
 					<?php
2302
-				}else{
2303
-						?>
2302
+				    }else{
2303
+						    ?>
2304 2304
 				$aui_bs5 = false;
2305 2305
 				$p_ml = 'ml-';
2306 2306
 				$p_mr = 'mr-';
@@ -2308,8 +2308,8 @@  discard block
 block discarded – undo
2308 2308
 				$p_pl = 'pl-';
2309 2309
 				$p_pr = 'pr-';
2310 2310
 					<?php
2311
-				}
2312
-				?>
2311
+				    }
2312
+				    ?>
2313 2313
 
2314 2314
 				// margins
2315 2315
 				if ( $args['mt'] !== undefined && $args['mt'] !== '' ) { $classes.push( "mt-" + $args['mt'] );  $mt = $args['mt']; }else{$mt = null;}
@@ -2493,12 +2493,12 @@  discard block
 block discarded – undo
2493 2493
 			<?php
2494 2494
 
2495 2495
 
2496
-			}
2496
+			    }
2497 2497
 
2498
-			if(method_exists($this,'block_global_js')){
2499
-					echo $this->block_global_js();
2500
-			}
2501
-			?>
2498
+			    if(method_exists($this,'block_global_js')){
2499
+					    echo $this->block_global_js();
2500
+			    }
2501
+			    ?>
2502 2502
 
2503 2503
 jQuery(function() {
2504 2504
 
@@ -2551,13 +2551,13 @@  discard block
 block discarded – undo
2551 2551
 						icon: <?php echo $this->get_block_icon( $this->options['block-icon'] );?>,//'<?php echo isset( $this->options['block-icon'] ) ? esc_attr( $this->options['block-icon'] ) : 'shield-alt';?>', // Block icon from Dashicons → https://developer.wordpress.org/resource/dashicons/.
2552 2552
 						supports: {
2553 2553
 							<?php
2554
-							if(!isset($this->options['block-supports']['renaming'])){
2555
-								$this->options['block-supports']['renaming'] = false;
2556
-							}
2557
-							if ( isset( $this->options['block-supports'] ) ) {
2558
-								echo $this->array_to_attributes( $this->options['block-supports'] );
2559
-							}
2560
-							?>
2554
+							    if(!isset($this->options['block-supports']['renaming'])){
2555
+								    $this->options['block-supports']['renaming'] = false;
2556
+							    }
2557
+							    if ( isset( $this->options['block-supports'] ) ) {
2558
+								    echo $this->array_to_attributes( $this->options['block-supports'] );
2559
+							    }
2560
+							    ?>
2561 2561
 						},
2562 2562
 						__experimentalLabel( attributes, { context } ) {
2563 2563
 							var visibility_html = attributes && attributes.visibility_conditions ? ' &#128065;' : '';
@@ -2567,174 +2567,174 @@  discard block
 block discarded – undo
2567 2567
 						},
2568 2568
 						category: '<?php echo isset( $this->options['block-category'] ) ? esc_attr( $this->options['block-category'] ) : 'common';?>', // Block category — Group blocks together based on common traits E.g. common, formatting, layout widgets, embed.
2569 2569
 						<?php if ( isset( $this->options['block-keywords'] ) ) {
2570
-						echo "keywords : " . $this->options['block-keywords'] . ",";
2571
-						}
2572
-
2573
-
2574
-						// block hover preview.
2575
-						$example_args = array();
2576
-						if(!empty($this->arguments)){
2577
-							foreach($this->arguments as $key => $a_args){
2578
-								if(isset($a_args['example'])){
2579
-									$example_args[$key] = $a_args['example'];
2580
-								}
2581
-							}
2582
-						}
2583
-						$viewport_width = isset($this->options['example']['viewportWidth']) ? 'viewportWidth: '.absint($this->options['example']['viewportWidth']) : '';
2584
-						$example_inner_blocks = !empty($this->options['example']['innerBlocks']) && is_array($this->options['example']['innerBlocks']) ? 'innerBlocks: ' . wp_json_encode($this->options['example']['innerBlocks']) : '';
2585
-						if( isset( $this->options['example'] ) && $this->options['example'] === false ){
2586
-							// no preview if set to false
2587
-						}elseif( !empty( $example_args ) ){
2588
-							echo "example : {attributes:{".$this->array_to_attributes( $example_args )."},$viewport_width},";
2589
-						}elseif( !empty( $this->options['example'] ) ){
2590
-							unset($this->options['example']['viewportWidth']);
2591
-							unset($this->options['example']['innerBlocks']);
2592
-							$example_atts = $this->array_to_attributes( $this->options['example'] );
2593
-							$example_parts = array();
2594
-							if($example_atts){
2595
-								$example_parts[] = rtrim($example_atts,",");
2596
-							}
2597
-							if($viewport_width){
2598
-								$example_parts[] = $viewport_width;
2599
-							}
2600
-							if($example_inner_blocks){
2601
-								$example_parts[] = $example_inner_blocks;
2602
-							}
2603
-							if(!empty($example_parts)){
2604
-								echo "example : {".implode(',', $example_parts)."},";
2605
-							}
2606
-						}else{
2607
-							echo 'example : {viewportWidth: 500},';
2608
-						}
2609
-
2610
-
2611
-
2612
-						// limit to parent
2613
-						if( !empty( $this->options['parent'] ) ){
2614
-							echo "parent : " . wp_json_encode( $this->options['parent'] ) . ",";
2615
-						}
2616
-
2617
-						// limit allowed blocks
2618
-						if( !empty( $this->options['allowed-blocks'] ) ){
2619
-							echo "allowedBlocks : " . wp_json_encode( $this->options['allowed-blocks'] ) . ",";
2620
-						}
2621
-
2622
-						// maybe set no_wrap
2623
-						$no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
2624
-						if ( isset( $this->arguments['no_wrap'] ) && $this->arguments['no_wrap'] ) {
2625
-							$no_wrap = true;
2626
-						}
2627
-						if ( $no_wrap ) {
2628
-							$this->options['block-wrap'] = '';
2629
-						}
2630
-
2631
-						// maybe load the drag/drop functions.
2632
-						$img_drag_drop = false;
2633
-
2634
-						$show_alignment = false;
2635
-						// align feature
2636
-						/*echo "supports: {";
2570
+						    echo "keywords : " . $this->options['block-keywords'] . ",";
2571
+						    }
2572
+
2573
+
2574
+						    // block hover preview.
2575
+						    $example_args = array();
2576
+						    if(!empty($this->arguments)){
2577
+							    foreach($this->arguments as $key => $a_args){
2578
+								    if(isset($a_args['example'])){
2579
+									    $example_args[$key] = $a_args['example'];
2580
+								    }
2581
+							    }
2582
+						    }
2583
+						    $viewport_width = isset($this->options['example']['viewportWidth']) ? 'viewportWidth: '.absint($this->options['example']['viewportWidth']) : '';
2584
+						    $example_inner_blocks = !empty($this->options['example']['innerBlocks']) && is_array($this->options['example']['innerBlocks']) ? 'innerBlocks: ' . wp_json_encode($this->options['example']['innerBlocks']) : '';
2585
+						    if( isset( $this->options['example'] ) && $this->options['example'] === false ){
2586
+							    // no preview if set to false
2587
+						    }elseif( !empty( $example_args ) ){
2588
+							    echo "example : {attributes:{".$this->array_to_attributes( $example_args )."},$viewport_width},";
2589
+						    }elseif( !empty( $this->options['example'] ) ){
2590
+							    unset($this->options['example']['viewportWidth']);
2591
+							    unset($this->options['example']['innerBlocks']);
2592
+							    $example_atts = $this->array_to_attributes( $this->options['example'] );
2593
+							    $example_parts = array();
2594
+							    if($example_atts){
2595
+								    $example_parts[] = rtrim($example_atts,",");
2596
+							    }
2597
+							    if($viewport_width){
2598
+								    $example_parts[] = $viewport_width;
2599
+							    }
2600
+							    if($example_inner_blocks){
2601
+								    $example_parts[] = $example_inner_blocks;
2602
+							    }
2603
+							    if(!empty($example_parts)){
2604
+								    echo "example : {".implode(',', $example_parts)."},";
2605
+							    }
2606
+						    }else{
2607
+							    echo 'example : {viewportWidth: 500},';
2608
+						    }
2609
+
2610
+
2611
+
2612
+						    // limit to parent
2613
+						    if( !empty( $this->options['parent'] ) ){
2614
+							    echo "parent : " . wp_json_encode( $this->options['parent'] ) . ",";
2615
+						    }
2616
+
2617
+						    // limit allowed blocks
2618
+						    if( !empty( $this->options['allowed-blocks'] ) ){
2619
+							    echo "allowedBlocks : " . wp_json_encode( $this->options['allowed-blocks'] ) . ",";
2620
+						    }
2621
+
2622
+						    // maybe set no_wrap
2623
+						    $no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
2624
+						    if ( isset( $this->arguments['no_wrap'] ) && $this->arguments['no_wrap'] ) {
2625
+							    $no_wrap = true;
2626
+						    }
2627
+						    if ( $no_wrap ) {
2628
+							    $this->options['block-wrap'] = '';
2629
+						    }
2630
+
2631
+						    // maybe load the drag/drop functions.
2632
+						    $img_drag_drop = false;
2633
+
2634
+						    $show_alignment = false;
2635
+						    // align feature
2636
+						    /*echo "supports: {";
2637 2637
 						echo "	align: true,";
2638 2638
 						echo "  html: false";
2639 2639
 						echo "},";*/
2640 2640
 
2641 2641
 
2642
-							echo "attributes : {";
2643
-
2644
-							if ( $show_advanced ) {
2645
-								echo "show_advanced: {";
2646
-								echo "	type: 'boolean',";
2647
-								echo "  default: false,";
2648
-								echo "},";
2649
-							}
2650
-
2651
-							// block wrap element
2652
-							if ( ! empty( $this->options['block-wrap'] ) ) { //@todo we should validate this?
2653
-								echo "block_wrap: {";
2654
-								echo "	type: 'string',";
2655
-								echo "  default: '" . esc_attr( $this->options['block-wrap'] ) . "',";
2656
-								echo "},";
2657
-							}
2658
-
2659
-
2660
-							if ( ! empty( $this->arguments ) ) {
2661
-
2662
-								foreach ( $this->arguments as $key => $args ) {
2663
-
2664
-									if( $args['type'] == 'image' ||  $args['type'] == 'images' ){
2665
-										$img_drag_drop = true;
2666
-									}
2667
-
2668
-									// set if we should show alignment
2669
-									if ( $key == 'alignment' ) {
2670
-										$show_alignment = true;
2671
-									}
2672
-
2673
-									$extra = '';
2674
-
2675
-									if ( $args['type'] == 'notice' ||  $args['type'] == 'tab' ) {
2676
-										continue;
2677
-									}
2678
-									elseif ( $args['type'] == 'checkbox' ) {
2679
-										$type    = 'boolean';
2680
-										$default = isset( $args['default'] ) && $args['default'] ? 'true' : 'false';
2681
-									} elseif ( $args['type'] == 'number' ) {
2682
-										$type    = 'number';
2683
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2684
-									} elseif ( $args['type'] == 'select' && ! empty( $args['multiple'] ) ) {
2685
-										$type = 'array';
2686
-										if ( isset( $args['default'] ) && is_array( $args['default'] ) ) {
2687
-											$default = ! empty( $args['default'] ) ? "['" . implode( "','", $args['default'] ) . "']" : "[]";
2688
-										} else {
2689
-											$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2690
-										}
2691
-									} elseif ( $args['type'] == 'tagselect' ) {
2692
-										$type    = 'array';
2693
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2694
-									} elseif ( $args['type'] == 'multiselect' ) {
2695
-										$type    = 'array';
2696
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2697
-									} elseif ( $args['type'] == 'image_xy' ) {
2698
-										$type    = 'object';
2699
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2700
-									} elseif ( $args['type'] == 'image' ) {
2701
-										$type    = 'string';
2702
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2703
-
2704
-										// add a field for ID
2705
-	//                                    echo $key . "_id : {";
2706
-	//                                    echo "type : 'number',";
2707
-	//                                    echo "},";
2708
-	//                                    echo $key . "_xy : {";
2709
-	//                                    echo "type : 'object',";
2710
-	//                                    echo "},";
2711
-
2712
-									} else {
2713
-										$type    = !empty($args['hidden_type']) ? esc_attr($args['hidden_type']) : 'string';
2714
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2715
-
2716
-									}
2717
-									echo $key . " : {";
2718
-									echo "type : '$type',";
2719
-									echo "default : $default,";
2720
-									echo "},";
2721
-								}
2722
-							}
2723
-
2724
-							echo "content : {type : 'string',default: 'Please select the attributes in the block settings'},";
2725
-							echo "sd_shortcode : {type : 'string',default: ''},";
2726
-
2727
-							if(!empty($this->options['nested-block']) || !empty($this->arguments['html']) ){
2728
-								echo "sd_shortcode_close : {type : 'string',default: ''},";
2729
-							}
2730
-
2731
-							echo "className: { type: 'string', default: '' },";
2732
-
2733
-							echo "},";
2734
-
2735
-
2736
-
2737
-						?>
2642
+							    echo "attributes : {";
2643
+
2644
+							    if ( $show_advanced ) {
2645
+								    echo "show_advanced: {";
2646
+								    echo "	type: 'boolean',";
2647
+								    echo "  default: false,";
2648
+								    echo "},";
2649
+							    }
2650
+
2651
+							    // block wrap element
2652
+							    if ( ! empty( $this->options['block-wrap'] ) ) { //@todo we should validate this?
2653
+								    echo "block_wrap: {";
2654
+								    echo "	type: 'string',";
2655
+								    echo "  default: '" . esc_attr( $this->options['block-wrap'] ) . "',";
2656
+								    echo "},";
2657
+							    }
2658
+
2659
+
2660
+							    if ( ! empty( $this->arguments ) ) {
2661
+
2662
+								    foreach ( $this->arguments as $key => $args ) {
2663
+
2664
+									    if( $args['type'] == 'image' ||  $args['type'] == 'images' ){
2665
+										    $img_drag_drop = true;
2666
+									    }
2667
+
2668
+									    // set if we should show alignment
2669
+									    if ( $key == 'alignment' ) {
2670
+										    $show_alignment = true;
2671
+									    }
2672
+
2673
+									    $extra = '';
2674
+
2675
+									    if ( $args['type'] == 'notice' ||  $args['type'] == 'tab' ) {
2676
+										    continue;
2677
+									    }
2678
+									    elseif ( $args['type'] == 'checkbox' ) {
2679
+										    $type    = 'boolean';
2680
+										    $default = isset( $args['default'] ) && $args['default'] ? 'true' : 'false';
2681
+									    } elseif ( $args['type'] == 'number' ) {
2682
+										    $type    = 'number';
2683
+										    $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2684
+									    } elseif ( $args['type'] == 'select' && ! empty( $args['multiple'] ) ) {
2685
+										    $type = 'array';
2686
+										    if ( isset( $args['default'] ) && is_array( $args['default'] ) ) {
2687
+											    $default = ! empty( $args['default'] ) ? "['" . implode( "','", $args['default'] ) . "']" : "[]";
2688
+										    } else {
2689
+											    $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2690
+										    }
2691
+									    } elseif ( $args['type'] == 'tagselect' ) {
2692
+										    $type    = 'array';
2693
+										    $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2694
+									    } elseif ( $args['type'] == 'multiselect' ) {
2695
+										    $type    = 'array';
2696
+										    $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2697
+									    } elseif ( $args['type'] == 'image_xy' ) {
2698
+										    $type    = 'object';
2699
+										    $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2700
+									    } elseif ( $args['type'] == 'image' ) {
2701
+										    $type    = 'string';
2702
+										    $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2703
+
2704
+										    // add a field for ID
2705
+	    //                                    echo $key . "_id : {";
2706
+	    //                                    echo "type : 'number',";
2707
+	    //                                    echo "},";
2708
+	    //                                    echo $key . "_xy : {";
2709
+	    //                                    echo "type : 'object',";
2710
+	    //                                    echo "},";
2711
+
2712
+									    } else {
2713
+										    $type    = !empty($args['hidden_type']) ? esc_attr($args['hidden_type']) : 'string';
2714
+										    $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2715
+
2716
+									    }
2717
+									    echo $key . " : {";
2718
+									    echo "type : '$type',";
2719
+									    echo "default : $default,";
2720
+									    echo "},";
2721
+								    }
2722
+							    }
2723
+
2724
+							    echo "content : {type : 'string',default: 'Please select the attributes in the block settings'},";
2725
+							    echo "sd_shortcode : {type : 'string',default: ''},";
2726
+
2727
+							    if(!empty($this->options['nested-block']) || !empty($this->arguments['html']) ){
2728
+								    echo "sd_shortcode_close : {type : 'string',default: ''},";
2729
+							    }
2730
+
2731
+							    echo "className: { type: 'string', default: '' },";
2732
+
2733
+							    echo "},";
2734
+
2735
+
2736
+
2737
+						    ?>
2738 2738
 
2739 2739
 						// The "edit" property must be a valid function.
2740 2740
 						edit: function (props) {
@@ -2742,10 +2742,10 @@  discard block
 block discarded – undo
2742 2742
 							const selectedBlock = wp.data.select('core/block-editor').getSelectedBlock();
2743 2743
 
2744 2744
 <?php
2745
-// only include the drag/drop functions if required.
2746
-if( $img_drag_drop ){
2745
+    // only include the drag/drop functions if required.
2746
+    if( $img_drag_drop ){
2747 2747
 
2748
-?>
2748
+    ?>
2749 2749
 
2750 2750
 function enableDragSort(listClass) {
2751 2751
 	setTimeout(function(){
@@ -2809,10 +2809,10 @@  discard block
 block discarded – undo
2809 2809
 							}
2810 2810
 
2811 2811
 							<?php
2812
-							if(!empty($this->options['block-edit-raw'])) {
2813
-								echo $this->options['block-edit-raw']; // strings have to be in single quotes, may cause issues
2814
-							}else{
2815
-							?>
2812
+							    if(!empty($this->options['block-edit-raw'])) {
2813
+								    echo $this->options['block-edit-raw']; // strings have to be in single quotes, may cause issues
2814
+							    }else{
2815
+							    ?>
2816 2816
 
2817 2817
 function hasSelectedInnerBlock(props) {
2818 2818
 	const select = wp.data.select('core/editor');
@@ -2834,9 +2834,9 @@  discard block
 block discarded – undo
2834 2834
 
2835 2835
 	var $value = '';
2836 2836
 	<?php
2837
-	// if we have a post_type and a category then link them
2838
-	if( isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked']) ){
2839
-	?>
2837
+	    // if we have a post_type and a category then link them
2838
+	    if( isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked']) ){
2839
+	    ?>
2840 2840
 	if(typeof(prev_attributes[props.clientId]) != 'undefined' && selectedBlock && selectedBlock.clientId === props.clientId){
2841 2841
 		$pt = props.attributes.post_type;
2842 2842
 		if(post_type_rest_slugs.length){
@@ -2849,12 +2849,12 @@  discard block
 block discarded – undo
2849 2849
 			term_query_type = $pt;
2850 2850
 		}
2851 2851
 <?php
2852
-	$cat_path = '';
2853
-	if ( ! empty( $this->arguments['post_type']['onchange_rest']['path'] ) ) {
2854
-		$cat_path = esc_js( strip_tags( $this->arguments['post_type']['onchange_rest']['path'] ) );
2855
-		$cat_path = str_replace( array( '&quot;', '&#039;' ), array( '"', "'" ), $cat_path );
2856
-	}
2857
-?>
2852
+	    $cat_path = '';
2853
+	    if ( ! empty( $this->arguments['post_type']['onchange_rest']['path'] ) ) {
2854
+		    $cat_path = esc_js( strip_tags( $this->arguments['post_type']['onchange_rest']['path'] ) );
2855
+		    $cat_path = str_replace( array( '&quot;', '&#039;' ), array( '"', "'" ), $cat_path );
2856
+	    }
2857
+    ?>
2858 2858
 		/* taxonomies */
2859 2859
 		if($value && 'post_type' in prev_attributes[props.clientId] && 'category' in prev_attributes[props.clientId] && run){
2860 2860
 			if (!window.gdCPTCats) {
@@ -2942,12 +2942,12 @@  discard block
 block discarded – undo
2942 2942
 		}
2943 2943
 	}
2944 2944
 	<?php } ?>
2945
-<?php
2946
-$current_screen = function_exists('get_current_screen') ? get_current_screen() : '';
2947
-if(!empty($current_screen->base) && $current_screen->base==='widgets'){
2948
-	echo 'const { deviceType } = "";';
2945
+    <?php
2946
+    $current_screen = function_exists('get_current_screen') ? get_current_screen() : '';
2947
+    if(!empty($current_screen->base) && $current_screen->base==='widgets'){
2948
+	    echo 'const { deviceType } = "";';
2949 2949
 }else{
2950
-?>
2950
+    ?>
2951 2951
 /** Get device type const. */
2952 2952
 const wpVersion = '<?php global $wp_version; echo esc_attr($wp_version); ?>';
2953 2953
 const { deviceType } = typeof wp.data.useSelect !== 'undefined' ? wp.data.useSelect(select => {
@@ -3009,8 +3009,8 @@  discard block
 block discarded – undo
3009 3009
 										'attributes': props.attributes,
3010 3010
 										'block_parent_name': parentBlocks.length ? parentBlocks[parentBlocks.length - 1].name : '',
3011 3011
 										'post_id': <?php global $post; if ( isset( $post->ID ) ) {
3012
-										echo $post->ID;
3013
-									}else{echo '0';}?>,
3012
+										    echo $post->ID;
3013
+									    }else{echo '0';}?>,
3014 3014
 										'_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_output_shortcode' );?>'
3015 3015
 									};
3016 3016
 
@@ -3024,20 +3024,20 @@  discard block
 block discarded – undo
3024 3024
 										}
3025 3025
 
3026 3026
 										 <?php
3027
-										if(!empty($this->options['nested-block'])){
3028
-											?>
3027
+										    if(!empty($this->options['nested-block'])){
3028
+											    ?>
3029 3029
 											// props.setAttributes({content: env});
3030 3030
 										is_fetching = false;
3031 3031
 										prev_attributes[props.clientId] = props.attributes;
3032 3032
 											 <?php
3033
-										}else{
3034
-										?>
3033
+										    }else{
3034
+										    ?>
3035 3035
 										props.setAttributes({content: env});
3036 3036
 										is_fetching = false;
3037 3037
 										prev_attributes[props.clientId] = props.attributes;
3038 3038
 										<?php
3039
-										}
3040
-										?>
3039
+										    }
3040
+										    ?>
3041 3041
 
3042 3042
 
3043 3043
 										// if AUI is active call the js init function
@@ -3056,32 +3056,32 @@  discard block
 block discarded – undo
3056 3056
 							}
3057 3057
 
3058 3058
 							<?php
3059
-							if(!empty($this->options['block-edit-js'])) {
3060
-								echo  $this->options['block-edit-js'] ; // strings have to be in single quotes, may cause issues
3061
-							}
3059
+							    if(!empty($this->options['block-edit-js'])) {
3060
+								    echo  $this->options['block-edit-js'] ; // strings have to be in single quotes, may cause issues
3061
+							    }
3062 3062
 
3063 3063
 
3064 3064
 
3065 3065
 
3066
-							if(empty($this->options['block-save-return'])){
3067
-							?>
3066
+							    if(empty($this->options['block-save-return'])){
3067
+							    ?>
3068 3068
 								///////////////////////////////////////////////////////////////////////
3069 3069
 
3070 3070
 									 // build the shortcode.
3071 3071
 								shortcode = "[<?php echo $this->options['base_id'];?>";
3072 3072
 								<?php
3073 3073
 
3074
-								if(! empty( $this->arguments )){
3074
+								    if(! empty( $this->arguments )){
3075 3075
 
3076
-								foreach($this->arguments as $key => $args){
3077
-								   // if($args['type']=='tabs'){continue;}
3076
+								    foreach($this->arguments as $key => $args){
3077
+								       // if($args['type']=='tabs'){continue;}
3078 3078
 
3079
-								   // don't add metadata arguments
3080
-								   if (substr($key, 0, 9 ) === 'metadata_') {
3081
-									   continue;
3082
-								   }
3083
-								?>
3084
-								if (props.attributes.hasOwnProperty("<?php echo esc_attr( $key );?>")) {
3079
+								       // don't add metadata arguments
3080
+								       if (substr($key, 0, 9 ) === 'metadata_') {
3081
+									       continue;
3082
+								       }
3083
+								    ?>
3084
+    								if (props.attributes.hasOwnProperty("<?php echo esc_attr( $key );?>")) {
3085 3085
 									if ('<?php echo esc_attr( $key );?>' == 'html') {
3086 3086
 									} else if ('<?php echo esc_attr( $args['type'] );?>' == 'image_xy') {
3087 3087
 										shortcode += props.attributes.<?php echo esc_attr( $key );?>.length && ( props.attributes.<?php echo esc_attr( $key );?>.x.length || props.attributes.<?php echo esc_attr( $key );?>.y.length ) ? " <?php echo esc_attr( $key );?>='{x:" + props.attributes.<?php echo esc_attr( $key );?>.x + ",y:"+props.attributes.<?php echo esc_attr( $key );?>.y +"}' " : "";
@@ -3091,10 +3091,10 @@  discard block
 block discarded – undo
3091 3091
 									}
3092 3092
 								}
3093 3093
 								<?php
3094
-								}
3095
-								}
3094
+								    }
3095
+								    }
3096 3096
 
3097
-								?>
3097
+								    ?>
3098 3098
 								shortcode += "]";
3099 3099
 
3100 3100
 								if(shortcode){
@@ -3106,17 +3106,17 @@  discard block
 block discarded – undo
3106 3106
 
3107 3107
 
3108 3108
 									<?php
3109
-									if(!empty($this->options['nested-block']) || !empty($this->arguments['html']) ){
3110
-										echo "props.setAttributes({sd_shortcode_close: '[/".esc_attr( $this->options['base_id'] )."]'});";
3111
-									}
3112
-									?>
3109
+									    if(!empty($this->options['nested-block']) || !empty($this->arguments['html']) ){
3110
+										    echo "props.setAttributes({sd_shortcode_close: '[/".esc_attr( $this->options['base_id'] )."]'});";
3111
+									    }
3112
+									    ?>
3113 3113
 								}
3114 3114
 
3115 3115
 
3116 3116
 							///////////////////////////////////////////////////////////////////////
3117 3117
 							<?php
3118
-							} // end nested block check
3119
-							?>
3118
+							    } // end nested block check
3119
+							    ?>
3120 3120
 
3121 3121
 							return [
3122 3122
 
@@ -3140,10 +3140,10 @@  discard block
 block discarded – undo
3140 3140
 
3141 3141
 									<?php
3142 3142
 
3143
-									if(! empty( $this->arguments )){
3143
+									    if(! empty( $this->arguments )){
3144 3144
 
3145
-									if ( $show_advanced ) {
3146
-									?>
3145
+									    if ( $show_advanced ) {
3146
+									    ?>
3147 3147
 									el('div', {
3148 3148
 											style: {'padding-left': '16px','padding-right': '16px'}
3149 3149
 										},
@@ -3160,133 +3160,133 @@  discard block
 block discarded – undo
3160 3160
 									)
3161 3161
 									,
3162 3162
 									<?php
3163
-									}
3164
-
3165
-									$arguments = $this->group_arguments( $this->arguments );
3166
-									$block_group_tabs = ! empty( $this->options['block_group_tabs'] ) ? $this->group_block_tabs( $this->options['block_group_tabs'], $arguments ) : array();
3167
-
3168
-									// Do we have sections?
3169
-									$has_sections = $arguments == $this->arguments ? false : true;
3170
-
3171
-									if($has_sections){
3172
-									$panel_count = 0;
3173
-									$open_tab = '';
3174
-
3175
-									$open_tab_groups = array();
3176
-									$used_tabs = array();
3177
-
3178
-									foreach ( $arguments as $key => $args ) {
3179
-										$close_tab = false;
3180
-										$close_tabs = false;
3181
-
3182
-										 if ( ! empty( $block_group_tabs ) ) {
3183
-											foreach ( $block_group_tabs as $tab_name => $tab_args ) {
3184
-												if ( in_array( $key, $tab_args['groups'] ) ) {
3185
-													$open_tab_groups[] = $key;
3186
-
3187
-													if ( $open_tab != $tab_name ) {
3188
-														$tab_args['tab']['tabs_open'] = $open_tab == '' ? true : false;
3189
-														$tab_args['tab']['open'] = true;
3190
-
3191
-														$this->block_tab_start( '', $tab_args );
3192
-														$open_tab = $tab_name;
3193
-														$used_tabs[] = $tab_name;
3194
-													}
3195
-
3196
-													if ( $open_tab_groups == $tab_args['groups'] ) {
3197
-														$close_tab = true;
3198
-														$open_tab_groups = array();
3199
-
3200
-														if ( $used_tabs == array_keys( $block_group_tabs ) ) {
3201
-															$close_tabs = true;
3202
-														}
3203
-													}
3204
-												}
3205
-											}
3206
-										}
3207
-										?>
3163
+									    }
3164
+
3165
+									    $arguments = $this->group_arguments( $this->arguments );
3166
+									    $block_group_tabs = ! empty( $this->options['block_group_tabs'] ) ? $this->group_block_tabs( $this->options['block_group_tabs'], $arguments ) : array();
3167
+
3168
+									    // Do we have sections?
3169
+									    $has_sections = $arguments == $this->arguments ? false : true;
3170
+
3171
+									    if($has_sections){
3172
+									    $panel_count = 0;
3173
+									    $open_tab = '';
3174
+
3175
+									    $open_tab_groups = array();
3176
+									    $used_tabs = array();
3177
+
3178
+									    foreach ( $arguments as $key => $args ) {
3179
+										    $close_tab = false;
3180
+										    $close_tabs = false;
3181
+
3182
+										     if ( ! empty( $block_group_tabs ) ) {
3183
+											    foreach ( $block_group_tabs as $tab_name => $tab_args ) {
3184
+												    if ( in_array( $key, $tab_args['groups'] ) ) {
3185
+													    $open_tab_groups[] = $key;
3186
+
3187
+													    if ( $open_tab != $tab_name ) {
3188
+														    $tab_args['tab']['tabs_open'] = $open_tab == '' ? true : false;
3189
+														    $tab_args['tab']['open'] = true;
3190
+
3191
+														    $this->block_tab_start( '', $tab_args );
3192
+														    $open_tab = $tab_name;
3193
+														    $used_tabs[] = $tab_name;
3194
+													    }
3195
+
3196
+													    if ( $open_tab_groups == $tab_args['groups'] ) {
3197
+														    $close_tab = true;
3198
+														    $open_tab_groups = array();
3199
+
3200
+														    if ( $used_tabs == array_keys( $block_group_tabs ) ) {
3201
+															    $close_tabs = true;
3202
+														    }
3203
+													    }
3204
+												    }
3205
+											    }
3206
+										    }
3207
+										    ?>
3208 3208
 										el(wp.components.PanelBody, {
3209 3209
 												title: '<?php esc_attr_e( $key ); ?>',
3210 3210
 												initialOpen: <?php if ( $panel_count ) {
3211
-												echo "false";
3212
-											} else {
3213
-												echo "true";
3214
-											}?>
3215
-											},
3211
+												    echo "false";
3212
+											    } else {
3213
+												    echo "true";
3214
+											    }?>
3215
+    											},
3216 3216
 											<?php
3217
-											foreach ( $args as $k => $a ) {
3218
-												$this->block_tab_start( $k, $a );
3219
-												$this->block_row_start( $k, $a );
3220
-												$this->build_block_arguments( $k, $a );
3221
-												$this->block_row_end( $k, $a );
3222
-												$this->block_tab_end( $k, $a );
3223
-											}
3224
-											?>
3225
-										),
3217
+											    foreach ( $args as $k => $a ) {
3218
+												    $this->block_tab_start( $k, $a );
3219
+												    $this->block_row_start( $k, $a );
3220
+												    $this->build_block_arguments( $k, $a );
3221
+												    $this->block_row_end( $k, $a );
3222
+												    $this->block_tab_end( $k, $a );
3223
+											    }
3224
+											    ?>
3225
+    										),
3226 3226
 										<?php
3227
-										$panel_count ++;
3228
-
3229
-										if($close_tab || $close_tabs){
3230
-											$tab_args = array(
3231
-												'tab'	=> array(
3232
-													'tabs_close' => $close_tabs,
3233
-												'close' => true,
3234
-												)
3235
-
3236
-											);
3237
-											$this->block_tab_end( '', $tab_args );
3238
-//											echo '###close'; print_r($tab_args);
3239
-											$panel_count = 0;
3240
-										}
3241
-//
3242
-
3243
-									}
3244
-									}else {
3245
-									?>
3227
+										    $panel_count ++;
3228
+
3229
+										    if($close_tab || $close_tabs){
3230
+											    $tab_args = array(
3231
+												    'tab'	=> array(
3232
+													    'tabs_close' => $close_tabs,
3233
+												    'close' => true,
3234
+												    )
3235
+
3236
+											    );
3237
+											    $this->block_tab_end( '', $tab_args );
3238
+    //											echo '###close'; print_r($tab_args);
3239
+											    $panel_count = 0;
3240
+										    }
3241
+    //
3242
+
3243
+									    }
3244
+									    }else {
3245
+									    ?>
3246 3246
 									el(wp.components.PanelBody, {
3247 3247
 											title: '<?php esc_attr_e( "Settings", 'ayecode-connect' ); ?>',
3248 3248
 											initialOpen: true
3249 3249
 										},
3250 3250
 										<?php
3251
-										foreach ( $this->arguments as $key => $args ) {
3252
-											$this->block_row_start( $key, $args );
3253
-											$this->build_block_arguments( $key, $args );
3254
-											$this->block_row_end( $key, $args );
3255
-										}
3256
-										?>
3257
-									),
3251
+										    foreach ( $this->arguments as $key => $args ) {
3252
+											    $this->block_row_start( $key, $args );
3253
+											    $this->build_block_arguments( $key, $args );
3254
+											    $this->block_row_end( $key, $args );
3255
+										    }
3256
+										    ?>
3257
+    									),
3258 3258
 									<?php
3259
-									}
3259
+									    }
3260 3260
 
3261
-									}
3262
-									?>
3261
+									    }
3262
+									    ?>
3263 3263
 
3264 3264
 								),
3265 3265
 
3266 3266
 								<?php
3267
-								// If the user sets block-output array then build it
3268
-								if ( ! empty( $this->options['block-output'] ) ) {
3269
-								$this->block_element( $this->options['block-output'] );
3270
-							}elseif(!empty($this->options['block-edit-return'])){
3271
-								   echo $this->options['block-edit-return'];
3272
-							}else{
3273
-								// if no block-output is set then we try and get the shortcode html output via ajax.
3274
-								$block_edit_wrap_tag = !empty($this->options['block_edit_wrap_tag']) ? esc_attr($this->options['block_edit_wrap_tag']) : 'div';
3275
-								?>
3276
-								el('<?php echo esc_attr($block_edit_wrap_tag); ?>', wp.blockEditor.useBlockProps({
3267
+								    // If the user sets block-output array then build it
3268
+								    if ( ! empty( $this->options['block-output'] ) ) {
3269
+								    $this->block_element( $this->options['block-output'] );
3270
+							    }elseif(!empty($this->options['block-edit-return'])){
3271
+								       echo $this->options['block-edit-return'];
3272
+							    }else{
3273
+								    // if no block-output is set then we try and get the shortcode html output via ajax.
3274
+								    $block_edit_wrap_tag = !empty($this->options['block_edit_wrap_tag']) ? esc_attr($this->options['block_edit_wrap_tag']) : 'div';
3275
+								    ?>
3276
+    								el('<?php echo esc_attr($block_edit_wrap_tag); ?>', wp.blockEditor.useBlockProps({
3277 3277
 									dangerouslySetInnerHTML: {__html: onChangeContent()},
3278 3278
 									className: props.className,
3279 3279
 									<?php //if(isset($this->arguments['visibility_conditions'])){ echo 'dataVisibilityConditionSD: props.visibility_conditions ? true : false,';} //@todo we need to implement this in the other outputs also ?>
3280 3280
 									style: {'minHeight': '30px'}
3281 3281
 								}))
3282 3282
 								<?php
3283
-								}
3284
-								?>
3285
-							]; // end return
3283
+								    }
3284
+								    ?>
3285
+    							]; // end return
3286 3286
 
3287 3287
 							<?php
3288
-							} // end block-edit-raw else
3289
-							?>
3288
+							    } // end block-edit-raw else
3289
+							    ?>
3290 3290
 						},
3291 3291
 
3292 3292
 						// The "save" property must be specified and must be a valid function.
@@ -3300,17 +3300,17 @@  discard block
 block discarded – undo
3300 3300
 							$html = '';
3301 3301
 							<?php
3302 3302
 
3303
-							if(! empty( $this->arguments )){
3303
+							    if(! empty( $this->arguments )){
3304 3304
 
3305
-							foreach($this->arguments as $key => $args){
3306
-							   // if($args['type']=='tabs'){continue;}
3305
+							    foreach($this->arguments as $key => $args){
3306
+							       // if($args['type']=='tabs'){continue;}
3307 3307
 
3308
-							   // don't add metadata arguments
3309
-							   if (substr($key, 0, 9 ) === 'metadata_') {
3310
-								   continue;
3311
-							   }
3312
-							?>
3313
-							if (attr.hasOwnProperty("<?php echo esc_attr( $key );?>")) {
3308
+							       // don't add metadata arguments
3309
+							       if (substr($key, 0, 9 ) === 'metadata_') {
3310
+								       continue;
3311
+							       }
3312
+							    ?>
3313
+    							if (attr.hasOwnProperty("<?php echo esc_attr( $key );?>")) {
3314 3314
 								if ('<?php echo esc_attr( $key );?>' == 'html') {
3315 3315
 									$html = attr.<?php echo esc_attr( $key );?>;
3316 3316
 								} else if ('<?php echo esc_attr( $args['type'] );?>' == 'image_xy') {
@@ -3320,20 +3320,20 @@  discard block
 block discarded – undo
3320 3320
 								}
3321 3321
 							}
3322 3322
 							<?php
3323
-							}
3324
-							}
3323
+							    }
3324
+							    }
3325 3325
 
3326
-							?>
3326
+							    ?>
3327 3327
 							content += "]";
3328 3328
 							 content = '';
3329 3329
 
3330 3330
 							<?php
3331
-//                            if(!empty($this->options['nested-block'])){
3332
-//                                ?>
3331
+    //                            if(!empty($this->options['nested-block'])){
3332
+    //                                ?>
3333 3333
 //                                $html = 'el( InnerBlocks.Content )';
3334 3334
 //                                <?php
3335
-//                            }
3336
-							?>
3335
+    //                            }
3336
+							    ?>
3337 3337
 							// if has html element
3338 3338
 							if ($html) {
3339 3339
 								//content += $html + "[/<?php echo $this->options['base_id'];?>]";
@@ -3353,38 +3353,38 @@  discard block
 block discarded – undo
3353 3353
 							}
3354 3354
 
3355 3355
 							<?php
3356
-//							if(!empty($this->options['nested-block'])){
3357
-//                                ?x>
3358
-//                              return el(
3359
-//                                    'div',
3360
-//                                    { className: props.className,
3361
-//                                        style: {'minHeight': '300px','position':'relative','overflow':'hidden','backgroundImage': 'url(https://s.w.org/images/core/5.5/don-quixote-06.jpg)'}
3362
-//                                    },
3363
-//                                    el( InnerBlocks.Content ),
3364
-//                                    el('div', {dangerouslySetInnerHTML: {__html: content}, className: align})
3365
-//                                );
3366
-//                                <x?php
3367
-//							}else
3368
-
3369
-							if(!empty($this->options['block-output'])){
3370
-//                               echo "return";
3371
-//                               $this->block_element( $this->options['block-output'], true );
3372
-//                               echo ";";
3373
-
3374
-							   ?>
3356
+    //							if(!empty($this->options['nested-block'])){
3357
+    //                                ?x>
3358
+    //                              return el(
3359
+    //                                    'div',
3360
+    //                                    { className: props.className,
3361
+    //                                        style: {'minHeight': '300px','position':'relative','overflow':'hidden','backgroundImage': 'url(https://s.w.org/images/core/5.5/don-quixote-06.jpg)'}
3362
+    //                                    },
3363
+    //                                    el( InnerBlocks.Content ),
3364
+    //                                    el('div', {dangerouslySetInnerHTML: {__html: content}, className: align})
3365
+    //                                );
3366
+    //                                <x?php
3367
+    //							}else
3368
+
3369
+							    if(!empty($this->options['block-output'])){
3370
+    //                               echo "return";
3371
+    //                               $this->block_element( $this->options['block-output'], true );
3372
+    //                               echo ";";
3373
+
3374
+							       ?>
3375 3375
 							  return el(
3376 3376
 								   '',
3377 3377
 								   {},
3378 3378
 								  // el('', {dangerouslySetInnerHTML: {__html: content}}),
3379 3379
 								   <?php $this->block_element( $this->options['block-output'], true ); ?>
3380
-								  // el('', {dangerouslySetInnerHTML: {__html: "[/<?php echo $this->options['base_id'];?>]"}})
3380
+    								  // el('', {dangerouslySetInnerHTML: {__html: "[/<?php echo $this->options['base_id'];?>]"}})
3381 3381
 							   );
3382 3382
 								<?php
3383 3383
 
3384
-							}elseif(!empty($this->options['block-save-return'])){
3385
-								   echo 'return ' . $this->options['block-save-return'];
3386
-							}elseif(!empty($this->options['nested-block'])){
3387
-								?>
3384
+							    }elseif(!empty($this->options['block-save-return'])){
3385
+								       echo 'return ' . $this->options['block-save-return'];
3386
+							    }elseif(!empty($this->options['nested-block'])){
3387
+								    ?>
3388 3388
 							  return el(
3389 3389
 								   '',
3390 3390
 								   {},
@@ -3393,22 +3393,22 @@  discard block
 block discarded – undo
3393 3393
 								 //  el('', {dangerouslySetInnerHTML: {__html: "[/<?php echo $this->options['base_id'];?>]"}})
3394 3394
 							   );
3395 3395
 								<?php
3396
-							}elseif(!empty( $this->options['block-save-return'] ) ){
3397
-								echo "return ". $this->options['block-edit-return'].";";
3398
-							}elseif(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){
3399
-							?>
3400
-							return content;
3396
+							    }elseif(!empty( $this->options['block-save-return'] ) ){
3397
+								    echo "return ". $this->options['block-edit-return'].";";
3398
+							    }elseif(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){
3399
+							    ?>
3400
+    							return content;
3401 3401
 							<?php
3402
-							}else{
3403
-							?>
3402
+							    }else{
3403
+							    ?>
3404 3404
 							var block_wrap = 'div';
3405 3405
 							if (attr.hasOwnProperty("block_wrap")) {
3406 3406
 								block_wrap = attr.block_wrap;
3407 3407
 							}
3408 3408
 							return el(block_wrap, wp.blockEditor.useBlockProps.save( {dangerouslySetInnerHTML: {__html: content}, className: align} ));
3409 3409
 							<?php
3410
-							}
3411
-							?>
3410
+							    }
3411
+							    ?>
3412 3412
 
3413 3413
 
3414 3414
 						}
@@ -3422,43 +3422,43 @@  discard block
 block discarded – undo
3422 3422
 				});
3423 3423
 			</script>
3424 3424
 			<?php
3425
-			$output = ob_get_clean();
3425
+			    $output = ob_get_clean();
3426 3426
 
3427
-			/*
3427
+			    /*
3428 3428
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
3429 3429
 			 */
3430 3430
 
3431
-			return str_replace( array(
3432
-				'<script>',
3433
-				'</script>'
3434
-			), '', $output );
3435
-		}
3431
+			    return str_replace( array(
3432
+				    '<script>',
3433
+				    '</script>'
3434
+			    ), '', $output );
3435
+		    }
3436 3436
 
3437 3437
 
3438 3438
 
3439
-		public function block_row_start($key, $args){
3439
+		    public function block_row_start($key, $args){
3440 3440
 
3441
-			// check for row
3442
-			if(!empty($args['row'])){
3441
+			    // check for row
3442
+			    if(!empty($args['row'])){
3443 3443
 
3444
-				if(!empty($args['row']['open'])){
3444
+				    if(!empty($args['row']['open'])){
3445 3445
 
3446
-				// element require
3447
-				$element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
3448
-				$device_type = ! empty( $args['device_type'] ) ? esc_attr($args['device_type']) : '';
3449
-				$device_type_require = ! empty( $args['device_type'] ) ? " deviceType == '" . esc_attr($device_type) . "' && " : '';
3450
-				$device_type_icon = '';
3451
-				if($device_type=='Desktop'){
3452
-					$device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3453
-				}elseif($device_type=='Tablet'){
3454
-					$device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3455
-				}elseif($device_type=='Mobile'){
3456
-					$device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3457
-				}
3458
-				echo $element_require;
3459
-				echo $device_type_require;
3446
+				    // element require
3447
+				    $element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
3448
+				    $device_type = ! empty( $args['device_type'] ) ? esc_attr($args['device_type']) : '';
3449
+				    $device_type_require = ! empty( $args['device_type'] ) ? " deviceType == '" . esc_attr($device_type) . "' && " : '';
3450
+				    $device_type_icon = '';
3451
+				    if($device_type=='Desktop'){
3452
+					    $device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3453
+				    }elseif($device_type=='Tablet'){
3454
+					    $device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3455
+				    }elseif($device_type=='Mobile'){
3456
+					    $device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3457
+				    }
3458
+				    echo $element_require;
3459
+				    echo $device_type_require;
3460 3460
 
3461
-					if(false){?><script><?php }?>
3461
+					    if(false){?><script><?php }?>
3462 3462
 						el('div', {
3463 3463
 								className: 'bsui components-base-control',
3464 3464
 							},
@@ -3469,15 +3469,15 @@  discard block
 block discarded – undo
3469 3469
 								},
3470 3470
 								el('span',{dangerouslySetInnerHTML: {__html: '<?php echo addslashes( $args['row']['title'] ) ?>'}}),
3471 3471
 								<?php if($device_type_icon){ ?>
3472
-									deviceType == '<?php echo $device_type;?>' && el('span',{dangerouslySetInnerHTML: {__html: '<?php echo $device_type_icon; ?>'},title: deviceType + ": Set preview mode to change",style: {right:"0",position:"absolute",color:"var(--wp-admin-theme-color)"}})
3472
+    									deviceType == '<?php echo $device_type;?>' && el('span',{dangerouslySetInnerHTML: {__html: '<?php echo $device_type_icon; ?>'},title: deviceType + ": Set preview mode to change",style: {right:"0",position:"absolute",color:"var(--wp-admin-theme-color)"}})
3473 3473
 								<?php
3474
-								}
3475
-								?>
3474
+								    }
3475
+								    ?>
3476 3476
 
3477 3477
 
3478 3478
 							),
3479 3479
 							<?php }?>
3480
-							<?php if(!empty($args['row']['desc'])){ ?>
3480
+    							<?php if(!empty($args['row']['desc'])){ ?>
3481 3481
 							el('p', {
3482 3482
 									className: 'components-base-control__help mb-0',
3483 3483
 								},
@@ -3496,51 +3496,51 @@  discard block
 block discarded – undo
3496 3496
 									},
3497 3497
 
3498 3498
 					<?php
3499
-					if(false){?></script><?php }
3500
-				}elseif(!empty($args['row']['close'])){
3501
-					if(false){?><script><?php }?>
3499
+					    if(false){?></script><?php }
3500
+				    }elseif(!empty($args['row']['close'])){
3501
+					    if(false){?><script><?php }?>
3502 3502
 						el(
3503 3503
 							'div',
3504 3504
 							{
3505 3505
 								className: 'col pl-0 ps-0',
3506 3506
 							},
3507 3507
 					<?php
3508
-					if(false){?></script><?php }
3509
-				}else{
3510
-					if(false){?><script><?php }?>
3508
+					    if(false){?></script><?php }
3509
+				    }else{
3510
+					    if(false){?><script><?php }?>
3511 3511
 						el(
3512 3512
 							'div',
3513 3513
 							{
3514 3514
 								className: 'col pl-0 ps-0 pr-2 pe-2',
3515 3515
 							},
3516 3516
 					<?php
3517
-					if(false){?></script><?php }
3518
-				}
3517
+					    if(false){?></script><?php }
3518
+				    }
3519 3519
 
3520
-			}
3520
+			    }
3521 3521
 
3522
-		}
3522
+		    }
3523 3523
 
3524
-		public function block_row_end($key, $args){
3524
+		    public function block_row_end($key, $args){
3525 3525
 
3526
-			if(!empty($args['row'])){
3527
-				// maybe close
3528
-				if(!empty($args['row']['close'])){
3529
-					echo "))";
3530
-				}
3526
+			    if(!empty($args['row'])){
3527
+				    // maybe close
3528
+				    if(!empty($args['row']['close'])){
3529
+					    echo "))";
3530
+				    }
3531 3531
 
3532
-				echo "),";
3533
-			}
3534
-		}
3532
+				    echo "),";
3533
+			    }
3534
+		    }
3535 3535
 
3536
-		public function block_tab_start($key, $args){
3536
+		    public function block_tab_start($key, $args){
3537 3537
 
3538
-			// check for row
3539
-			if(!empty($args['tab'])){
3538
+			    // check for row
3539
+			    if(!empty($args['tab'])){
3540 3540
 
3541
-				if(!empty($args['tab']['tabs_open'])){
3541
+				    if(!empty($args['tab']['tabs_open'])){
3542 3542
 
3543
-					if(false){?><script><?php }?>
3543
+					    if(false){?><script><?php }?>
3544 3544
 
3545 3545
 el('div',{className: 'bsui'},
3546 3546
 
@@ -3553,12 +3553,12 @@  discard block
 block discarded – undo
3553 3553
 										tabs: [
3554 3554
 
3555 3555
 					<?php
3556
-					if(false){?></script><?php }
3557
-				}
3556
+					    if(false){?></script><?php }
3557
+				    }
3558 3558
 
3559
-				if(!empty($args['tab']['open'])){
3559
+				    if(!empty($args['tab']['open'])){
3560 3560
 
3561
-					if(false){?><script><?php }?>
3561
+					    if(false){?><script><?php }?>
3562 3562
 							{
3563 3563
 												name: '<?php echo addslashes( esc_attr( $args['tab']['key']) ); ?>',
3564 3564
 												title: el('div', {dangerouslySetInnerHTML: {__html: '<?php echo addslashes( esc_attr( $args['tab']['title']) ); ?>'}}),
@@ -3567,125 +3567,125 @@  discard block
 block discarded – undo
3567 3567
 									className: 'components-base-control__help mb-0',
3568 3568
 									dangerouslySetInnerHTML: {__html:'<?php echo addslashes( $args['tab']['desc'] ); ?>'}
3569 3569
 								}),<?php }
3570
-					if(false){?></script><?php }
3571
-				}
3570
+					    if(false){?></script><?php }
3571
+				    }
3572 3572
 
3573
-			}
3573
+			    }
3574 3574
 
3575
-		}
3575
+		    }
3576 3576
 
3577
-		public function block_tab_end($key, $args){
3577
+		    public function block_tab_end($key, $args){
3578 3578
 
3579
-			if(!empty($args['tab'])){
3580
-				// maybe close
3581
-				if(!empty($args['tab']['close'])){
3582
-					echo ")}, /* tab close */";
3583
-				}
3579
+			    if(!empty($args['tab'])){
3580
+				    // maybe close
3581
+				    if(!empty($args['tab']['close'])){
3582
+					    echo ")}, /* tab close */";
3583
+				    }
3584 3584
 
3585
-				if(!empty($args['tab']['tabs_close'])){
3586
-					if(false){?><script><?php }?>
3585
+				    if(!empty($args['tab']['tabs_close'])){
3586
+					    if(false){?><script><?php }?>
3587 3587
 						]}, ( tab ) => {
3588 3588
 								return tab.content;
3589 3589
 							}
3590 3590
 						)), /* tabs close */
3591 3591
 					<?php if(false){ ?></script><?php }
3592
-				}
3593
-			}
3594
-		}
3595
-
3596
-		public function build_block_arguments( $key, $args ) {
3597
-			$custom_attributes = ! empty( $args['custom_attributes'] ) ? $this->array_to_attributes( $args['custom_attributes'] ) : '';
3598
-			$options           = '';
3599
-			$extra             = '';
3600
-			$require           = '';
3601
-			$inside_elements   = '';
3602
-			$after_elements	   = '';
3603
-
3604
-			// `content` is a protected and special argument
3605
-			if ( $key == 'content' ) {
3606
-				return;
3607
-			}
3608
-
3609
-			$device_type = ! empty( $args['device_type'] ) ? esc_attr($args['device_type']) : '';
3610
-			$device_type_require = ! empty( $args['device_type'] ) ? " deviceType == '" . esc_attr($device_type) . "' && " : '';
3611
-			$device_type_icon = '';
3612
-			if($device_type=='Desktop'){
3613
-				$device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3614
-			}elseif($device_type=='Tablet'){
3615
-				$device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3616
-			}elseif($device_type=='Mobile'){
3617
-				$device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3618
-			}
3619
-
3620
-			// icon
3621
-			$icon = '';
3622
-			if( !empty( $args['icon'] ) ){
3623
-				$icon .= "el('div', {";
3624
-									$icon .= "dangerouslySetInnerHTML: {__html: '".self::get_widget_icon( esc_attr($args['icon']))."'},";
3625
-									$icon .= "className: 'text-center',";
3626
-									$icon .= "title: '".addslashes( $args['title'] )."',";
3627
-								$icon .= "}),";
3628
-
3629
-				// blank title as its added to the icon.
3630
-				$args['title'] = '';
3631
-			}
3632
-
3633
-			// require advanced
3634
-			$require_advanced = ! empty( $args['advanced'] ) ? "props.attributes.show_advanced && " : "";
3635
-
3636
-			// element require
3637
-			$element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
3638
-
3639
-
3640
-			$onchange  = "props.setAttributes({ $key: $key } )";
3641
-			$onchangecomplete  = "";
3642
-			$value     = "props.attributes.$key";
3643
-			$text_type = array( 'text', 'password', 'number', 'email', 'tel', 'url', 'colorx','range' );
3644
-			if ( in_array( $args['type'], $text_type ) ) {
3645
-				$type = 'TextControl';
3646
-				// Save numbers as numbers and not strings
3647
-				if ( $args['type'] == 'number' ) {
3648
-					$onchange = "props.setAttributes({ $key: $key ? Number($key) : '' } )";
3649
-				}
3650
-
3651
-				if (substr($key, 0, 9 ) === 'metadata_') {
3652
-					$real_key = str_replace('metadata_','', $key );
3653
-					$onchange = "props.setAttributes({ metadata: { $real_key: $key } } )";
3654
-					$value     = "props.attributes.metadata && props.attributes.metadata.$real_key ? props.attributes.metadata.$real_key : ''";
3655
-				}
3656
-			}
3657
-//			else if ( $args['type'] == 'popup' ) {
3658
-//				$type = 'TextControl';
3659
-//				$args['type'] == 'text';
3660
-//				$after_elements .= "el( wp.components.Button, {
3661
-//                          className: 'components-button components-circular-option-picker__clear is-primary is-smallx',
3662
-//                          onClick: function(){
3663
-//							  aui_modal('','<input id=\'zzz\' value= />');
3664
-//							  const source = document.getElementById('zzz');
3665
-//							  source.value = props.attributes.$key;
3666
-//							  source.addEventListener('input', function(e){props.setAttributes({ $key: e.target.value });});
3667
-//                          }
3668
-//                        },
3669
-//                        'test'
3670
-//                        ),";
3671
-//
3672
-//				$value     = "props.attributes.$key ? props.attributes.$key : ''";
3673
-//			}
3674
-			else if ( $args['type'] == 'styleid' ) {
3675
-				$type = 'TextControl';
3676
-				$args['type'] == 'text';
3677
-				// Save numbers as numbers and not strings
3678
-				$value     = "props.attributes.$key ? props.attributes.$key : ''";
3679
-			}else if ( $args['type'] == 'notice' ) {
3680
-
3681
-				$notice_message = !empty($args['desc']) ? addslashes($args['desc']) : '';
3682
-				$notice_status = !empty($args['status']) ? esc_attr($args['status']) : 'info';
3683
-
3684
-				$notice = "el('div',{className:'bsui'},el(wp.components.Notice, {status: '$notice_status',isDismissible: false,className: 'm-0 pr-0 pe-0 mb-3'},el('div',{dangerouslySetInnerHTML: {__html: '$notice_message'}}))),";
3685
-				echo $notice_message ? $element_require . $notice : '';
3686
-				return;
3687
-			}
3688
-			/*
3592
+				    }
3593
+			    }
3594
+		    }
3595
+
3596
+		    public function build_block_arguments( $key, $args ) {
3597
+			    $custom_attributes = ! empty( $args['custom_attributes'] ) ? $this->array_to_attributes( $args['custom_attributes'] ) : '';
3598
+			    $options           = '';
3599
+			    $extra             = '';
3600
+			    $require           = '';
3601
+			    $inside_elements   = '';
3602
+			    $after_elements	   = '';
3603
+
3604
+			    // `content` is a protected and special argument
3605
+			    if ( $key == 'content' ) {
3606
+				    return;
3607
+			    }
3608
+
3609
+			    $device_type = ! empty( $args['device_type'] ) ? esc_attr($args['device_type']) : '';
3610
+			    $device_type_require = ! empty( $args['device_type'] ) ? " deviceType == '" . esc_attr($device_type) . "' && " : '';
3611
+			    $device_type_icon = '';
3612
+			    if($device_type=='Desktop'){
3613
+				    $device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3614
+			    }elseif($device_type=='Tablet'){
3615
+				    $device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3616
+			    }elseif($device_type=='Mobile'){
3617
+				    $device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3618
+			    }
3619
+
3620
+			    // icon
3621
+			    $icon = '';
3622
+			    if( !empty( $args['icon'] ) ){
3623
+				    $icon .= "el('div', {";
3624
+									    $icon .= "dangerouslySetInnerHTML: {__html: '".self::get_widget_icon( esc_attr($args['icon']))."'},";
3625
+									    $icon .= "className: 'text-center',";
3626
+									    $icon .= "title: '".addslashes( $args['title'] )."',";
3627
+								    $icon .= "}),";
3628
+
3629
+				    // blank title as its added to the icon.
3630
+				    $args['title'] = '';
3631
+			    }
3632
+
3633
+			    // require advanced
3634
+			    $require_advanced = ! empty( $args['advanced'] ) ? "props.attributes.show_advanced && " : "";
3635
+
3636
+			    // element require
3637
+			    $element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
3638
+
3639
+
3640
+			    $onchange  = "props.setAttributes({ $key: $key } )";
3641
+			    $onchangecomplete  = "";
3642
+			    $value     = "props.attributes.$key";
3643
+			    $text_type = array( 'text', 'password', 'number', 'email', 'tel', 'url', 'colorx','range' );
3644
+			    if ( in_array( $args['type'], $text_type ) ) {
3645
+				    $type = 'TextControl';
3646
+				    // Save numbers as numbers and not strings
3647
+				    if ( $args['type'] == 'number' ) {
3648
+					    $onchange = "props.setAttributes({ $key: $key ? Number($key) : '' } )";
3649
+				    }
3650
+
3651
+				    if (substr($key, 0, 9 ) === 'metadata_') {
3652
+					    $real_key = str_replace('metadata_','', $key );
3653
+					    $onchange = "props.setAttributes({ metadata: { $real_key: $key } } )";
3654
+					    $value     = "props.attributes.metadata && props.attributes.metadata.$real_key ? props.attributes.metadata.$real_key : ''";
3655
+				    }
3656
+			    }
3657
+    //			else if ( $args['type'] == 'popup' ) {
3658
+    //				$type = 'TextControl';
3659
+    //				$args['type'] == 'text';
3660
+    //				$after_elements .= "el( wp.components.Button, {
3661
+    //                          className: 'components-button components-circular-option-picker__clear is-primary is-smallx',
3662
+    //                          onClick: function(){
3663
+    //							  aui_modal('','<input id=\'zzz\' value= />');
3664
+    //							  const source = document.getElementById('zzz');
3665
+    //							  source.value = props.attributes.$key;
3666
+    //							  source.addEventListener('input', function(e){props.setAttributes({ $key: e.target.value });});
3667
+    //                          }
3668
+    //                        },
3669
+    //                        'test'
3670
+    //                        ),";
3671
+    //
3672
+    //				$value     = "props.attributes.$key ? props.attributes.$key : ''";
3673
+    //			}
3674
+			    else if ( $args['type'] == 'styleid' ) {
3675
+				    $type = 'TextControl';
3676
+				    $args['type'] == 'text';
3677
+				    // Save numbers as numbers and not strings
3678
+				    $value     = "props.attributes.$key ? props.attributes.$key : ''";
3679
+			    }else if ( $args['type'] == 'notice' ) {
3680
+
3681
+				    $notice_message = !empty($args['desc']) ? addslashes($args['desc']) : '';
3682
+				    $notice_status = !empty($args['status']) ? esc_attr($args['status']) : 'info';
3683
+
3684
+				    $notice = "el('div',{className:'bsui'},el(wp.components.Notice, {status: '$notice_status',isDismissible: false,className: 'm-0 pr-0 pe-0 mb-3'},el('div',{dangerouslySetInnerHTML: {__html: '$notice_message'}}))),";
3685
+				    echo $notice_message ? $element_require . $notice : '';
3686
+				    return;
3687
+			    }
3688
+			    /*
3689 3689
 			 * https://www.wptricks.com/question/set-current-tab-on-a-gutenberg-tabpanel-component-from-outside-that-component/ es5 layout
3690 3690
 						elseif($args['type']=='tabs'){
3691 3691
 							?>
@@ -3738,22 +3738,22 @@  discard block
 block discarded – undo
3738 3738
 							return;
3739 3739
 						}
3740 3740
 */
3741
-			elseif ( $args['type'] == 'color' ) {
3742
-				$type = 'ColorPicker';
3743
-				$onchange = "";
3744
-				$extra = "color: $value,";
3745
-				if(!empty($args['disable_alpha'])){
3746
-					$extra .= "disableAlpha: true,";
3747
-				}
3748
-				$onchangecomplete = "onChangeComplete: function($key) {
3741
+			    elseif ( $args['type'] == 'color' ) {
3742
+				    $type = 'ColorPicker';
3743
+				    $onchange = "";
3744
+				    $extra = "color: $value,";
3745
+				    if(!empty($args['disable_alpha'])){
3746
+					    $extra .= "disableAlpha: true,";
3747
+				    }
3748
+				    $onchangecomplete = "onChangeComplete: function($key) {
3749 3749
 				value =  $key.rgb.a && $key.rgb.a < 1 ? \"rgba(\"+$key.rgb.r+\",\"+$key.rgb.g+\",\"+$key.rgb.b+\",\"+$key.rgb.a+\")\" : $key.hex;
3750 3750
 						props.setAttributes({
3751 3751
 							$key: value
3752 3752
 						});
3753 3753
 					},";
3754
-			}elseif ( $args['type'] == 'gradient' ) {
3755
-				$type = 'GradientPicker';
3756
-				$extra .= "gradients: [{
3754
+			    }elseif ( $args['type'] == 'gradient' ) {
3755
+				    $type = 'GradientPicker';
3756
+				    $extra .= "gradients: [{
3757 3757
 			name: 'Vivid cyan blue to vivid purple',
3758 3758
 			gradient:
3759 3759
 				'linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)',
@@ -3790,10 +3790,10 @@  discard block
 block discarded – undo
3790 3790
 			slug: 'cool-to-warm-spectrum',
3791 3791
 		}],";
3792 3792
 
3793
-			}elseif ( $args['type'] == 'image' ) {
3794
-//                print_r($args);
3793
+			    }elseif ( $args['type'] == 'image' ) {
3794
+    //                print_r($args);
3795 3795
 
3796
-				$img_preview = isset($args['focalpoint']) && !$args['focalpoint'] ? " props.attributes.$key && el('img', { src: props.attributes.$key,style: {maxWidth:'100%',background: '#ccc'}})," : " ( props.attributes.$key ||  props.attributes.{$key}_use_featured ) && el(wp.components.FocalPointPicker,{
3796
+				    $img_preview = isset($args['focalpoint']) && !$args['focalpoint'] ? " props.attributes.$key && el('img', { src: props.attributes.$key,style: {maxWidth:'100%',background: '#ccc'}})," : " ( props.attributes.$key ||  props.attributes.{$key}_use_featured ) && el(wp.components.FocalPointPicker,{
3797 3797
 							url:  props.attributes.{$key}_use_featured === true ? 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiID8+CjxzdmcgYmFzZVByb2ZpbGU9InRpbnkiIGhlaWdodD0iNDAwIiB2ZXJzaW9uPSIxLjIiIHdpZHRoPSI0MDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6ZXY9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEveG1sLWV2ZW50cyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxkZWZzIC8+PHJlY3QgZmlsbD0iI2QzZDNkMyIgaGVpZ2h0PSI0MDAiIHdpZHRoPSI0MDAiIHg9IjAiIHk9IjAiIC8+PGxpbmUgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIxMCIgeDE9IjAiIHgyPSI0MDAiIHkxPSIwIiB5Mj0iNDAwIiAvPjxsaW5lIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMTAiIHgxPSIwIiB4Mj0iNDAwIiB5MT0iNDAwIiB5Mj0iMCIgLz48cmVjdCBmaWxsPSIjZDNkM2QzIiBoZWlnaHQ9IjUwIiB3aWR0aD0iMjE4LjAiIHg9IjkxLjAiIHk9IjE3NS4wIiAvPjx0ZXh0IGZpbGw9IndoaXRlIiBmb250LXNpemU9IjMwIiBmb250LXdlaWdodD0iYm9sZCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgeD0iMjAwLjAiIHk9IjIwNy41Ij5QTEFDRUhPTERFUjwvdGV4dD48L3N2Zz4='  : props.attributes.$key,
3798 3798
 							value: props.attributes.{$key}_xy.x !== undefined && props.attributes.{$key}_xy.x >= 0 ? props.attributes.{$key}_xy  : {x: 0.5,y: 0.5,},
3799 3799
 //                            value: props.attributes.{$key}_xy,
@@ -3814,16 +3814,16 @@  discard block
 block discarded – undo
3814 3814
 						}), ";
3815 3815
 
3816 3816
 
3817
-				$value = '""';
3818
-				$type = 'MediaUpload';
3819
-				$extra .= "onSelect: function(media){
3817
+				    $value = '""';
3818
+				    $type = 'MediaUpload';
3819
+				    $extra .= "onSelect: function(media){
3820 3820
 					  return props.setAttributes({
3821 3821
 						  $key: media.url,
3822 3822
 						  {$key}_id: media.id
3823 3823
 						});
3824 3824
 					  },";
3825
-				   $extra .= "type: 'image',";
3826
-				   $extra .= "render: function (obj) {
3825
+				       $extra .= "type: 'image',";
3826
+				       $extra .= "render: function (obj) {
3827 3827
 						return el( 'div',{},
3828 3828
 						( !props.attributes.$key && !props.attributes.{$key}_use_featured ) && el( wp.components.Button, {
3829 3829
 						  className: 'components-button components-circular-option-picker__clear is-primary is-smallx',
@@ -3849,11 +3849,11 @@  discard block
 block discarded – undo
3849 3849
 
3850 3850
 
3851 3851
 					  }";
3852
-				$onchange = "";
3852
+				    $onchange = "";
3853 3853
 
3854
-				//$inside_elements = ",el('div',{},'file upload')";
3855
-			} else if ( $args['type'] == 'images' ) {
3856
-				$img_preview = "props.attributes.$key && (function() {
3854
+				    //$inside_elements = ",el('div',{},'file upload')";
3855
+			    } else if ( $args['type'] == 'images' ) {
3856
+				    $img_preview = "props.attributes.$key && (function() {
3857 3857
 	let uploads = JSON.parse('['+props.attributes.$key+']');
3858 3858
 	let images = [];
3859 3859
 	uploads.map((upload, index) => (
@@ -3880,9 +3880,9 @@  discard block
 block discarded – undo
3880 3880
 })(),";
3881 3881
 
3882 3882
 
3883
-				$value = '""';
3884
-				$type = 'MediaUpload';
3885
-				$extra .= "onSelect: function(media){
3883
+				    $value = '""';
3884
+				    $type = 'MediaUpload';
3885
+				    $extra .= "onSelect: function(media){
3886 3886
 	let slim_images = props.attributes.$key ? JSON.parse('['+props.attributes.$key+']') : [];
3887 3887
 	if(media.length){
3888 3888
 		for (var i=0; i < media.length; i++) {
@@ -3895,9 +3895,9 @@  discard block
 block discarded – undo
3895 3895
 	}
3896 3896
 	return props.setAttributes({ $key: slimImagesV});
3897 3897
 },";
3898
-				$extra .= "type: 'image',";
3899
-				$extra .= "multiple: true,";
3900
-				$extra .= "render: function (obj) {
3898
+				    $extra .= "type: 'image',";
3899
+				    $extra .= "multiple: true,";
3900
+				    $extra .= "render: function (obj) {
3901 3901
 	/* Init the sort */
3902 3902
 	enableDragSort('sd-sortable');
3903 3903
 	return el( 'div',{},
@@ -3924,40 +3924,40 @@  discard block
 block discarded – undo
3924 3924
 		)
3925 3925
 	)
3926 3926
 }";
3927
-				$onchange = "";
3928
-
3929
-				//$inside_elements = ",el('div',{},'file upload')";
3930
-			}
3931
-			elseif ( $args['type'] == 'checkbox' ) {
3932
-				$type = 'CheckboxControl';
3933
-				$extra .= "checked: props.attributes.$key,";
3934
-				$onchange = "props.setAttributes({ $key: ! props.attributes.$key } )";
3935
-			} elseif ( $args['type'] == 'textarea' ) {
3936
-				$type = 'TextareaControl';
3937
-
3938
-			} elseif ( $args['type'] == 'select' || $args['type'] == 'multiselect' ) {
3939
-				$type = 'SelectControl';
3940
-
3941
-				if($args['name'] == 'category' && !empty($args['post_type_linked'])){
3942
-					$options .= "options: taxonomies_".str_replace("-","_", $this->id).",";
3943
-				}elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){
3944
-					$options .= "options: sort_by_".str_replace("-","_", $this->id).",";
3945
-				}else {
3946
-
3947
-					if ( ! empty( $args['options'] ) ) {
3948
-						$options .= "options: [";
3949
-						foreach ( $args['options'] as $option_val => $option_label ) {
3950
-							$options .= "{ value: '" . esc_attr( $option_val ) . "', label: '" . esc_js( addslashes( $option_label ) ) . "' },";
3951
-						}
3952
-						$options .= "],";
3953
-					}
3954
-				}
3955
-				if ( isset( $args['multiple'] ) && $args['multiple'] ) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550
3956
-					$extra .= ' multiple:true,style:{height:"auto",paddingRight:"8px","overflow-y":"auto"}, ';
3957
-				}
3958
-
3959
-				if($args['type'] == 'multiselect' ||  ( isset( $args['multiple'] ) && $args['multiple'] ) ){
3960
-					$after_elements	 .= "props.attributes.$key && el( wp.components.Button, {
3927
+				    $onchange = "";
3928
+
3929
+				    //$inside_elements = ",el('div',{},'file upload')";
3930
+			    }
3931
+			    elseif ( $args['type'] == 'checkbox' ) {
3932
+				    $type = 'CheckboxControl';
3933
+				    $extra .= "checked: props.attributes.$key,";
3934
+				    $onchange = "props.setAttributes({ $key: ! props.attributes.$key } )";
3935
+			    } elseif ( $args['type'] == 'textarea' ) {
3936
+				    $type = 'TextareaControl';
3937
+
3938
+			    } elseif ( $args['type'] == 'select' || $args['type'] == 'multiselect' ) {
3939
+				    $type = 'SelectControl';
3940
+
3941
+				    if($args['name'] == 'category' && !empty($args['post_type_linked'])){
3942
+					    $options .= "options: taxonomies_".str_replace("-","_", $this->id).",";
3943
+				    }elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){
3944
+					    $options .= "options: sort_by_".str_replace("-","_", $this->id).",";
3945
+				    }else {
3946
+
3947
+					    if ( ! empty( $args['options'] ) ) {
3948
+						    $options .= "options: [";
3949
+						    foreach ( $args['options'] as $option_val => $option_label ) {
3950
+							    $options .= "{ value: '" . esc_attr( $option_val ) . "', label: '" . esc_js( addslashes( $option_label ) ) . "' },";
3951
+						    }
3952
+						    $options .= "],";
3953
+					    }
3954
+				    }
3955
+				    if ( isset( $args['multiple'] ) && $args['multiple'] ) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550
3956
+					    $extra .= ' multiple:true,style:{height:"auto",paddingRight:"8px","overflow-y":"auto"}, ';
3957
+				    }
3958
+
3959
+				    if($args['type'] == 'multiselect' ||  ( isset( $args['multiple'] ) && $args['multiple'] ) ){
3960
+					    $after_elements	 .= "props.attributes.$key && el( wp.components.Button, {
3961 3961
 									  className: 'components-button components-circular-option-picker__clear is-secondary is-small',
3962 3962
 									  style: {margin:'-8px 0 8px 0',display: 'block'},
3963 3963
 									  onClick: function(){
@@ -3968,56 +3968,56 @@  discard block
 block discarded – undo
3968 3968
 									},
3969 3969
 									'Clear'
3970 3970
 							),";
3971
-				}
3972
-			} elseif ( $args['type'] == 'tagselect' ) {
3973
-//				$type = 'FormTokenField';
3974
-//
3975
-//				if ( ! empty( $args['options'] ) ) {
3976
-//						$options .= "suggestions: [";
3977
-//						foreach ( $args['options'] as $option_val => $option_label ) {
3978
-//							$options .= "{ value: '" . esc_attr( $option_val ) . "', title: '" . addslashes( $option_label ) . "' },";
3979
-////							$options .= "'" . esc_attr( $option_val ) . "':'" . addslashes( $option_label ) . "',";
3980
-//						}
3981
-//						$options .= "],";
3982
-//				}
3983
-//
3984
-//				$onchangex  = "{ ( selectedItems ) => {
3985
-//						// Build array of selected posts.
3986
-//						let selectedPostsArray = [];
3987
-//						selectedPosts.map(
3988
-//							( postName ) => {
3989
-//								const matchingPost = posts.find( ( post ) => {
3990
-//									return post.title.raw === postName;
3991
-//
3992
-//								} );
3993
-//								if ( matchingPost !== undefined ) {
3994
-//									selectedPostsArray.push( matchingPost.id );
3995
-//								}
3996
-//							}
3997
-//						)
3998
-//
3999
-//						setAttributes( { selectedPosts: selectedPostsArray } );
4000
-//					} } ";
4001
-//				$onchange  = '';// "props.setAttributes({ $key: [ props.attributes.$key ] } )";
4002
-//
4003
-////				$options  = "";
4004
-//				$value     = "[]";
4005
-//				$extra .= ' __experimentalExpandOnFocus: true,';
4006
-
4007
-			} else if ( $args['type'] == 'alignment' ) {
4008
-				$type = 'AlignmentToolbar'; // @todo this does not seem to work but cant find a example
4009
-			} else if ( $args['type'] == 'margins' ) {
4010
-
4011
-			} else if ( $args['type'] == 'visibility_conditions' && ( function_exists( 'wp_is_block_theme' ) && wp_is_block_theme() ) ) {
4012
-				$type = 'TextControl';
4013
-				$value = "(props.attributes.$key ? props.attributes.$key : '')";
4014
-				$args['type'] = 'text';
4015
-				$options .= 'disabled:true,';
4016
-				$bsvc_title = esc_attr( addslashes( $args['title'] ) );
4017
-				$bsvc_body = $this->block_visibility_fields( $args );
4018
-				// @TODO reset button
4019
-				$bsvc_footer = '<button type="button" class="btn btn-danger d-none">' . __( 'Reset', 'ayecode-connect' ) . '</button><button type="button" class="btn btn-secondary bs-vc-close text-white" data-bs-dismiss="modal">' . __( 'Close', 'ayecode-connect' ) . '</button><button type="button" class="btn btn-primary bs-vc-save">' . __( 'Save Rules', 'ayecode-connect' ) . '</button>';
4020
-				$after_elements .= "el('div', {className: 'components-base-control bs-vc-button-wrap'}, el(wp.components.Button, {
3971
+				    }
3972
+			    } elseif ( $args['type'] == 'tagselect' ) {
3973
+    //				$type = 'FormTokenField';
3974
+    //
3975
+    //				if ( ! empty( $args['options'] ) ) {
3976
+    //						$options .= "suggestions: [";
3977
+    //						foreach ( $args['options'] as $option_val => $option_label ) {
3978
+    //							$options .= "{ value: '" . esc_attr( $option_val ) . "', title: '" . addslashes( $option_label ) . "' },";
3979
+    ////							$options .= "'" . esc_attr( $option_val ) . "':'" . addslashes( $option_label ) . "',";
3980
+    //						}
3981
+    //						$options .= "],";
3982
+    //				}
3983
+    //
3984
+    //				$onchangex  = "{ ( selectedItems ) => {
3985
+    //						// Build array of selected posts.
3986
+    //						let selectedPostsArray = [];
3987
+    //						selectedPosts.map(
3988
+    //							( postName ) => {
3989
+    //								const matchingPost = posts.find( ( post ) => {
3990
+    //									return post.title.raw === postName;
3991
+    //
3992
+    //								} );
3993
+    //								if ( matchingPost !== undefined ) {
3994
+    //									selectedPostsArray.push( matchingPost.id );
3995
+    //								}
3996
+    //							}
3997
+    //						)
3998
+    //
3999
+    //						setAttributes( { selectedPosts: selectedPostsArray } );
4000
+    //					} } ";
4001
+    //				$onchange  = '';// "props.setAttributes({ $key: [ props.attributes.$key ] } )";
4002
+    //
4003
+    ////				$options  = "";
4004
+    //				$value     = "[]";
4005
+    //				$extra .= ' __experimentalExpandOnFocus: true,';
4006
+
4007
+			    } else if ( $args['type'] == 'alignment' ) {
4008
+				    $type = 'AlignmentToolbar'; // @todo this does not seem to work but cant find a example
4009
+			    } else if ( $args['type'] == 'margins' ) {
4010
+
4011
+			    } else if ( $args['type'] == 'visibility_conditions' && ( function_exists( 'wp_is_block_theme' ) && wp_is_block_theme() ) ) {
4012
+				    $type = 'TextControl';
4013
+				    $value = "(props.attributes.$key ? props.attributes.$key : '')";
4014
+				    $args['type'] = 'text';
4015
+				    $options .= 'disabled:true,';
4016
+				    $bsvc_title = esc_attr( addslashes( $args['title'] ) );
4017
+				    $bsvc_body = $this->block_visibility_fields( $args );
4018
+				    // @TODO reset button
4019
+				    $bsvc_footer = '<button type="button" class="btn btn-danger d-none">' . __( 'Reset', 'ayecode-connect' ) . '</button><button type="button" class="btn btn-secondary bs-vc-close text-white" data-bs-dismiss="modal">' . __( 'Close', 'ayecode-connect' ) . '</button><button type="button" class="btn btn-primary bs-vc-save">' . __( 'Save Rules', 'ayecode-connect' ) . '</button>';
4020
+				    $after_elements .= "el('div', {className: 'components-base-control bs-vc-button-wrap'}, el(wp.components.Button, {
4021 4021
 						className: 'components-button components-circular-option-picker__clear is-primary is-smallx',
4022 4022
 						onClick: function() {
4023 4023
 							var sValue = props.attributes." . $key . ";
@@ -4043,54 +4043,54 @@  discard block
 block discarded – undo
4043 4043
 					},
4044 4044
 					'" . addslashes( ! empty( $args['button_title'] ) ? $args['button_title'] : $args['title'] ) . "'
4045 4045
 				) ),";
4046
-			} else {
4047
-				return;// if we have not implemented the control then don't break the JS.
4048
-			}
4049
-
4050
-			// color input does not show the labels so we add them
4051
-			if($args['type']=='color'){
4052
-				// add show only if advanced
4053
-				echo $require_advanced;
4054
-				// add setting require if defined
4055
-				echo $element_require;
4056
-				echo "el('div', {style: {'marginBottom': '8px'}}, '".addslashes( $args['title'] )."'),";
4057
-			}
4058
-
4059
-			// add show only if advanced
4060
-			echo $require_advanced;
4061
-			// add setting require if defined
4062
-			echo $element_require;
4063
-			echo $device_type_require;
4064
-
4065
-			// icon
4066
-			echo $icon;
4067
-			?>
4068
-			el( <?php echo $args['type'] == 'image' || $args['type'] == 'images' ? $type  : "wp.components.".$type; ?>, {
4046
+			    } else {
4047
+				    return;// if we have not implemented the control then don't break the JS.
4048
+			    }
4049
+
4050
+			    // color input does not show the labels so we add them
4051
+			    if($args['type']=='color'){
4052
+				    // add show only if advanced
4053
+				    echo $require_advanced;
4054
+				    // add setting require if defined
4055
+				    echo $element_require;
4056
+				    echo "el('div', {style: {'marginBottom': '8px'}}, '".addslashes( $args['title'] )."'),";
4057
+			    }
4058
+
4059
+			    // add show only if advanced
4060
+			    echo $require_advanced;
4061
+			    // add setting require if defined
4062
+			    echo $element_require;
4063
+			    echo $device_type_require;
4064
+
4065
+			    // icon
4066
+			    echo $icon;
4067
+			    ?>
4068
+    			el( <?php echo $args['type'] == 'image' || $args['type'] == 'images' ? $type  : "wp.components.".$type; ?>, {
4069 4069
 			label: <?php if ( empty( $args['title'] ) ) { echo "''"; } else if ( empty( $args['row'] ) && ! empty( $args['device_type'] ) ) { ?>el('label',{className:'components-base-control__label',style:{width:"100%"}},el('span',{dangerouslySetInnerHTML: {__html: '<?php echo addslashes( $args['title'] ) ?>'}}),<?php if ( $device_type_icon ) { ?>deviceType == '<?php echo $device_type;?>' && el('span',{dangerouslySetInnerHTML: {__html: '<?php echo $device_type_icon; ?>'},title: deviceType + ": Set preview mode to change",style: {right:"0",position:"absolute",color:"var(--wp-admin-theme-color)"}})<?php } ?>)<?php
4070
-			} else { ?>'<?php echo addslashes( trim( esc_html( $args['title'] ) ) ); ?>'<?php } ?>,
4070
+			    } else { ?>'<?php echo addslashes( trim( esc_html( $args['title'] ) ) ); ?>'<?php } ?>,
4071 4071
 			help: <?php echo ( isset( $args['desc'] ) ? "el('span', {dangerouslySetInnerHTML: {__html: '" . trim( wp_kses_post( addslashes( $args['desc'] ) ) ) . "'}})" : "''" ); ?>,
4072 4072
 			value: <?php echo $value; ?>,
4073 4073
 			<?php if ( $type == 'TextControl' && $args['type'] != 'text' ) {
4074
-				echo "type: '" . addslashes( $args['type'] ) . "',";
4075
-			} ?>
4076
-			<?php if ( ! empty( $args['placeholder'] ) ) {
4077
-				echo "placeholder: '" . esc_js( addslashes( trim( esc_html( $args['placeholder'] ) ) ) ) . "',";
4078
-			} ?>
4079
-			<?php echo $options; ?>
4080
-			<?php echo $extra; ?>
4081
-			<?php echo $custom_attributes; ?>
4082
-			<?php echo $onchangecomplete; ?>
4083
-			<?php if ( $onchange ) { ?>
4084
-			onChange: function ( <?php echo $key; ?> ) {
4074
+				    echo "type: '" . addslashes( $args['type'] ) . "',";
4075
+			    } ?>
4076
+    			<?php if ( ! empty( $args['placeholder'] ) ) {
4077
+				    echo "placeholder: '" . esc_js( addslashes( trim( esc_html( $args['placeholder'] ) ) ) ) . "',";
4078
+			    } ?>
4079
+    			<?php echo $options; ?>
4080
+    			<?php echo $extra; ?>
4081
+    			<?php echo $custom_attributes; ?>
4082
+    			<?php echo $onchangecomplete; ?>
4083
+    			<?php if ( $onchange ) { ?>
4084
+    			onChange: function ( <?php echo $key; ?> ) {
4085 4085
 				<?php echo $onchange; ?>
4086
-			}
4086
+    			}
4087 4087
 			<?php } ?>
4088
-		} <?php echo $inside_elements; ?> ),
4088
+    		} <?php echo $inside_elements; ?> ),
4089 4089
 			<?php
4090
-			echo $after_elements;
4091
-		}
4090
+			    echo $after_elements;
4091
+		    }
4092 4092
 
4093
-		/**
4093
+		    /**
4094 4094
 		 * Convert an array of attributes to block string.
4095 4095
 		 *
4096 4096
 		 * @param $custom_attributes
@@ -4099,448 +4099,448 @@  discard block
 block discarded – undo
4099 4099
 		 *@todo there is prob a faster way to do this, also we could add some validation here.
4100 4100
 		 *
4101 4101
 		 */
4102
-		public function array_to_attributes( $custom_attributes, $html = false ) {
4103
-			$attributes = '';
4104
-			if ( ! empty( $custom_attributes ) ) {
4102
+		    public function array_to_attributes( $custom_attributes, $html = false ) {
4103
+			    $attributes = '';
4104
+			    if ( ! empty( $custom_attributes ) ) {
4105 4105
 
4106
-				foreach ( $custom_attributes as $key => $val ) {
4107
-					if(is_array($val)){
4108
-						$attributes .= $key.': {'.$this->array_to_attributes( $val, $html ).'},';
4109
-					}else{
4110
-						$attributes .= $html ?  " $key='$val' " : "'$key': '$val',";
4111
-					}
4112
-				}
4106
+				    foreach ( $custom_attributes as $key => $val ) {
4107
+					    if(is_array($val)){
4108
+						    $attributes .= $key.': {'.$this->array_to_attributes( $val, $html ).'},';
4109
+					    }else{
4110
+						    $attributes .= $html ?  " $key='$val' " : "'$key': '$val',";
4111
+					    }
4112
+				    }
4113 4113
 
4114
-			}
4114
+			    }
4115 4115
 
4116
-			return $attributes;
4117
-		}
4116
+			    return $attributes;
4117
+		    }
4118 4118
 
4119 4119
 
4120 4120
 
4121
-		/**
4121
+		    /**
4122 4122
 		 * A self looping function to create the output for JS block elements.
4123 4123
 		 *
4124 4124
 		 * This is what is output in the WP Editor visual view.
4125 4125
 		 *
4126 4126
 		 * @param $args
4127 4127
 		 */
4128
-		public function block_element( $args, $save = false ) {
4129
-
4130
-//            print_r($args);echo '###';exit;
4131
-
4132
-			if ( ! empty( $args ) ) {
4133
-				foreach ( $args as $element => $new_args ) {
4134
-
4135
-					if ( is_array( $new_args ) ) { // its an element
4128
+		    public function block_element( $args, $save = false ) {
4129
+
4130
+    //            print_r($args);echo '###';exit;
4131
+
4132
+			    if ( ! empty( $args ) ) {
4133
+				    foreach ( $args as $element => $new_args ) {
4134
+
4135
+					    if ( is_array( $new_args ) ) { // its an element
4136
+
4136 4137
 
4138
+						    if ( isset( $new_args['element'] ) ) {
4137 4139
 
4138
-						if ( isset( $new_args['element'] ) ) {
4139
-
4140
-							if ( isset( $new_args['element_require'] ) ) {
4141
-								echo str_replace( array(
4142
-										"'+",
4143
-										"+'"
4144
-									), '', $this->block_props_replace( $new_args['element_require'] ) ) . " &&  ";
4145
-								unset( $new_args['element_require'] );
4146
-							}
4147
-
4148
-							if($new_args['element']=='InnerBlocks'){
4149
-								echo "\n el( InnerBlocks, {";
4150
-							}elseif($new_args['element']=='innerBlocksProps'){
4151
-								$element = isset($new_args['inner_element']) ? esc_attr($new_args['inner_element']) : 'div';
4152
-							  //  echo "\n el( 'section', wp.blockEditor.useInnerBlocksProps( blockProps, {";
4153
-//                                echo $save ? "\n el( '$element', wp.blockEditor.useInnerBlocksProps.save( " : "\n el( '$element', wp.blockEditor.useInnerBlocksProps( ";
4154
-								echo $save ? "\n el( '$element', wp.blockEditor.useInnerBlocksProps.save( " : "\n el( '$element', wp.blockEditor.useInnerBlocksProps( ";
4155
-								echo $save ? "wp.blockEditor.useBlockProps.save( {" : "wp.blockEditor.useBlockProps( {";
4156
-								echo !empty($new_args['blockProps']) ? $this->block_element( $new_args['blockProps'],$save ) : '';
4157
-
4158
-								echo "} ), {";
4159
-								echo !empty($new_args['innerBlocksProps']) && !$save ? $this->block_element( $new_args['innerBlocksProps'],$save ) : '';
4160
-							//    echo '###';
4161
-
4162
-							  //  echo '###';
4163
-							}elseif($new_args['element']=='BlocksProps'){
4164
-
4165
-								if ( isset($new_args['if_inner_element']) ) {
4166
-									$element = $new_args['if_inner_element'];
4167
-								}else {
4168
-									$element = isset($new_args['inner_element']) ? "'".esc_attr($new_args['inner_element'])."'" : "'div'";
4169
-								}
4170
-
4171
-								unset($new_args['inner_element']);
4172
-								echo $save ? "\n el( $element, wp.blockEditor.useBlockProps.save( {" : "\n el( $element, wp.blockEditor.useBlockProps( {";
4173
-								echo !empty($new_args['blockProps']) ? $this->block_element( $new_args['blockProps'],$save ) : '';
4174
-
4175
-
4176
-							   // echo "} ),";
4177
-
4178
-							}else{
4179
-								echo "\n el( '" . $new_args['element'] . "', {";
4180
-							}
4181
-
4182
-
4183
-							// get the attributes
4184
-							foreach ( $new_args as $new_key => $new_value ) {
4185
-
4186
-
4187
-								if ( $new_key == 'element' || $new_key == 'content'|| $new_key == 'if_content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array( $new_value ) ) {
4188
-									// do nothing
4189
-								} else {
4190
-									echo $this->block_element( array( $new_key => $new_value ),$save );
4191
-								}
4192
-							}
4193
-
4194
-							echo $new_args['element']=='BlocksProps' ? '} ),' : "},";// end attributes
4195
-
4196
-							// get the content
4197
-							$first_item = 0;
4198
-							foreach ( $new_args as $new_key => $new_value ) {
4199
-								if ( $new_key === 'content' || $new_key === 'if_content' || is_array( $new_value ) ) {
4200
-
4201
-									if ( $new_key === 'content' ) {
4202
-										echo "'" . $this->block_props_replace( wp_slash( $new_value ) ) . "'";
4203
-									}else if ( $new_key === 'if_content' ) {
4204
-										echo  $this->block_props_replace(  $new_value  );
4205
-									}
4206
-
4207
-									if ( is_array( $new_value ) ) {
4208
-
4209
-										if ( isset( $new_value['element_require'] ) ) {
4210
-											echo str_replace( array(
4211
-													"'+",
4212
-													"+'"
4213
-												), '', $this->block_props_replace( $new_value['element_require'] ) ) . " &&  ";
4214
-											unset( $new_value['element_require'] );
4215
-										}
4216
-
4217
-										if ( isset( $new_value['element_repeat'] ) ) {
4218
-											$x = 1;
4219
-											while ( $x <= absint( $new_value['element_repeat'] ) ) {
4220
-												$this->block_element( array( '' => $new_value ),$save );
4221
-												$x ++;
4222
-											}
4223
-										} else {
4224
-											$this->block_element( array( '' => $new_value ),$save );
4225
-										}
4226
-									}
4227
-									$first_item ++;
4228
-								}
4229
-							}
4230
-
4231
-							if($new_args['element']=='innerBlocksProps' || $new_args['element']=='xBlocksProps'){
4232
-								echo "))";// end content
4233
-							}else{
4234
-								echo ")";// end content
4235
-							}
4236
-
4237
-
4238
-							echo ", \n";
4239
-
4240
-						}
4241
-					} else {
4242
-
4243
-						if ( substr( $element, 0, 3 ) === "if_" ) {
4244
-							$extra = '';
4245
-							if( strpos($new_args, '[%WrapClass%]') !== false ){
4246
-								$new_args = str_replace('[%WrapClass%]"','" + sd_build_aui_class(props.attributes)',$new_args);
4247
-								$new_args = str_replace('[%WrapClass%]','+ sd_build_aui_class(props.attributes)',$new_args);
4248
-							}
4249
-							echo str_replace( "if_", "", $element ) . ": " . $this->block_props_replace( $new_args, true ) . ",";
4250
-						} elseif ( $element == 'style' &&  strpos($new_args, '[%WrapStyle%]') !== false ) {
4251
-							$new_args = str_replace('[%WrapStyle%]','',$new_args);
4252
-							echo $element . ": {..." . $this->block_props_replace( $new_args ) . " , ...sd_build_aui_styles(props.attributes) },";
4253
-//                            echo $element . ": " . $this->block_props_replace( $new_args ) . ",";
4254
-						} elseif ( $element == 'style' ) {
4255
-							echo $element . ": " . $this->block_props_replace( $new_args ) . ",";
4256
-						} elseif ( ( $element == 'class' || $element == 'className'  ) &&  strpos($new_args, '[%WrapClass%]') !== false ) {
4257
-							$new_args = str_replace('[%WrapClass%]','',$new_args);
4258
-							echo $element . ": '" . $this->block_props_replace( $new_args ) . "' + sd_build_aui_class(props.attributes),";
4259
-						} elseif ( $element == 'template' && $new_args ) {
4260
-							echo $element . ": $new_args,";
4261
-						} else {
4262
-							echo $element . ": '" . $this->block_props_replace( $new_args ) . "',";
4263
-						}
4264
-
4265
-					}
4266
-				}
4267
-			}
4268
-		}
4269
-
4270
-		/**
4140
+							    if ( isset( $new_args['element_require'] ) ) {
4141
+								    echo str_replace( array(
4142
+										    "'+",
4143
+										    "+'"
4144
+									    ), '', $this->block_props_replace( $new_args['element_require'] ) ) . " &&  ";
4145
+								    unset( $new_args['element_require'] );
4146
+							    }
4147
+
4148
+							    if($new_args['element']=='InnerBlocks'){
4149
+								    echo "\n el( InnerBlocks, {";
4150
+							    }elseif($new_args['element']=='innerBlocksProps'){
4151
+								    $element = isset($new_args['inner_element']) ? esc_attr($new_args['inner_element']) : 'div';
4152
+							      //  echo "\n el( 'section', wp.blockEditor.useInnerBlocksProps( blockProps, {";
4153
+    //                                echo $save ? "\n el( '$element', wp.blockEditor.useInnerBlocksProps.save( " : "\n el( '$element', wp.blockEditor.useInnerBlocksProps( ";
4154
+								    echo $save ? "\n el( '$element', wp.blockEditor.useInnerBlocksProps.save( " : "\n el( '$element', wp.blockEditor.useInnerBlocksProps( ";
4155
+								    echo $save ? "wp.blockEditor.useBlockProps.save( {" : "wp.blockEditor.useBlockProps( {";
4156
+								    echo !empty($new_args['blockProps']) ? $this->block_element( $new_args['blockProps'],$save ) : '';
4157
+
4158
+								    echo "} ), {";
4159
+								    echo !empty($new_args['innerBlocksProps']) && !$save ? $this->block_element( $new_args['innerBlocksProps'],$save ) : '';
4160
+							    //    echo '###';
4161
+
4162
+							      //  echo '###';
4163
+							    }elseif($new_args['element']=='BlocksProps'){
4164
+
4165
+								    if ( isset($new_args['if_inner_element']) ) {
4166
+									    $element = $new_args['if_inner_element'];
4167
+								    }else {
4168
+									    $element = isset($new_args['inner_element']) ? "'".esc_attr($new_args['inner_element'])."'" : "'div'";
4169
+								    }
4170
+
4171
+								    unset($new_args['inner_element']);
4172
+								    echo $save ? "\n el( $element, wp.blockEditor.useBlockProps.save( {" : "\n el( $element, wp.blockEditor.useBlockProps( {";
4173
+								    echo !empty($new_args['blockProps']) ? $this->block_element( $new_args['blockProps'],$save ) : '';
4174
+
4175
+
4176
+							       // echo "} ),";
4177
+
4178
+							    }else{
4179
+								    echo "\n el( '" . $new_args['element'] . "', {";
4180
+							    }
4181
+
4182
+
4183
+							    // get the attributes
4184
+							    foreach ( $new_args as $new_key => $new_value ) {
4185
+
4186
+
4187
+								    if ( $new_key == 'element' || $new_key == 'content'|| $new_key == 'if_content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array( $new_value ) ) {
4188
+									    // do nothing
4189
+								    } else {
4190
+									    echo $this->block_element( array( $new_key => $new_value ),$save );
4191
+								    }
4192
+							    }
4193
+
4194
+							    echo $new_args['element']=='BlocksProps' ? '} ),' : "},";// end attributes
4195
+
4196
+							    // get the content
4197
+							    $first_item = 0;
4198
+							    foreach ( $new_args as $new_key => $new_value ) {
4199
+								    if ( $new_key === 'content' || $new_key === 'if_content' || is_array( $new_value ) ) {
4200
+
4201
+									    if ( $new_key === 'content' ) {
4202
+										    echo "'" . $this->block_props_replace( wp_slash( $new_value ) ) . "'";
4203
+									    }else if ( $new_key === 'if_content' ) {
4204
+										    echo  $this->block_props_replace(  $new_value  );
4205
+									    }
4206
+
4207
+									    if ( is_array( $new_value ) ) {
4208
+
4209
+										    if ( isset( $new_value['element_require'] ) ) {
4210
+											    echo str_replace( array(
4211
+													    "'+",
4212
+													    "+'"
4213
+												    ), '', $this->block_props_replace( $new_value['element_require'] ) ) . " &&  ";
4214
+											    unset( $new_value['element_require'] );
4215
+										    }
4216
+
4217
+										    if ( isset( $new_value['element_repeat'] ) ) {
4218
+											    $x = 1;
4219
+											    while ( $x <= absint( $new_value['element_repeat'] ) ) {
4220
+												    $this->block_element( array( '' => $new_value ),$save );
4221
+												    $x ++;
4222
+											    }
4223
+										    } else {
4224
+											    $this->block_element( array( '' => $new_value ),$save );
4225
+										    }
4226
+									    }
4227
+									    $first_item ++;
4228
+								    }
4229
+							    }
4230
+
4231
+							    if($new_args['element']=='innerBlocksProps' || $new_args['element']=='xBlocksProps'){
4232
+								    echo "))";// end content
4233
+							    }else{
4234
+								    echo ")";// end content
4235
+							    }
4236
+
4237
+
4238
+							    echo ", \n";
4239
+
4240
+						    }
4241
+					    } else {
4242
+
4243
+						    if ( substr( $element, 0, 3 ) === "if_" ) {
4244
+							    $extra = '';
4245
+							    if( strpos($new_args, '[%WrapClass%]') !== false ){
4246
+								    $new_args = str_replace('[%WrapClass%]"','" + sd_build_aui_class(props.attributes)',$new_args);
4247
+								    $new_args = str_replace('[%WrapClass%]','+ sd_build_aui_class(props.attributes)',$new_args);
4248
+							    }
4249
+							    echo str_replace( "if_", "", $element ) . ": " . $this->block_props_replace( $new_args, true ) . ",";
4250
+						    } elseif ( $element == 'style' &&  strpos($new_args, '[%WrapStyle%]') !== false ) {
4251
+							    $new_args = str_replace('[%WrapStyle%]','',$new_args);
4252
+							    echo $element . ": {..." . $this->block_props_replace( $new_args ) . " , ...sd_build_aui_styles(props.attributes) },";
4253
+    //                            echo $element . ": " . $this->block_props_replace( $new_args ) . ",";
4254
+						    } elseif ( $element == 'style' ) {
4255
+							    echo $element . ": " . $this->block_props_replace( $new_args ) . ",";
4256
+						    } elseif ( ( $element == 'class' || $element == 'className'  ) &&  strpos($new_args, '[%WrapClass%]') !== false ) {
4257
+							    $new_args = str_replace('[%WrapClass%]','',$new_args);
4258
+							    echo $element . ": '" . $this->block_props_replace( $new_args ) . "' + sd_build_aui_class(props.attributes),";
4259
+						    } elseif ( $element == 'template' && $new_args ) {
4260
+							    echo $element . ": $new_args,";
4261
+						    } else {
4262
+							    echo $element . ": '" . $this->block_props_replace( $new_args ) . "',";
4263
+						    }
4264
+
4265
+					    }
4266
+				    }
4267
+			    }
4268
+		    }
4269
+
4270
+		    /**
4271 4271
 		 * Replace block attributes placeholders with the proper naming.
4272 4272
 		 *
4273 4273
 		 * @param $string
4274 4274
 		 *
4275 4275
 		 * @return mixed
4276 4276
 		 */
4277
-		public function block_props_replace( $string, $no_wrap = false ) {
4278
-			if ( $no_wrap ) {
4279
-				$string = str_replace( array( "[%", "%]", "%:checked]" ), array( "props.attributes.", "", "" ), $string );
4280
-			} else {
4281
-				$string = str_replace( array( "![%", "[%", "%]", "%:checked]" ), array( "'+!props.attributes.", "'+props.attributes.", "+'", "+'" ), $string );
4282
-			}
4277
+		    public function block_props_replace( $string, $no_wrap = false ) {
4278
+			    if ( $no_wrap ) {
4279
+				    $string = str_replace( array( "[%", "%]", "%:checked]" ), array( "props.attributes.", "", "" ), $string );
4280
+			    } else {
4281
+				    $string = str_replace( array( "![%", "[%", "%]", "%:checked]" ), array( "'+!props.attributes.", "'+props.attributes.", "+'", "+'" ), $string );
4282
+			    }
4283 4283
 
4284
-			return $string;
4285
-		}
4284
+			    return $string;
4285
+		    }
4286 4286
 
4287
-		/**
4287
+		    /**
4288 4288
 		 * Outputs the content of the widget
4289 4289
 		 *
4290 4290
 		 * @param array $args
4291 4291
 		 * @param array $instance
4292 4292
 		 */
4293
-		public function widget( $args, $instance ) {
4294
-			if ( ! is_array( $args ) ) {
4295
-				$args = array();
4296
-			}
4297
-
4298
-			// Get the filtered values
4299
-			$argument_values = $this->argument_values( $instance );
4300
-			$argument_values = $this->string_to_bool( $argument_values );
4301
-			$output          = $this->output( $argument_values, $args );
4302
-
4303
-			$no_wrap = false;
4304
-			if ( isset( $argument_values['no_wrap'] ) && $argument_values['no_wrap'] ) {
4305
-				$no_wrap = true;
4306
-			}
4307
-
4308
-			ob_start();
4309
-			if ( $output && ! $no_wrap ) {
4310
-
4311
-				$class_original = $this->options['widget_ops']['classname'];
4312
-				$class = $this->options['widget_ops']['classname']." sdel-".$this->get_instance_hash();
4313
-
4314
-				// Before widget
4315
-				$before_widget = ! empty( $args['before_widget'] ) ? $args['before_widget'] : '';
4316
-				$before_widget = $before_widget ? str_replace( $class_original, $class, $before_widget ) : $before_widget;
4317
-				$before_widget = apply_filters( 'wp_super_duper_before_widget', $before_widget, $args, $instance, $this );
4318
-				$before_widget = apply_filters( 'wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this );
4319
-
4320
-				// After widget
4321
-				$after_widget = ! empty( $args['after_widget'] ) ? $args['after_widget'] : '';
4322
-				$after_widget = apply_filters( 'wp_super_duper_after_widget', $after_widget, $args, $instance, $this );
4323
-				$after_widget = apply_filters( 'wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this );
4324
-
4325
-				echo $before_widget;
4326
-				// elementor strips the widget wrapping div so we check for and add it back if needed
4327
-				if ( $this->is_elementor_widget_output() ) {
4328
-					// Filter class & attrs for elementor widget output.
4329
-					$class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
4330
-					$class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
4331
-
4332
-					$attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
4333
-					$attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this );
4334
-
4335
-					echo "<span class='" . esc_attr( $class  ) . "' " . $attrs . ">";
4336
-				}
4337
-				echo $this->output_title( $args, $instance );
4338
-				echo $output;
4339
-				if ( $this->is_elementor_widget_output() ) {
4340
-					echo "</span>";
4341
-				}
4342
-				echo $after_widget;
4343
-			} elseif ( $this->is_preview() && $output == '' ) {// if preview show a placeholder if empty
4344
-				$output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
4345
-				echo $output;
4346
-			} elseif ( $output && $no_wrap ) {
4347
-				echo $output;
4348
-			}
4349
-			$output = ob_get_clean();
4350
-
4351
-			$output = apply_filters( 'wp_super_duper_widget_output', $output, $instance, $args, $this );
4352
-
4353
-			echo $output;
4354
-		}
4355
-
4356
-		/**
4293
+		    public function widget( $args, $instance ) {
4294
+			    if ( ! is_array( $args ) ) {
4295
+				    $args = array();
4296
+			    }
4297
+
4298
+			    // Get the filtered values
4299
+			    $argument_values = $this->argument_values( $instance );
4300
+			    $argument_values = $this->string_to_bool( $argument_values );
4301
+			    $output          = $this->output( $argument_values, $args );
4302
+
4303
+			    $no_wrap = false;
4304
+			    if ( isset( $argument_values['no_wrap'] ) && $argument_values['no_wrap'] ) {
4305
+				    $no_wrap = true;
4306
+			    }
4307
+
4308
+			    ob_start();
4309
+			    if ( $output && ! $no_wrap ) {
4310
+
4311
+				    $class_original = $this->options['widget_ops']['classname'];
4312
+				    $class = $this->options['widget_ops']['classname']." sdel-".$this->get_instance_hash();
4313
+
4314
+				    // Before widget
4315
+				    $before_widget = ! empty( $args['before_widget'] ) ? $args['before_widget'] : '';
4316
+				    $before_widget = $before_widget ? str_replace( $class_original, $class, $before_widget ) : $before_widget;
4317
+				    $before_widget = apply_filters( 'wp_super_duper_before_widget', $before_widget, $args, $instance, $this );
4318
+				    $before_widget = apply_filters( 'wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this );
4319
+
4320
+				    // After widget
4321
+				    $after_widget = ! empty( $args['after_widget'] ) ? $args['after_widget'] : '';
4322
+				    $after_widget = apply_filters( 'wp_super_duper_after_widget', $after_widget, $args, $instance, $this );
4323
+				    $after_widget = apply_filters( 'wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this );
4324
+
4325
+				    echo $before_widget;
4326
+				    // elementor strips the widget wrapping div so we check for and add it back if needed
4327
+				    if ( $this->is_elementor_widget_output() ) {
4328
+					    // Filter class & attrs for elementor widget output.
4329
+					    $class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
4330
+					    $class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
4331
+
4332
+					    $attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
4333
+					    $attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this );
4334
+
4335
+					    echo "<span class='" . esc_attr( $class  ) . "' " . $attrs . ">";
4336
+				    }
4337
+				    echo $this->output_title( $args, $instance );
4338
+				    echo $output;
4339
+				    if ( $this->is_elementor_widget_output() ) {
4340
+					    echo "</span>";
4341
+				    }
4342
+				    echo $after_widget;
4343
+			    } elseif ( $this->is_preview() && $output == '' ) {// if preview show a placeholder if empty
4344
+				    $output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
4345
+				    echo $output;
4346
+			    } elseif ( $output && $no_wrap ) {
4347
+				    echo $output;
4348
+			    }
4349
+			    $output = ob_get_clean();
4350
+
4351
+			    $output = apply_filters( 'wp_super_duper_widget_output', $output, $instance, $args, $this );
4352
+
4353
+			    echo $output;
4354
+		    }
4355
+
4356
+		    /**
4357 4357
 		 * Tests if the current output is inside a elementor container.
4358 4358
 		 *
4359 4359
 		 * @return bool
4360 4360
 		 *@since 1.0.4
4361 4361
 		 */
4362
-		public function is_elementor_widget_output() {
4363
-			$result = false;
4364
-			if ( defined( 'ELEMENTOR_VERSION' ) && isset( $this->number ) && $this->number == 'REPLACE_TO_ID' ) {
4365
-				$result = true;
4366
-			}
4362
+		    public function is_elementor_widget_output() {
4363
+			    $result = false;
4364
+			    if ( defined( 'ELEMENTOR_VERSION' ) && isset( $this->number ) && $this->number == 'REPLACE_TO_ID' ) {
4365
+				    $result = true;
4366
+			    }
4367 4367
 
4368
-			return $result;
4369
-		}
4368
+			    return $result;
4369
+		    }
4370 4370
 
4371
-		/**
4371
+		    /**
4372 4372
 		 * Tests if the current output is inside a elementor preview.
4373 4373
 		 *
4374 4374
 		 * @return bool
4375 4375
 		 *@since 1.0.4
4376 4376
 		 */
4377
-		public function is_elementor_preview() {
4378
-			$result = false;
4379
-			if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
4380
-				$result = true;
4381
-			}
4377
+		    public function is_elementor_preview() {
4378
+			    $result = false;
4379
+			    if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
4380
+				    $result = true;
4381
+			    }
4382 4382
 
4383
-			return $result;
4384
-		}
4383
+			    return $result;
4384
+		    }
4385 4385
 
4386
-		/**
4386
+		    /**
4387 4387
 		 * Tests if the current output is inside a Divi preview.
4388 4388
 		 *
4389 4389
 		 * @return bool
4390 4390
 		 *@since 1.0.6
4391 4391
 		 */
4392
-		public function is_divi_preview() {
4393
-			$result = false;
4394
-			if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
4395
-				$result = true;
4396
-			}
4392
+		    public function is_divi_preview() {
4393
+			    $result = false;
4394
+			    if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
4395
+				    $result = true;
4396
+			    }
4397 4397
 
4398
-			return $result;
4399
-		}
4398
+			    return $result;
4399
+		    }
4400 4400
 
4401
-		/**
4401
+		    /**
4402 4402
 		 * Tests if the current output is inside a Beaver builder preview.
4403 4403
 		 *
4404 4404
 		 * @return bool
4405 4405
 		 *@since 1.0.6
4406 4406
 		 */
4407
-		public function is_beaver_preview() {
4408
-			$result = false;
4409
-			if ( isset( $_REQUEST['fl_builder'] ) ) {
4410
-				$result = true;
4411
-			}
4407
+		    public function is_beaver_preview() {
4408
+			    $result = false;
4409
+			    if ( isset( $_REQUEST['fl_builder'] ) ) {
4410
+				    $result = true;
4411
+			    }
4412 4412
 
4413
-			return $result;
4414
-		}
4413
+			    return $result;
4414
+		    }
4415 4415
 
4416
-		/**
4416
+		    /**
4417 4417
 		 * Tests if the current output is inside a siteorigin builder preview.
4418 4418
 		 *
4419 4419
 		 * @return bool
4420 4420
 		 *@since 1.0.6
4421 4421
 		 */
4422
-		public function is_siteorigin_preview() {
4423
-			$result = false;
4424
-			if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
4425
-				$result = true;
4426
-			}
4422
+		    public function is_siteorigin_preview() {
4423
+			    $result = false;
4424
+			    if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
4425
+				    $result = true;
4426
+			    }
4427 4427
 
4428
-			return $result;
4429
-		}
4428
+			    return $result;
4429
+		    }
4430 4430
 
4431
-		/**
4431
+		    /**
4432 4432
 		 * Tests if the current output is inside a cornerstone builder preview.
4433 4433
 		 *
4434 4434
 		 * @return bool
4435 4435
 		 *@since 1.0.8
4436 4436
 		 */
4437
-		public function is_cornerstone_preview() {
4438
-			$result = false;
4439
-			if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
4440
-				$result = true;
4441
-			}
4437
+		    public function is_cornerstone_preview() {
4438
+			    $result = false;
4439
+			    if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
4440
+				    $result = true;
4441
+			    }
4442 4442
 
4443
-			return $result;
4444
-		}
4443
+			    return $result;
4444
+		    }
4445 4445
 
4446
-		/**
4446
+		    /**
4447 4447
 		 * Tests if the current output is inside a fusion builder preview.
4448 4448
 		 *
4449 4449
 		 * @return bool
4450 4450
 		 *@since 1.1.0
4451 4451
 		 */
4452
-		public function is_fusion_preview() {
4453
-			$result = false;
4454
-			if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
4455
-				$result = true;
4456
-			}
4452
+		    public function is_fusion_preview() {
4453
+			    $result = false;
4454
+			    if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
4455
+				    $result = true;
4456
+			    }
4457 4457
 
4458
-			return $result;
4459
-		}
4458
+			    return $result;
4459
+		    }
4460 4460
 
4461
-		/**
4461
+		    /**
4462 4462
 		 * Tests if the current output is inside a Oxygen builder preview.
4463 4463
 		 *
4464 4464
 		 * @return bool
4465 4465
 		 *@since 1.0.18
4466 4466
 		 */
4467
-		public function is_oxygen_preview() {
4468
-			$result = false;
4469
-			if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
4470
-				$result = true;
4471
-			}
4467
+		    public function is_oxygen_preview() {
4468
+			    $result = false;
4469
+			    if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
4470
+				    $result = true;
4471
+			    }
4472 4472
 
4473
-			return $result;
4474
-		}
4473
+			    return $result;
4474
+		    }
4475 4475
 
4476
-		/**
4476
+		    /**
4477 4477
 		 * Check for Kallyas theme Zion builder preview.
4478 4478
 		 *
4479 4479
 		 * @since 1.1.22
4480 4480
 		 *
4481 4481
 		 * @return bool True when preview page otherwise false.
4482 4482
 		 */
4483
-		public function is_kallyas_zion_preview() {
4484
-			$result = false;
4483
+		    public function is_kallyas_zion_preview() {
4484
+			    $result = false;
4485 4485
 
4486
-			if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) {
4487
-				$result = true;
4488
-			}
4486
+			    if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) {
4487
+				    $result = true;
4488
+			    }
4489 4489
 
4490
-			return $result;
4491
-		}
4490
+			    return $result;
4491
+		    }
4492 4492
 
4493
-		/**
4493
+		    /**
4494 4494
 		 * Check for Bricks theme builder preview.
4495 4495
 		 *
4496 4496
 		 * @since 1.1.31
4497 4497
 		 *
4498 4498
 		 * @return bool True when preview page otherwise false.
4499 4499
 		 */
4500
-		public function is_bricks_preview() {
4501
-			$result = false;
4500
+		    public function is_bricks_preview() {
4501
+			    $result = false;
4502 4502
 
4503
-			if ( function_exists( 'bricks_is_builder' ) && ( bricks_is_builder() || bricks_is_builder_call() ) ) {
4504
-				$result = true;
4505
-			}
4503
+			    if ( function_exists( 'bricks_is_builder' ) && ( bricks_is_builder() || bricks_is_builder_call() ) ) {
4504
+				    $result = true;
4505
+			    }
4506 4506
 
4507
-			return $result;
4508
-		}
4507
+			    return $result;
4508
+		    }
4509 4509
 
4510
-		/**
4510
+		    /**
4511 4511
 		 * General function to check if we are in a preview situation.
4512 4512
 		 *
4513 4513
 		 * @return bool
4514 4514
 		 *@since 1.0.6
4515 4515
 		 */
4516
-		public function is_preview() {
4517
-			$preview = false;
4518
-			if ( $this->is_divi_preview() ) {
4519
-				$preview = true;
4520
-			} elseif ( $this->is_elementor_preview() ) {
4521
-				$preview = true;
4522
-			} elseif ( $this->is_beaver_preview() ) {
4523
-				$preview = true;
4524
-			} elseif ( $this->is_siteorigin_preview() ) {
4525
-				$preview = true;
4526
-			} elseif ( $this->is_cornerstone_preview() ) {
4527
-				$preview = true;
4528
-			} elseif ( $this->is_fusion_preview() ) {
4529
-				$preview = true;
4530
-			} elseif ( $this->is_oxygen_preview() ) {
4531
-				$preview = true;
4532
-			} elseif( $this->is_kallyas_zion_preview() ) {
4533
-				$preview = true;
4534
-			} elseif( $this->is_block_content_call() ) {
4535
-				$preview = true;
4536
-			} elseif( $this->is_bricks_preview() ) {
4537
-				$preview = true;
4538
-			}
4539
-
4540
-			return $preview;
4541
-		}
4542
-
4543
-		/**
4516
+		    public function is_preview() {
4517
+			    $preview = false;
4518
+			    if ( $this->is_divi_preview() ) {
4519
+				    $preview = true;
4520
+			    } elseif ( $this->is_elementor_preview() ) {
4521
+				    $preview = true;
4522
+			    } elseif ( $this->is_beaver_preview() ) {
4523
+				    $preview = true;
4524
+			    } elseif ( $this->is_siteorigin_preview() ) {
4525
+				    $preview = true;
4526
+			    } elseif ( $this->is_cornerstone_preview() ) {
4527
+				    $preview = true;
4528
+			    } elseif ( $this->is_fusion_preview() ) {
4529
+				    $preview = true;
4530
+			    } elseif ( $this->is_oxygen_preview() ) {
4531
+				    $preview = true;
4532
+			    } elseif( $this->is_kallyas_zion_preview() ) {
4533
+				    $preview = true;
4534
+			    } elseif( $this->is_block_content_call() ) {
4535
+				    $preview = true;
4536
+			    } elseif( $this->is_bricks_preview() ) {
4537
+				    $preview = true;
4538
+			    }
4539
+
4540
+			    return $preview;
4541
+		    }
4542
+
4543
+		    /**
4544 4544
 		 * Output the super title.
4545 4545
 		 *
4546 4546
 		 * @param $args
@@ -4548,174 +4548,174 @@  discard block
 block discarded – undo
4548 4548
 		 *
4549 4549
 		 * @return string
4550 4550
 		 */
4551
-		public function output_title( $args, $instance = array() ) {
4552
-			$output = '';
4553
-			if ( ! empty( $instance['title'] ) ) {
4554
-				/** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */
4555
-				$title  = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base );
4556
-
4557
-				if ( empty( $instance['widget_title_tag'] ) ) {
4558
-					if ( ! isset( $args['before_title'] ) ) {
4559
-						$args['before_title'] = '';
4560
-					}
4561
-
4562
-					if ( ! isset( $args['after_title'] ) ) {
4563
-						$args['after_title'] = '';
4564
-					}
4565
-
4566
-					$output = $args['before_title'] . $title . $args['after_title'];
4567
-				} else {
4568
-					$tag 			= esc_attr( $instance['widget_title_tag'] );
4569
-					$allowed_tags 	= array( 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'span', 'div', 'p' );
4570
-					$title_tag      = in_array( $tag, $allowed_tags, true ) ? esc_attr( $tag ) : 'h2';
4571
-
4572
-					// classes
4573
-					$title_classes = array();
4574
-					$title_classes[] = !empty( $instance['widget_title_size_class'] ) ? sanitize_html_class( $instance['widget_title_size_class'] ) : '';
4575
-					$title_classes[] = !empty( $instance['widget_title_align_class'] ) ? sanitize_html_class( $instance['widget_title_align_class'] ) : '';
4576
-					$title_classes[] = !empty( $instance['widget_title_color_class'] ) ? "text-".sanitize_html_class( $instance['widget_title_color_class'] ) : '';
4577
-					$title_classes[] = !empty( $instance['widget_title_border_class'] ) ? sanitize_html_class( $instance['widget_title_border_class'] ) : '';
4578
-					$title_classes[] = !empty( $instance['widget_title_border_color_class'] ) ? "border-".sanitize_html_class( $instance['widget_title_border_color_class'] ) : '';
4579
-					$title_classes[] = !empty( $instance['widget_title_mt_class'] ) ? "mt-".absint( $instance['widget_title_mt_class'] ) : '';
4580
-					$title_classes[] = !empty( $instance['widget_title_mr_class'] ) ? "mr-".absint( $instance['widget_title_mr_class'] ) : '';
4581
-					$title_classes[] = !empty( $instance['widget_title_mb_class'] ) ? "mb-".absint( $instance['widget_title_mb_class'] ) : '';
4582
-					$title_classes[] = !empty( $instance['widget_title_ml_class'] ) ? "ml-".absint( $instance['widget_title_ml_class'] ) : '';
4583
-					$title_classes[] = !empty( $instance['widget_title_pt_class'] ) ? "pt-".absint( $instance['widget_title_pt_class'] ) : '';
4584
-					$title_classes[] = !empty( $instance['widget_title_pr_class'] ) ? "pr-".absint( $instance['widget_title_pr_class'] ) : '';
4585
-					$title_classes[] = !empty( $instance['widget_title_pb_class'] ) ? "pb-".absint( $instance['widget_title_pb_class'] ) : '';
4586
-					$title_classes[] = !empty( $instance['widget_title_pl_class'] ) ? "pl-".absint( $instance['widget_title_pl_class'] ) : '';
4587
-
4588
-					$class = !empty( $title_classes ) ? implode(" ",$title_classes) : '';
4589
-					$output = "<$title_tag class='$class' >$title</$title_tag>";
4590
-				}
4591
-
4592
-			}
4593
-
4594
-			return $output;
4595
-		}
4596
-
4597
-		/**
4551
+		    public function output_title( $args, $instance = array() ) {
4552
+			    $output = '';
4553
+			    if ( ! empty( $instance['title'] ) ) {
4554
+				    /** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */
4555
+				    $title  = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base );
4556
+
4557
+				    if ( empty( $instance['widget_title_tag'] ) ) {
4558
+					    if ( ! isset( $args['before_title'] ) ) {
4559
+						    $args['before_title'] = '';
4560
+					    }
4561
+
4562
+					    if ( ! isset( $args['after_title'] ) ) {
4563
+						    $args['after_title'] = '';
4564
+					    }
4565
+
4566
+					    $output = $args['before_title'] . $title . $args['after_title'];
4567
+				    } else {
4568
+					    $tag 			= esc_attr( $instance['widget_title_tag'] );
4569
+					    $allowed_tags 	= array( 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'span', 'div', 'p' );
4570
+					    $title_tag      = in_array( $tag, $allowed_tags, true ) ? esc_attr( $tag ) : 'h2';
4571
+
4572
+					    // classes
4573
+					    $title_classes = array();
4574
+					    $title_classes[] = !empty( $instance['widget_title_size_class'] ) ? sanitize_html_class( $instance['widget_title_size_class'] ) : '';
4575
+					    $title_classes[] = !empty( $instance['widget_title_align_class'] ) ? sanitize_html_class( $instance['widget_title_align_class'] ) : '';
4576
+					    $title_classes[] = !empty( $instance['widget_title_color_class'] ) ? "text-".sanitize_html_class( $instance['widget_title_color_class'] ) : '';
4577
+					    $title_classes[] = !empty( $instance['widget_title_border_class'] ) ? sanitize_html_class( $instance['widget_title_border_class'] ) : '';
4578
+					    $title_classes[] = !empty( $instance['widget_title_border_color_class'] ) ? "border-".sanitize_html_class( $instance['widget_title_border_color_class'] ) : '';
4579
+					    $title_classes[] = !empty( $instance['widget_title_mt_class'] ) ? "mt-".absint( $instance['widget_title_mt_class'] ) : '';
4580
+					    $title_classes[] = !empty( $instance['widget_title_mr_class'] ) ? "mr-".absint( $instance['widget_title_mr_class'] ) : '';
4581
+					    $title_classes[] = !empty( $instance['widget_title_mb_class'] ) ? "mb-".absint( $instance['widget_title_mb_class'] ) : '';
4582
+					    $title_classes[] = !empty( $instance['widget_title_ml_class'] ) ? "ml-".absint( $instance['widget_title_ml_class'] ) : '';
4583
+					    $title_classes[] = !empty( $instance['widget_title_pt_class'] ) ? "pt-".absint( $instance['widget_title_pt_class'] ) : '';
4584
+					    $title_classes[] = !empty( $instance['widget_title_pr_class'] ) ? "pr-".absint( $instance['widget_title_pr_class'] ) : '';
4585
+					    $title_classes[] = !empty( $instance['widget_title_pb_class'] ) ? "pb-".absint( $instance['widget_title_pb_class'] ) : '';
4586
+					    $title_classes[] = !empty( $instance['widget_title_pl_class'] ) ? "pl-".absint( $instance['widget_title_pl_class'] ) : '';
4587
+
4588
+					    $class = !empty( $title_classes ) ? implode(" ",$title_classes) : '';
4589
+					    $output = "<$title_tag class='$class' >$title</$title_tag>";
4590
+				    }
4591
+
4592
+			    }
4593
+
4594
+			    return $output;
4595
+		    }
4596
+
4597
+		    /**
4598 4598
 		 * Outputs the options form inputs for the widget.
4599 4599
 		 *
4600 4600
 		 * @param array $instance The widget options.
4601 4601
 		 */
4602
-		public function form( $instance ) {
4602
+		    public function form( $instance ) {
4603 4603
 
4604
-			// set widget instance
4605
-			$this->instance = $instance;
4604
+			    // set widget instance
4605
+			    $this->instance = $instance;
4606 4606
 
4607
-			// set it as a SD widget
4608
-			echo $this->widget_advanced_toggle();
4607
+			    // set it as a SD widget
4608
+			    echo $this->widget_advanced_toggle();
4609 4609
 
4610
-			echo "<p>" . esc_attr( $this->options['widget_ops']['description'] ) . "</p>";
4611
-			$arguments_raw = $this->get_arguments();
4610
+			    echo "<p>" . esc_attr( $this->options['widget_ops']['description'] ) . "</p>";
4611
+			    $arguments_raw = $this->get_arguments();
4612 4612
 
4613
-			if ( is_array( $arguments_raw ) ) {
4613
+			    if ( is_array( $arguments_raw ) ) {
4614 4614
 
4615
-				$arguments = $this->group_arguments( $arguments_raw );
4615
+				    $arguments = $this->group_arguments( $arguments_raw );
4616 4616
 
4617
-				// Do we have sections?
4618
-				$has_sections = $arguments == $arguments_raw ? false : true;
4617
+				    // Do we have sections?
4618
+				    $has_sections = $arguments == $arguments_raw ? false : true;
4619 4619
 
4620 4620
 
4621
-				if ( $has_sections ) {
4622
-					$panel_count = 0;
4623
-					foreach ( $arguments as $key => $args ) {
4621
+				    if ( $has_sections ) {
4622
+					    $panel_count = 0;
4623
+					    foreach ( $arguments as $key => $args ) {
4624 4624
 
4625
-						?>
4625
+						    ?>
4626 4626
 						<script>
4627 4627
 							//							jQuery(this).find("i").toggleClass("fas fa-chevron-up fas fa-chevron-down");jQuery(this).next().toggle();
4628 4628
 						</script>
4629 4629
 						<?php
4630 4630
 
4631
-						$hide       = $panel_count ? ' style="display:none;" ' : '';
4632
-						$icon_class = $panel_count ? 'fas fa-chevron-up' : 'fas fa-chevron-down';
4633
-						echo "<button onclick='jQuery(this).find(\"i\").toggleClass(\"fas fa-chevron-up fas fa-chevron-down\");jQuery(this).next().slideToggle();' type='button' class='sd-toggle-group-button sd-input-group-toggle" . sanitize_title_with_dashes( $key ) . "'>" . esc_attr( $key ) . " <i style='float:right;' class='" . $icon_class . "'></i></button>";
4634
-						echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes( $key ) . "' $hide>";
4631
+						    $hide       = $panel_count ? ' style="display:none;" ' : '';
4632
+						    $icon_class = $panel_count ? 'fas fa-chevron-up' : 'fas fa-chevron-down';
4633
+						    echo "<button onclick='jQuery(this).find(\"i\").toggleClass(\"fas fa-chevron-up fas fa-chevron-down\");jQuery(this).next().slideToggle();' type='button' class='sd-toggle-group-button sd-input-group-toggle" . sanitize_title_with_dashes( $key ) . "'>" . esc_attr( $key ) . " <i style='float:right;' class='" . $icon_class . "'></i></button>";
4634
+						    echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes( $key ) . "' $hide>";
4635 4635
 
4636
-						foreach ( $args as $k => $a ) {
4636
+						    foreach ( $args as $k => $a ) {
4637 4637
 
4638
-							$this->widget_inputs_row_start($k, $a);
4639
-							$this->widget_inputs( $a, $instance );
4640
-							$this->widget_inputs_row_end($k, $a);
4638
+							    $this->widget_inputs_row_start($k, $a);
4639
+							    $this->widget_inputs( $a, $instance );
4640
+							    $this->widget_inputs_row_end($k, $a);
4641 4641
 
4642
-						}
4642
+						    }
4643 4643
 
4644
-						echo "</div>";
4644
+						    echo "</div>";
4645 4645
 
4646
-						$panel_count ++;
4646
+						    $panel_count ++;
4647 4647
 
4648
-					}
4649
-				} else {
4650
-					foreach ( $arguments as $key => $args ) {
4651
-						$this->widget_inputs_row_start($key, $args);
4652
-						$this->widget_inputs( $args, $instance );
4653
-						$this->widget_inputs_row_end($key, $args);
4654
-					}
4655
-				}
4648
+					    }
4649
+				    } else {
4650
+					    foreach ( $arguments as $key => $args ) {
4651
+						    $this->widget_inputs_row_start($key, $args);
4652
+						    $this->widget_inputs( $args, $instance );
4653
+						    $this->widget_inputs_row_end($key, $args);
4654
+					    }
4655
+				    }
4656 4656
 
4657
-			}
4658
-		}
4657
+			    }
4658
+		    }
4659 4659
 
4660
-		public function widget_inputs_row_start( $key, $args ) {
4661
-			if ( ! empty( $args['row'] ) ) {
4662
-				// Maybe open
4663
-				if ( ! empty( $args['row']['open'] ) ) {
4664
-					?>
4665
-					<div class='bsui sd-argument' data-argument='<?php echo esc_attr( $args['row']['key'] ); ?>' data-element_require='<?php echo ( ! empty( $args['row']['element_require'] ) ? $this->convert_element_require( $args['row']['element_require'] ) : '' ); ?>'>
4660
+		    public function widget_inputs_row_start( $key, $args ) {
4661
+			    if ( ! empty( $args['row'] ) ) {
4662
+				    // Maybe open
4663
+				    if ( ! empty( $args['row']['open'] ) ) {
4664
+					    ?>
4665
+    					<div class='bsui sd-argument' data-argument='<?php echo esc_attr( $args['row']['key'] ); ?>' data-element_require='<?php echo ( ! empty( $args['row']['element_require'] ) ? $this->convert_element_require( $args['row']['element_require'] ) : '' ); ?>'>
4666 4666
 					<?php if ( ! empty( $args['row']['title'] ) ) { ?>
4667
-					<?php
4668
-						if ( isset( $args['row']['icon'] ) ) {
4669
-							$args['row']['icon'] = '';
4670
-						}
4671
-
4672
-						if ( ! isset( $args['row']['device_type'] ) && isset( $args['device_type'] ) ) {
4673
-							$args['row']['device_type'] = $args['device_type'];
4674
-						}
4675
-					?>
4676
-					<label class="mb-0"><?php echo $this->widget_field_title( $args['row'] ); ?><?php echo $this->widget_field_desc( $args['row'] ); ?></label>
4667
+    					<?php
4668
+						    if ( isset( $args['row']['icon'] ) ) {
4669
+							    $args['row']['icon'] = '';
4670
+						    }
4671
+
4672
+						    if ( ! isset( $args['row']['device_type'] ) && isset( $args['device_type'] ) ) {
4673
+							    $args['row']['device_type'] = $args['device_type'];
4674
+						    }
4675
+					    ?>
4676
+    					<label class="mb-0"><?php echo $this->widget_field_title( $args['row'] ); ?><?php echo $this->widget_field_desc( $args['row'] ); ?></label>
4677 4677
 					<?php } ?>
4678
-					<div class='row<?php echo ( ! empty( $args['row']['class'] ) ? ' ' . esc_attr( $args['row']['class'] ) : '' ); ?>'>
4678
+    					<div class='row<?php echo ( ! empty( $args['row']['class'] ) ? ' ' . esc_attr( $args['row']['class'] ) : '' ); ?>'>
4679 4679
 					<div class='col pr-2'>
4680 4680
 					<?php
4681
-				} else if ( ! empty( $args['row']['close'] ) ) {
4682
-					echo "<div class='col pl-0 ps-0'>";
4683
-				} else {
4684
-					echo "<div class='col pl-0 ps-0 pr-2 pe-2'>";
4685
-				}
4686
-			}
4687
-		}
4688
-
4689
-		public function widget_inputs_row_end( $key, $args ) {
4690
-			if ( ! empty( $args['row'] ) ) {
4691
-				// Maybe close
4692
-				if ( ! empty( $args['row']['close'] ) ) {
4693
-					echo "</div></div>";
4694
-				}
4695
-				echo "</div>";
4696
-			}
4697
-		}
4698
-
4699
-		/**
4681
+				    } else if ( ! empty( $args['row']['close'] ) ) {
4682
+					    echo "<div class='col pl-0 ps-0'>";
4683
+				    } else {
4684
+					    echo "<div class='col pl-0 ps-0 pr-2 pe-2'>";
4685
+				    }
4686
+			    }
4687
+		    }
4688
+
4689
+		    public function widget_inputs_row_end( $key, $args ) {
4690
+			    if ( ! empty( $args['row'] ) ) {
4691
+				    // Maybe close
4692
+				    if ( ! empty( $args['row']['close'] ) ) {
4693
+					    echo "</div></div>";
4694
+				    }
4695
+				    echo "</div>";
4696
+			    }
4697
+		    }
4698
+
4699
+		    /**
4700 4700
 		 * Get the hidden input that when added makes the advanced button show on widget settings.
4701 4701
 		 *
4702 4702
 		 * @return string
4703 4703
 		 */
4704
-		public function widget_advanced_toggle() {
4704
+		    public function widget_advanced_toggle() {
4705 4705
 
4706
-			$output = '';
4707
-			if ( $this->block_show_advanced() ) {
4708
-				$val = 1;
4709
-			} else {
4710
-				$val = 0;
4711
-			}
4706
+			    $output = '';
4707
+			    if ( $this->block_show_advanced() ) {
4708
+				    $val = 1;
4709
+			    } else {
4710
+				    $val = 0;
4711
+			    }
4712 4712
 
4713
-			$output .= "<input type='hidden'  class='sd-show-advanced' value='$val' />";
4713
+			    $output .= "<input type='hidden'  class='sd-show-advanced' value='$val' />";
4714 4714
 
4715
-			return $output;
4716
-		}
4715
+			    return $output;
4716
+		    }
4717 4717
 
4718
-		/**
4718
+		    /**
4719 4719
 		 * Convert require element.
4720 4720
 		 *
4721 4721
 		 * @param string $input Input element.
@@ -4724,67 +4724,67 @@  discard block
 block discarded – undo
4724 4724
 		 *@since 1.0.0
4725 4725
 		 *
4726 4726
 		 */
4727
-		public function convert_element_require( $input ) {
4728
-			$input = str_replace( "'", '"', $input );// we only want double quotes
4727
+		    public function convert_element_require( $input ) {
4728
+			    $input = str_replace( "'", '"', $input );// we only want double quotes
4729 4729
 
4730
-			$output = esc_attr( str_replace( array( "[%", "%]", "%:checked]" ), array(
4731
-				"jQuery(form).find('[data-argument=\"",
4732
-				"\"]').find('input,select,textarea').val()",
4733
-				"\"]').find('input:checked').val()"
4734
-			), $input ) );
4730
+			    $output = esc_attr( str_replace( array( "[%", "%]", "%:checked]" ), array(
4731
+				    "jQuery(form).find('[data-argument=\"",
4732
+				    "\"]').find('input,select,textarea').val()",
4733
+				    "\"]').find('input:checked').val()"
4734
+			    ), $input ) );
4735 4735
 
4736
-			return $output;
4737
-		}
4736
+			    return $output;
4737
+		    }
4738 4738
 
4739
-		/**
4739
+		    /**
4740 4740
 		 * Builds the inputs for the widget options.
4741 4741
 		 *
4742 4742
 		 * @param $args
4743 4743
 		 * @param $instance
4744 4744
 		 */
4745
-		public function widget_inputs( $args, $instance ) {
4746
-
4747
-			$class             = "";
4748
-			$element_require   = "";
4749
-			$custom_attributes = "";
4750
-
4751
-			// get value
4752
-			if ( isset( $instance[ $args['name'] ] ) ) {
4753
-				$value = $instance[ $args['name'] ];
4754
-			} elseif ( ! isset( $instance[ $args['name'] ] ) && ! empty( $args['default'] ) ) {
4755
-				$value = is_array( $args['default'] ) ? array_map( "esc_html", $args['default'] ) : esc_html( $args['default'] );
4756
-			} else {
4757
-				$value = '';
4758
-			}
4759
-
4760
-			// get placeholder
4761
-			if ( ! empty( $args['placeholder'] ) ) {
4762
-				$placeholder = "placeholder='" . esc_html( $args['placeholder'] ) . "'";
4763
-			} else {
4764
-				$placeholder = '';
4765
-			}
4766
-
4767
-			// get if advanced
4768
-			if ( isset( $args['advanced'] ) && $args['advanced'] ) {
4769
-				$class .= " sd-advanced-setting ";
4770
-			}
4771
-
4772
-			// element_require
4773
-			if ( isset( $args['element_require'] ) && $args['element_require'] ) {
4774
-				$element_require = $args['element_require'];
4775
-			}
4776
-
4777
-			// custom_attributes
4778
-			if ( isset( $args['custom_attributes'] ) && $args['custom_attributes'] ) {
4779
-				$custom_attributes = $this->array_to_attributes( $args['custom_attributes'], true );
4780
-			}
4781
-
4782
-			// before wrapper
4783
-			?>
4784
-			<p class="sd-argument <?php echo esc_attr( $class ); ?>" data-argument='<?php echo esc_attr( $args['name'] ); ?>' data-element_require='<?php if ( $element_require ) { echo $this->convert_element_require( $element_require );} ?>'>
4745
+		    public function widget_inputs( $args, $instance ) {
4746
+
4747
+			    $class             = "";
4748
+			    $element_require   = "";
4749
+			    $custom_attributes = "";
4750
+
4751
+			    // get value
4752
+			    if ( isset( $instance[ $args['name'] ] ) ) {
4753
+				    $value = $instance[ $args['name'] ];
4754
+			    } elseif ( ! isset( $instance[ $args['name'] ] ) && ! empty( $args['default'] ) ) {
4755
+				    $value = is_array( $args['default'] ) ? array_map( "esc_html", $args['default'] ) : esc_html( $args['default'] );
4756
+			    } else {
4757
+				    $value = '';
4758
+			    }
4759
+
4760
+			    // get placeholder
4761
+			    if ( ! empty( $args['placeholder'] ) ) {
4762
+				    $placeholder = "placeholder='" . esc_html( $args['placeholder'] ) . "'";
4763
+			    } else {
4764
+				    $placeholder = '';
4765
+			    }
4766
+
4767
+			    // get if advanced
4768
+			    if ( isset( $args['advanced'] ) && $args['advanced'] ) {
4769
+				    $class .= " sd-advanced-setting ";
4770
+			    }
4771
+
4772
+			    // element_require
4773
+			    if ( isset( $args['element_require'] ) && $args['element_require'] ) {
4774
+				    $element_require = $args['element_require'];
4775
+			    }
4776
+
4777
+			    // custom_attributes
4778
+			    if ( isset( $args['custom_attributes'] ) && $args['custom_attributes'] ) {
4779
+				    $custom_attributes = $this->array_to_attributes( $args['custom_attributes'], true );
4780
+			    }
4781
+
4782
+			    // before wrapper
4783
+			    ?>
4784
+    			<p class="sd-argument <?php echo esc_attr( $class ); ?>" data-argument='<?php echo esc_attr( $args['name'] ); ?>' data-element_require='<?php if ( $element_require ) { echo $this->convert_element_require( $element_require );} ?>'>
4785 4785
 			<?php
4786
-			switch ( $args['type'] ) {
4787
-				//array('text','password','number','email','tel','url','color')
4786
+			    switch ( $args['type'] ) {
4787
+				    //array('text','password','number','email','tel','url','color')
4788 4788
 				case "text":
4789 4789
 				case "password":
4790 4790
 				case "number":
@@ -4848,7 +4848,7 @@  discard block
 block discarded – undo
4848 4848
 					break;
4849 4849
 				default:
4850 4850
 					echo "No input type found!"; // @todo we need to add more input types.
4851
-			}
4851
+			    }
4852 4852
 			// after wrapper
4853 4853
 			?></p><?php
4854 4854
 		}
Please login to merge, or discard this patch.
includes/reports/class-getpaid-reports.php 2 patches
Indentation   +100 added lines, -100 removed lines patch added patch discarded remove patch
@@ -12,49 +12,49 @@  discard block
 block discarded – undo
12 12
  */
13 13
 class GetPaid_Reports {
14 14
 
15
-	/**
16
-	 * Class constructor.
17
-	 *
18
-	 */
19
-	public function __construct() {
20
-		add_action( 'admin_menu', array( $this, 'register_reports_page' ), 20 );
21
-		add_action( 'wpinv_reports_tab_reports', array( $this, 'display_reports_tab' ) );
22
-		add_action( 'wpinv_reports_tab_export', array( $this, 'display_exports_tab' ) );
23
-		add_action( 'getpaid_authenticated_admin_action_download_graph', array( $this, 'download_graph' ) );
24
-		add_action( 'getpaid_authenticated_admin_action_export_invoices', array( $this, 'export_invoices' ) );
25
-
26
-	}
27
-
28
-	/**
29
-	 * Registers the reports page.
30
-	 *
31
-	 */
32
-	public function register_reports_page() {
33
-
34
-		add_submenu_page(
15
+    /**
16
+     * Class constructor.
17
+     *
18
+     */
19
+    public function __construct() {
20
+        add_action( 'admin_menu', array( $this, 'register_reports_page' ), 20 );
21
+        add_action( 'wpinv_reports_tab_reports', array( $this, 'display_reports_tab' ) );
22
+        add_action( 'wpinv_reports_tab_export', array( $this, 'display_exports_tab' ) );
23
+        add_action( 'getpaid_authenticated_admin_action_download_graph', array( $this, 'download_graph' ) );
24
+        add_action( 'getpaid_authenticated_admin_action_export_invoices', array( $this, 'export_invoices' ) );
25
+
26
+    }
27
+
28
+    /**
29
+     * Registers the reports page.
30
+     *
31
+     */
32
+    public function register_reports_page() {
33
+
34
+        add_submenu_page(
35 35
             'wpinv',
36 36
             __( 'Reports', 'invoicing' ),
37 37
             __( 'Reports', 'invoicing' ),
38 38
             wpinv_get_capability(),
39 39
             'wpinv-reports',
40 40
             array( $this, 'display_reports_page' )
41
-		);
41
+        );
42 42
 
43
-	}
43
+    }
44 44
 
45
-	/**
46
-	 * Displays the reports page.
47
-	 *
48
-	 */
49
-	public function display_reports_page() {
45
+    /**
46
+     * Displays the reports page.
47
+     *
48
+     */
49
+    public function display_reports_page() {
50 50
 
51
-		// Prepare variables.
52
-		$tabs        = $this->get_tabs();
53
-		$current_tab = isset( $_GET['tab'] ) ? sanitize_text_field( $_GET['tab'] ) : 'reports';
54
-		$current_tab = array_key_exists( $current_tab, $tabs ) ? $current_tab : 'reports';
51
+        // Prepare variables.
52
+        $tabs        = $this->get_tabs();
53
+        $current_tab = isset( $_GET['tab'] ) ? sanitize_text_field( $_GET['tab'] ) : 'reports';
54
+        $current_tab = array_key_exists( $current_tab, $tabs ) ? $current_tab : 'reports';
55 55
 
56
-		// Display the current tab.
57
-		?>
56
+        // Display the current tab.
57
+        ?>
58 58
 
59 59
         <div class="wrap">
60 60
 
@@ -63,19 +63,19 @@  discard block
 block discarded – undo
63 63
 			<nav class="nav-tab-wrapper">
64 64
 
65 65
 				<?php
66
-					foreach ( $tabs as $key => $label ) {
66
+                    foreach ( $tabs as $key => $label ) {
67 67
 
68
-					$key   = sanitize_key( $key );
69
-					$label = esc_html( $label );
70
-					$class = $key == $current_tab ? 'nav-tab nav-tab-active' : 'nav-tab ';
71
-					$url   = esc_url(
68
+                    $key   = sanitize_key( $key );
69
+                    $label = esc_html( $label );
70
+                    $class = $key == $current_tab ? 'nav-tab nav-tab-active' : 'nav-tab ';
71
+                    $url   = esc_url(
72 72
                         add_query_arg( 'tab', $key, admin_url( 'admin.php?page=wpinv-reports' ) )
73 73
                     );
74 74
 
75
-				echo wp_kses_post( "\n\t\t\t<a href='$url' class='" . $class . "'>$label</a>" );
75
+                echo wp_kses_post( "\n\t\t\t<a href='$url' class='" . $class . "'>$label</a>" );
76 76
 
77
-					}
78
-				?>
77
+                    }
78
+                ?>
79 79
 
80 80
 			</nav>
81 81
 
@@ -86,82 +86,82 @@  discard block
 block discarded – undo
86 86
         </div>
87 87
 		<?php
88 88
 
89
-			// Wordfence loads an unsupported version of chart js on our page.
90
-			wp_deregister_style( 'chart-js' );
91
-			wp_deregister_script( 'chart-js' );
92
-			wp_enqueue_script( 'chart-js', WPINV_PLUGIN_URL . 'assets/js/chart.min.js', array( 'jquery' ), '3.7.1', true );
89
+            // Wordfence loads an unsupported version of chart js on our page.
90
+            wp_deregister_style( 'chart-js' );
91
+            wp_deregister_script( 'chart-js' );
92
+            wp_enqueue_script( 'chart-js', WPINV_PLUGIN_URL . 'assets/js/chart.min.js', array( 'jquery' ), '3.7.1', true );
93 93
 
94
-	}
94
+    }
95 95
 
96
-	/**
97
-	 * Retrieves reports page tabs.
98
-	 *
99
-	 * @return array
100
-	 */
101
-	public function get_tabs() {
96
+    /**
97
+     * Retrieves reports page tabs.
98
+     *
99
+     * @return array
100
+     */
101
+    public function get_tabs() {
102 102
 
103
-		$tabs = array(
104
-			'reports' => __( 'Reports', 'invoicing' ),
105
-			'export'  => __( 'Export', 'invoicing' ),
106
-		);
103
+        $tabs = array(
104
+            'reports' => __( 'Reports', 'invoicing' ),
105
+            'export'  => __( 'Export', 'invoicing' ),
106
+        );
107 107
 
108
-		return apply_filters( 'getpaid_report_tabs', $tabs );
109
-	}
108
+        return apply_filters( 'getpaid_report_tabs', $tabs );
109
+    }
110 110
 
111
-	/**
112
-	 * Displays the reports tab.
113
-	 *
114
-	 */
115
-	public function display_reports_tab() {
111
+    /**
112
+     * Displays the reports tab.
113
+     *
114
+     */
115
+    public function display_reports_tab() {
116 116
 
117
-		$reports = new GetPaid_Reports_Report();
118
-		$reports->display();
117
+        $reports = new GetPaid_Reports_Report();
118
+        $reports->display();
119 119
 
120
-	}
120
+    }
121 121
 
122
-	/**
123
-	 * Displays the exports tab.
124
-	 *
125
-	 */
126
-	public function display_exports_tab() {
122
+    /**
123
+     * Displays the exports tab.
124
+     *
125
+     */
126
+    public function display_exports_tab() {
127 127
 
128
-		$exports = new GetPaid_Reports_Export();
129
-		$exports->display();
128
+        $exports = new GetPaid_Reports_Export();
129
+        $exports->display();
130 130
 
131
-	}
131
+    }
132 132
 
133
-	/**
134
-	 * Donwnloads a graph.
135
-	 *
136
-	 * @param array $args
137
-	 */
138
-	public function download_graph( $args ) {
133
+    /**
134
+     * Donwnloads a graph.
135
+     *
136
+     * @param array $args
137
+     */
138
+    public function download_graph( $args ) {
139 139
 
140
-		if ( ! empty( $args['graph'] ) ) {
141
-			$downloader = new GetPaid_Graph_Downloader();
142
-			$downloader->download( $args['graph'] );
143
-		}
140
+        if ( ! empty( $args['graph'] ) ) {
141
+            $downloader = new GetPaid_Graph_Downloader();
142
+            $downloader->download( $args['graph'] );
143
+        }
144 144
 
145
-	}
145
+    }
146 146
 
147
-	/**
148
-	 * Exports invoices.
149
-	 *
150
-	 * @param array $args
151
-	 */
152
-	public function export_invoices( $args ) {
147
+    /**
148
+     * Exports invoices.
149
+     *
150
+     * @param array $args
151
+     */
152
+    public function export_invoices( $args ) {
153 153
 
154
-		if ( ! empty( $args['post_type'] ) ) {
154
+        if ( ! empty( $args['post_type'] ) ) {
155 155
 
156
-			if ( 'subscriptions' === $args['post_type'] ) {
157
-				$downloader = new GetPaid_Subscription_Exporter();
158
-			} else {
159
-				$downloader = new GetPaid_Invoice_Exporter();
160
-			}
156
+            if ( 'subscriptions' === $args['post_type'] ) {
157
+                $downloader = new GetPaid_Subscription_Exporter();
158
+            } else {
159
+                $downloader = new GetPaid_Invoice_Exporter();
160
+            }
161 161
 
162
-			$downloader->export( $args['post_type'], $args );
163
-		}
162
+            $downloader->export( $args['post_type'], $args );
163
+        }
164 164
 
165
-	}
165
+    }
166 166
 
167 167
 }
Please login to merge, or discard this patch.
Spacing   +32 added lines, -32 removed lines patch added patch discarded remove patch
@@ -5,7 +5,7 @@  discard block
 block discarded – undo
5 5
  *
6 6
  */
7 7
 
8
-defined( 'ABSPATH' ) || exit;
8
+defined('ABSPATH') || exit;
9 9
 
10 10
 /**
11 11
  * GetPaid_Reports Class.
@@ -17,11 +17,11 @@  discard block
 block discarded – undo
17 17
 	 *
18 18
 	 */
19 19
 	public function __construct() {
20
-		add_action( 'admin_menu', array( $this, 'register_reports_page' ), 20 );
21
-		add_action( 'wpinv_reports_tab_reports', array( $this, 'display_reports_tab' ) );
22
-		add_action( 'wpinv_reports_tab_export', array( $this, 'display_exports_tab' ) );
23
-		add_action( 'getpaid_authenticated_admin_action_download_graph', array( $this, 'download_graph' ) );
24
-		add_action( 'getpaid_authenticated_admin_action_export_invoices', array( $this, 'export_invoices' ) );
20
+		add_action('admin_menu', array($this, 'register_reports_page'), 20);
21
+		add_action('wpinv_reports_tab_reports', array($this, 'display_reports_tab'));
22
+		add_action('wpinv_reports_tab_export', array($this, 'display_exports_tab'));
23
+		add_action('getpaid_authenticated_admin_action_download_graph', array($this, 'download_graph'));
24
+		add_action('getpaid_authenticated_admin_action_export_invoices', array($this, 'export_invoices'));
25 25
 
26 26
 	}
27 27
 
@@ -33,11 +33,11 @@  discard block
 block discarded – undo
33 33
 
34 34
 		add_submenu_page(
35 35
             'wpinv',
36
-            __( 'Reports', 'invoicing' ),
37
-            __( 'Reports', 'invoicing' ),
36
+            __('Reports', 'invoicing'),
37
+            __('Reports', 'invoicing'),
38 38
             wpinv_get_capability(),
39 39
             'wpinv-reports',
40
-            array( $this, 'display_reports_page' )
40
+            array($this, 'display_reports_page')
41 41
 		);
42 42
 
43 43
 	}
@@ -50,46 +50,46 @@  discard block
 block discarded – undo
50 50
 
51 51
 		// Prepare variables.
52 52
 		$tabs        = $this->get_tabs();
53
-		$current_tab = isset( $_GET['tab'] ) ? sanitize_text_field( $_GET['tab'] ) : 'reports';
54
-		$current_tab = array_key_exists( $current_tab, $tabs ) ? $current_tab : 'reports';
53
+		$current_tab = isset($_GET['tab']) ? sanitize_text_field($_GET['tab']) : 'reports';
54
+		$current_tab = array_key_exists($current_tab, $tabs) ? $current_tab : 'reports';
55 55
 
56 56
 		// Display the current tab.
57 57
 		?>
58 58
 
59 59
         <div class="wrap">
60 60
 
61
-			<h1><?php echo esc_html( $tabs[ $current_tab ] ); ?></h1>
61
+			<h1><?php echo esc_html($tabs[$current_tab]); ?></h1>
62 62
 
63 63
 			<nav class="nav-tab-wrapper">
64 64
 
65 65
 				<?php
66
-					foreach ( $tabs as $key => $label ) {
66
+					foreach ($tabs as $key => $label) {
67 67
 
68
-					$key   = sanitize_key( $key );
69
-					$label = esc_html( $label );
68
+					$key   = sanitize_key($key);
69
+					$label = esc_html($label);
70 70
 					$class = $key == $current_tab ? 'nav-tab nav-tab-active' : 'nav-tab ';
71 71
 					$url   = esc_url(
72
-                        add_query_arg( 'tab', $key, admin_url( 'admin.php?page=wpinv-reports' ) )
72
+                        add_query_arg('tab', $key, admin_url('admin.php?page=wpinv-reports'))
73 73
                     );
74 74
 
75
-				echo wp_kses_post( "\n\t\t\t<a href='$url' class='" . $class . "'>$label</a>" );
75
+				echo wp_kses_post("\n\t\t\t<a href='$url' class='" . $class . "'>$label</a>");
76 76
 
77 77
 					}
78 78
 				?>
79 79
 
80 80
 			</nav>
81 81
 
82
-			<div class="bsui <?php echo esc_attr( $current_tab ); ?>">
83
-				<?php do_action( "wpinv_reports_tab_{$current_tab}" ); ?>
82
+			<div class="bsui <?php echo esc_attr($current_tab); ?>">
83
+				<?php do_action("wpinv_reports_tab_{$current_tab}"); ?>
84 84
 			</div>
85 85
 
86 86
         </div>
87 87
 		<?php
88 88
 
89 89
 			// Wordfence loads an unsupported version of chart js on our page.
90
-			wp_deregister_style( 'chart-js' );
91
-			wp_deregister_script( 'chart-js' );
92
-			wp_enqueue_script( 'chart-js', WPINV_PLUGIN_URL . 'assets/js/chart.min.js', array( 'jquery' ), '3.7.1', true );
90
+			wp_deregister_style('chart-js');
91
+			wp_deregister_script('chart-js');
92
+			wp_enqueue_script('chart-js', WPINV_PLUGIN_URL . 'assets/js/chart.min.js', array('jquery'), '3.7.1', true);
93 93
 
94 94
 	}
95 95
 
@@ -101,11 +101,11 @@  discard block
 block discarded – undo
101 101
 	public function get_tabs() {
102 102
 
103 103
 		$tabs = array(
104
-			'reports' => __( 'Reports', 'invoicing' ),
105
-			'export'  => __( 'Export', 'invoicing' ),
104
+			'reports' => __('Reports', 'invoicing'),
105
+			'export'  => __('Export', 'invoicing'),
106 106
 		);
107 107
 
108
-		return apply_filters( 'getpaid_report_tabs', $tabs );
108
+		return apply_filters('getpaid_report_tabs', $tabs);
109 109
 	}
110 110
 
111 111
 	/**
@@ -135,11 +135,11 @@  discard block
 block discarded – undo
135 135
 	 *
136 136
 	 * @param array $args
137 137
 	 */
138
-	public function download_graph( $args ) {
138
+	public function download_graph($args) {
139 139
 
140
-		if ( ! empty( $args['graph'] ) ) {
140
+		if (!empty($args['graph'])) {
141 141
 			$downloader = new GetPaid_Graph_Downloader();
142
-			$downloader->download( $args['graph'] );
142
+			$downloader->download($args['graph']);
143 143
 		}
144 144
 
145 145
 	}
@@ -149,17 +149,17 @@  discard block
 block discarded – undo
149 149
 	 *
150 150
 	 * @param array $args
151 151
 	 */
152
-	public function export_invoices( $args ) {
152
+	public function export_invoices($args) {
153 153
 
154
-		if ( ! empty( $args['post_type'] ) ) {
154
+		if (!empty($args['post_type'])) {
155 155
 
156
-			if ( 'subscriptions' === $args['post_type'] ) {
156
+			if ('subscriptions' === $args['post_type']) {
157 157
 				$downloader = new GetPaid_Subscription_Exporter();
158 158
 			} else {
159 159
 				$downloader = new GetPaid_Invoice_Exporter();
160 160
 			}
161 161
 
162
-			$downloader->export( $args['post_type'], $args );
162
+			$downloader->export($args['post_type'], $args);
163 163
 		}
164 164
 
165 165
 	}
Please login to merge, or discard this patch.
includes/class-getpaid-daily-maintenance.php 2 patches
Indentation   +137 added lines, -137 removed lines patch added patch discarded remove patch
@@ -12,142 +12,142 @@
 block discarded – undo
12 12
  */
13 13
 class GetPaid_Daily_Maintenance {
14 14
 
15
-	/**
16
-	 * Class constructor.
17
-	 */
18
-	public function __construct() {
19
-
20
-		// Clear deprecated events.
21
-		add_action( 'wp', array( $this, 'maybe_clear_deprecated_events' ) );
22
-
23
-		// (Maybe) schedule a cron that runs daily.
24
-		add_action( 'wp', array( $this, 'maybe_create_scheduled_event' ) );
25
-
26
-		// Fired everyday at 7 a.m (this might vary for sites with few visitors)
27
-		add_action( 'getpaid_daily_maintenance', array( $this, 'log_cron_run' ) );
28
-		add_action( 'getpaid_daily_maintenance', array( $this, 'backwards_compat' ) );
29
-		add_action( 'getpaid_daily_maintenance', array( $this, 'maybe_expire_subscriptions' ) );
30
-		add_action( 'getpaid_daily_maintenance', array( $this, 'check_renewing_subscriptions' ) );
31
-		add_action( 'getpaid_daily_maintenance', array( $this, 'maybe_update_geoip_databases' ) );
32
-
33
-	}
34
-
35
-	/**
36
-	 * Schedules a cron to run every day at 7 a.m
37
-	 *
38
-	 */
39
-	public function maybe_create_scheduled_event() {
40
-
41
-		if ( ! wp_next_scheduled( 'getpaid_daily_maintenance' ) ) {
42
-			$timestamp = strtotime( 'tomorrow 07:00:00', current_time( 'timestamp' ) );
43
-			wp_schedule_event( $timestamp, 'daily', 'getpaid_daily_maintenance' );
44
-		}
45
-
46
-	}
47
-
48
-	/**
49
-	 * Clears deprecated events.
50
-	 *
51
-	 */
52
-	public function maybe_clear_deprecated_events() {
53
-
54
-		if ( ! get_option( 'wpinv_cleared_old_events' ) ) {
55
-			wp_clear_scheduled_hook( 'wpinv_register_schedule_event_twicedaily' );
56
-			wp_clear_scheduled_hook( 'wpinv_register_schedule_event_daily' );
57
-			update_option( 'wpinv_cleared_old_events', 1 );
58
-		}
59
-
60
-	}
61
-
62
-	/**
63
-	 * Fires the old hook for backwards compatibility.
64
-	 *
65
-	 */
66
-	public function backwards_compat() {
67
-		do_action( 'wpinv_register_schedule_event_daily' );
68
-	}
69
-
70
-	/**
71
-	 * Checks for subscriptions that are scheduled to renew.
72
-	 *
73
-	 */
74
-	public function check_renewing_subscriptions() {
75
-
76
-		// Fetch subscriptions that expire today.
77
-		$args  = array(
78
-			'number'             => -1,
79
-			'count_total'        => false,
80
-			'status'             => 'trialling active',
81
-			'date_expires_query' => array(
82
-				array(
83
-					'year'    => gmdate( 'Y' ),
84
-					'month'   => gmdate( 'n' ),
85
-					'day'     => gmdate( 'j' ),
86
-					'compare' => '=',
87
-				),
88
-			),
89
-		);
90
-
91
-		$subscriptions = new GetPaid_Subscriptions_Query( $args );
92
-
93
-		foreach ( $subscriptions->get_results() as $subscription ) {
94
-			/** @var WPInv_Subscription $subscription */
95
-			if ( $subscription->is_last_renewal() ) {
96
-				$subscription->complete();
97
-			} else {
98
-				do_action( 'getpaid_should_renew_subscription', $subscription, $subscription->get_parent_invoice() );
99
-			}
100
-		}
101
-	}
102
-
103
-	/**
104
-	 * Expires expired subscriptions.
105
-	 *
106
-	 */
107
-	public function maybe_expire_subscriptions() {
108
-
109
-		// Fetch expired subscriptions (skips those that expire today).
110
-		$args  = array(
111
-			'number'             => -1,
112
-			'count_total'        => false,
113
-			'status'             => 'trialling active failing cancelled',
114
-			'date_expires_query' => array(
115
-				'before'    => 'yesterday',
116
-				'inclusive' => false,
117
-			),
118
-		);
119
-
120
-		$subscriptions = new GetPaid_Subscriptions_Query( $args );
121
-
122
-		foreach ( $subscriptions->get_results() as $subscription ) {
123
-			if ( apply_filters( 'getpaid_daily_maintenance_should_expire_subscription', false, $subscription ) ) {
124
-				$subscription->set_status( 'expired' );
125
-				$subscription->save();
126
-			}
127
-		}
128
-
129
-	}
130
-
131
-	/**
132
-	 * Logs cron runs.
133
-	 *
134
-	 */
135
-	public function log_cron_run() {
136
-		wpinv_error_log( 'GetPaid Daily Cron', false );
137
-	}
138
-
139
-	/**
140
-	 * Updates GeoIP databases.
141
-	 *
142
-	 */
143
-	public function maybe_update_geoip_databases() {
144
-		$updated = get_transient( 'getpaid_updated_geoip_databases' );
145
-
146
-		if ( false === $updated ) {
147
-			set_transient( 'getpaid_updated_geoip_databases', 1, 15 * DAY_IN_SECONDS );
148
-			do_action( 'getpaid_update_geoip_databases' );
149
-		}
150
-
151
-	}
15
+    /**
16
+     * Class constructor.
17
+     */
18
+    public function __construct() {
19
+
20
+        // Clear deprecated events.
21
+        add_action( 'wp', array( $this, 'maybe_clear_deprecated_events' ) );
22
+
23
+        // (Maybe) schedule a cron that runs daily.
24
+        add_action( 'wp', array( $this, 'maybe_create_scheduled_event' ) );
25
+
26
+        // Fired everyday at 7 a.m (this might vary for sites with few visitors)
27
+        add_action( 'getpaid_daily_maintenance', array( $this, 'log_cron_run' ) );
28
+        add_action( 'getpaid_daily_maintenance', array( $this, 'backwards_compat' ) );
29
+        add_action( 'getpaid_daily_maintenance', array( $this, 'maybe_expire_subscriptions' ) );
30
+        add_action( 'getpaid_daily_maintenance', array( $this, 'check_renewing_subscriptions' ) );
31
+        add_action( 'getpaid_daily_maintenance', array( $this, 'maybe_update_geoip_databases' ) );
32
+
33
+    }
34
+
35
+    /**
36
+     * Schedules a cron to run every day at 7 a.m
37
+     *
38
+     */
39
+    public function maybe_create_scheduled_event() {
40
+
41
+        if ( ! wp_next_scheduled( 'getpaid_daily_maintenance' ) ) {
42
+            $timestamp = strtotime( 'tomorrow 07:00:00', current_time( 'timestamp' ) );
43
+            wp_schedule_event( $timestamp, 'daily', 'getpaid_daily_maintenance' );
44
+        }
45
+
46
+    }
47
+
48
+    /**
49
+     * Clears deprecated events.
50
+     *
51
+     */
52
+    public function maybe_clear_deprecated_events() {
53
+
54
+        if ( ! get_option( 'wpinv_cleared_old_events' ) ) {
55
+            wp_clear_scheduled_hook( 'wpinv_register_schedule_event_twicedaily' );
56
+            wp_clear_scheduled_hook( 'wpinv_register_schedule_event_daily' );
57
+            update_option( 'wpinv_cleared_old_events', 1 );
58
+        }
59
+
60
+    }
61
+
62
+    /**
63
+     * Fires the old hook for backwards compatibility.
64
+     *
65
+     */
66
+    public function backwards_compat() {
67
+        do_action( 'wpinv_register_schedule_event_daily' );
68
+    }
69
+
70
+    /**
71
+     * Checks for subscriptions that are scheduled to renew.
72
+     *
73
+     */
74
+    public function check_renewing_subscriptions() {
75
+
76
+        // Fetch subscriptions that expire today.
77
+        $args  = array(
78
+            'number'             => -1,
79
+            'count_total'        => false,
80
+            'status'             => 'trialling active',
81
+            'date_expires_query' => array(
82
+                array(
83
+                    'year'    => gmdate( 'Y' ),
84
+                    'month'   => gmdate( 'n' ),
85
+                    'day'     => gmdate( 'j' ),
86
+                    'compare' => '=',
87
+                ),
88
+            ),
89
+        );
90
+
91
+        $subscriptions = new GetPaid_Subscriptions_Query( $args );
92
+
93
+        foreach ( $subscriptions->get_results() as $subscription ) {
94
+            /** @var WPInv_Subscription $subscription */
95
+            if ( $subscription->is_last_renewal() ) {
96
+                $subscription->complete();
97
+            } else {
98
+                do_action( 'getpaid_should_renew_subscription', $subscription, $subscription->get_parent_invoice() );
99
+            }
100
+        }
101
+    }
102
+
103
+    /**
104
+     * Expires expired subscriptions.
105
+     *
106
+     */
107
+    public function maybe_expire_subscriptions() {
108
+
109
+        // Fetch expired subscriptions (skips those that expire today).
110
+        $args  = array(
111
+            'number'             => -1,
112
+            'count_total'        => false,
113
+            'status'             => 'trialling active failing cancelled',
114
+            'date_expires_query' => array(
115
+                'before'    => 'yesterday',
116
+                'inclusive' => false,
117
+            ),
118
+        );
119
+
120
+        $subscriptions = new GetPaid_Subscriptions_Query( $args );
121
+
122
+        foreach ( $subscriptions->get_results() as $subscription ) {
123
+            if ( apply_filters( 'getpaid_daily_maintenance_should_expire_subscription', false, $subscription ) ) {
124
+                $subscription->set_status( 'expired' );
125
+                $subscription->save();
126
+            }
127
+        }
128
+
129
+    }
130
+
131
+    /**
132
+     * Logs cron runs.
133
+     *
134
+     */
135
+    public function log_cron_run() {
136
+        wpinv_error_log( 'GetPaid Daily Cron', false );
137
+    }
138
+
139
+    /**
140
+     * Updates GeoIP databases.
141
+     *
142
+     */
143
+    public function maybe_update_geoip_databases() {
144
+        $updated = get_transient( 'getpaid_updated_geoip_databases' );
145
+
146
+        if ( false === $updated ) {
147
+            set_transient( 'getpaid_updated_geoip_databases', 1, 15 * DAY_IN_SECONDS );
148
+            do_action( 'getpaid_update_geoip_databases' );
149
+        }
150
+
151
+    }
152 152
 
153 153
 }
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
  *
5 5
  */
6 6
 
7
-defined( 'ABSPATH' ) || exit;
7
+defined('ABSPATH') || exit;
8 8
 
9 9
 /**
10 10
  * Daily maintenance class.
@@ -18,17 +18,17 @@  discard block
 block discarded – undo
18 18
 	public function __construct() {
19 19
 
20 20
 		// Clear deprecated events.
21
-		add_action( 'wp', array( $this, 'maybe_clear_deprecated_events' ) );
21
+		add_action('wp', array($this, 'maybe_clear_deprecated_events'));
22 22
 
23 23
 		// (Maybe) schedule a cron that runs daily.
24
-		add_action( 'wp', array( $this, 'maybe_create_scheduled_event' ) );
24
+		add_action('wp', array($this, 'maybe_create_scheduled_event'));
25 25
 
26 26
 		// Fired everyday at 7 a.m (this might vary for sites with few visitors)
27
-		add_action( 'getpaid_daily_maintenance', array( $this, 'log_cron_run' ) );
28
-		add_action( 'getpaid_daily_maintenance', array( $this, 'backwards_compat' ) );
29
-		add_action( 'getpaid_daily_maintenance', array( $this, 'maybe_expire_subscriptions' ) );
30
-		add_action( 'getpaid_daily_maintenance', array( $this, 'check_renewing_subscriptions' ) );
31
-		add_action( 'getpaid_daily_maintenance', array( $this, 'maybe_update_geoip_databases' ) );
27
+		add_action('getpaid_daily_maintenance', array($this, 'log_cron_run'));
28
+		add_action('getpaid_daily_maintenance', array($this, 'backwards_compat'));
29
+		add_action('getpaid_daily_maintenance', array($this, 'maybe_expire_subscriptions'));
30
+		add_action('getpaid_daily_maintenance', array($this, 'check_renewing_subscriptions'));
31
+		add_action('getpaid_daily_maintenance', array($this, 'maybe_update_geoip_databases'));
32 32
 
33 33
 	}
34 34
 
@@ -38,9 +38,9 @@  discard block
 block discarded – undo
38 38
 	 */
39 39
 	public function maybe_create_scheduled_event() {
40 40
 
41
-		if ( ! wp_next_scheduled( 'getpaid_daily_maintenance' ) ) {
42
-			$timestamp = strtotime( 'tomorrow 07:00:00', current_time( 'timestamp' ) );
43
-			wp_schedule_event( $timestamp, 'daily', 'getpaid_daily_maintenance' );
41
+		if (!wp_next_scheduled('getpaid_daily_maintenance')) {
42
+			$timestamp = strtotime('tomorrow 07:00:00', current_time('timestamp'));
43
+			wp_schedule_event($timestamp, 'daily', 'getpaid_daily_maintenance');
44 44
 		}
45 45
 
46 46
 	}
@@ -51,10 +51,10 @@  discard block
 block discarded – undo
51 51
 	 */
52 52
 	public function maybe_clear_deprecated_events() {
53 53
 
54
-		if ( ! get_option( 'wpinv_cleared_old_events' ) ) {
55
-			wp_clear_scheduled_hook( 'wpinv_register_schedule_event_twicedaily' );
56
-			wp_clear_scheduled_hook( 'wpinv_register_schedule_event_daily' );
57
-			update_option( 'wpinv_cleared_old_events', 1 );
54
+		if (!get_option('wpinv_cleared_old_events')) {
55
+			wp_clear_scheduled_hook('wpinv_register_schedule_event_twicedaily');
56
+			wp_clear_scheduled_hook('wpinv_register_schedule_event_daily');
57
+			update_option('wpinv_cleared_old_events', 1);
58 58
 		}
59 59
 
60 60
 	}
@@ -64,7 +64,7 @@  discard block
 block discarded – undo
64 64
 	 *
65 65
 	 */
66 66
 	public function backwards_compat() {
67
-		do_action( 'wpinv_register_schedule_event_daily' );
67
+		do_action('wpinv_register_schedule_event_daily');
68 68
 	}
69 69
 
70 70
 	/**
@@ -74,28 +74,28 @@  discard block
 block discarded – undo
74 74
 	public function check_renewing_subscriptions() {
75 75
 
76 76
 		// Fetch subscriptions that expire today.
77
-		$args  = array(
77
+		$args = array(
78 78
 			'number'             => -1,
79 79
 			'count_total'        => false,
80 80
 			'status'             => 'trialling active',
81 81
 			'date_expires_query' => array(
82 82
 				array(
83
-					'year'    => gmdate( 'Y' ),
84
-					'month'   => gmdate( 'n' ),
85
-					'day'     => gmdate( 'j' ),
83
+					'year'    => gmdate('Y'),
84
+					'month'   => gmdate('n'),
85
+					'day'     => gmdate('j'),
86 86
 					'compare' => '=',
87 87
 				),
88 88
 			),
89 89
 		);
90 90
 
91
-		$subscriptions = new GetPaid_Subscriptions_Query( $args );
91
+		$subscriptions = new GetPaid_Subscriptions_Query($args);
92 92
 
93
-		foreach ( $subscriptions->get_results() as $subscription ) {
93
+		foreach ($subscriptions->get_results() as $subscription) {
94 94
 			/** @var WPInv_Subscription $subscription */
95
-			if ( $subscription->is_last_renewal() ) {
95
+			if ($subscription->is_last_renewal()) {
96 96
 				$subscription->complete();
97 97
 			} else {
98
-				do_action( 'getpaid_should_renew_subscription', $subscription, $subscription->get_parent_invoice() );
98
+				do_action('getpaid_should_renew_subscription', $subscription, $subscription->get_parent_invoice());
99 99
 			}
100 100
 		}
101 101
 	}
@@ -107,7 +107,7 @@  discard block
 block discarded – undo
107 107
 	public function maybe_expire_subscriptions() {
108 108
 
109 109
 		// Fetch expired subscriptions (skips those that expire today).
110
-		$args  = array(
110
+		$args = array(
111 111
 			'number'             => -1,
112 112
 			'count_total'        => false,
113 113
 			'status'             => 'trialling active failing cancelled',
@@ -117,11 +117,11 @@  discard block
 block discarded – undo
117 117
 			),
118 118
 		);
119 119
 
120
-		$subscriptions = new GetPaid_Subscriptions_Query( $args );
120
+		$subscriptions = new GetPaid_Subscriptions_Query($args);
121 121
 
122
-		foreach ( $subscriptions->get_results() as $subscription ) {
123
-			if ( apply_filters( 'getpaid_daily_maintenance_should_expire_subscription', false, $subscription ) ) {
124
-				$subscription->set_status( 'expired' );
122
+		foreach ($subscriptions->get_results() as $subscription) {
123
+			if (apply_filters('getpaid_daily_maintenance_should_expire_subscription', false, $subscription)) {
124
+				$subscription->set_status('expired');
125 125
 				$subscription->save();
126 126
 			}
127 127
 		}
@@ -133,7 +133,7 @@  discard block
 block discarded – undo
133 133
 	 *
134 134
 	 */
135 135
 	public function log_cron_run() {
136
-		wpinv_error_log( 'GetPaid Daily Cron', false );
136
+		wpinv_error_log('GetPaid Daily Cron', false);
137 137
 	}
138 138
 
139 139
 	/**
@@ -141,11 +141,11 @@  discard block
 block discarded – undo
141 141
 	 *
142 142
 	 */
143 143
 	public function maybe_update_geoip_databases() {
144
-		$updated = get_transient( 'getpaid_updated_geoip_databases' );
144
+		$updated = get_transient('getpaid_updated_geoip_databases');
145 145
 
146
-		if ( false === $updated ) {
147
-			set_transient( 'getpaid_updated_geoip_databases', 1, 15 * DAY_IN_SECONDS );
148
-			do_action( 'getpaid_update_geoip_databases' );
146
+		if (false === $updated) {
147
+			set_transient('getpaid_updated_geoip_databases', 1, 15 * DAY_IN_SECONDS);
148
+			do_action('getpaid_update_geoip_databases');
149 149
 		}
150 150
 
151 151
 	}
Please login to merge, or discard this patch.
includes/gateways/class-getpaid-bank-transfer-gateway.php 2 patches
Indentation   +282 added lines, -282 removed lines patch added patch discarded remove patch
@@ -13,47 +13,47 @@  discard block
 block discarded – undo
13 13
 class GetPaid_Bank_Transfer_Gateway extends GetPaid_Payment_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 = 'bank_transfer';
21 21
 
22
-	/**
23
-	 * An array of features that this gateway supports.
24
-	 *
25
-	 * @var array
26
-	 */
27
-	protected $supports = array(
28
-		'subscription',
29
-		'addons',
30
-		'single_subscription_group',
31
-		'multiple_subscription_groups',
32
-		'subscription_date_change',
33
-		'subscription_bill_times_change',
34
-	);
22
+    /**
23
+     * An array of features that this gateway supports.
24
+     *
25
+     * @var array
26
+     */
27
+    protected $supports = array(
28
+        'subscription',
29
+        'addons',
30
+        'single_subscription_group',
31
+        'multiple_subscription_groups',
32
+        'subscription_date_change',
33
+        'subscription_bill_times_change',
34
+    );
35
+
36
+    /**
37
+     * Payment method order.
38
+     *
39
+     * @var int
40
+     */
41
+    public $order = 8;
35 42
 
36 43
     /**
37
-	 * Payment method order.
38
-	 *
39
-	 * @var int
40
-	 */
41
-	public $order = 8;
42
-
43
-	/**
44
-	 * Bank transfer instructions.
45
-	 */
46
-	public $instructions;
47
-
48
-	/**
49
-	 * Locale array.
50
-	 */
51
-	public $locale;
44
+     * Bank transfer instructions.
45
+     */
46
+    public $instructions;
52 47
 
53 48
     /**
54
-	 * Class constructor.
55
-	 */
56
-	public function __construct() {
49
+     * Locale array.
50
+     */
51
+    public $locale;
52
+
53
+    /**
54
+     * Class constructor.
55
+     */
56
+    public function __construct() {
57 57
         parent::__construct();
58 58
 
59 59
         $this->title                = __( 'Direct bank transfer', 'invoicing' );
@@ -61,24 +61,24 @@  discard block
 block discarded – undo
61 61
         $this->checkout_button_text = __( 'Proceed', 'invoicing' );
62 62
         $this->instructions         = apply_filters( 'wpinv_bank_instructions', $this->get_option( 'info' ) );
63 63
 
64
-		add_action( 'wpinv_receipt_end', array( $this, 'thankyou_page' ) );
65
-		add_action( 'getpaid_invoice_line_items', array( $this, 'thankyou_page' ), 40 );
66
-		add_action( 'wpinv_pdf_content_billing', array( $this, 'thankyou_page' ), 11 );
67
-		add_action( 'wpinv_email_invoice_details', array( $this, 'email_instructions' ), 10, 3 );
68
-		add_action( 'getpaid_should_renew_subscription', array( $this, 'maybe_renew_subscription' ), 12, 2 );
69
-		add_action( 'getpaid_invoice_status_publish', array( $this, 'invoice_paid' ), 20 );
64
+        add_action( 'wpinv_receipt_end', array( $this, 'thankyou_page' ) );
65
+        add_action( 'getpaid_invoice_line_items', array( $this, 'thankyou_page' ), 40 );
66
+        add_action( 'wpinv_pdf_content_billing', array( $this, 'thankyou_page' ), 11 );
67
+        add_action( 'wpinv_email_invoice_details', array( $this, 'email_instructions' ), 10, 3 );
68
+        add_action( 'getpaid_should_renew_subscription', array( $this, 'maybe_renew_subscription' ), 12, 2 );
69
+        add_action( 'getpaid_invoice_status_publish', array( $this, 'invoice_paid' ), 20 );
70 70
 
71 71
     }
72 72
 
73 73
     /**
74
-	 * Process Payment.
75
-	 *
76
-	 * @param WPInv_Invoice $invoice Invoice.
77
-	 * @param array $submission_data Posted checkout fields.
78
-	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
79
-	 * @return array
80
-	 */
81
-	public function process_payment( $invoice, $submission_data, $submission ) {
74
+     * Process Payment.
75
+     *
76
+     * @param WPInv_Invoice $invoice Invoice.
77
+     * @param array $submission_data Posted checkout fields.
78
+     * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
79
+     * @return array
80
+     */
81
+    public function process_payment( $invoice, $submission_data, $submission ) {
82 82
 
83 83
         // Add a transaction id.
84 84
         $invoice->set_transaction_id( $invoice->generate_key( 'bt_' ) );
@@ -99,66 +99,66 @@  discard block
 block discarded – undo
99 99
     }
100 100
 
101 101
     /**
102
-	 * Output for the order received page.
103
-	 *
104
-	 * @param WPInv_Invoice $invoice Invoice.
105
-	 */
106
-	public function thankyou_page( $invoice ) {
102
+     * Output for the order received page.
103
+     *
104
+     * @param WPInv_Invoice $invoice Invoice.
105
+     */
106
+    public function thankyou_page( $invoice ) {
107 107
 
108 108
         if ( 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) {
109 109
 
110
-			echo '<div class="mt-4 mb-2 getpaid-bank-transfer-details">' . PHP_EOL;
110
+            echo '<div class="mt-4 mb-2 getpaid-bank-transfer-details">' . PHP_EOL;
111 111
 
112 112
             if ( ! empty( $this->instructions ) ) {
113 113
                 echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) );
114
-			}
114
+            }
115 115
 
116
-			$this->bank_details( $invoice );
116
+            $this->bank_details( $invoice );
117 117
 
118
-			echo '</div>';
118
+            echo '</div>';
119 119
 
120 120
         }
121 121
 
122
-	}
122
+    }
123 123
 
124 124
     /**
125
-	 * Add content to the WPI emails.
126
-	 *
127
-	 * @param WPInv_Invoice $invoice Invoice.
128
-	 * @param string     $email_type Email format: plain text or HTML.
129
-	 * @param bool     $sent_to_admin Sent to admin.
130
-	 */
131
-	public function email_instructions( $invoice, $email_type, $sent_to_admin ) {
125
+     * Add content to the WPI emails.
126
+     *
127
+     * @param WPInv_Invoice $invoice Invoice.
128
+     * @param string     $email_type Email format: plain text or HTML.
129
+     * @param bool     $sent_to_admin Sent to admin.
130
+     */
131
+    public function email_instructions( $invoice, $email_type, $sent_to_admin ) {
132 132
 
133
-		if ( ! $sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) {
133
+        if ( ! $sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) {
134 134
 
135
-			echo '<div class="wpi-email-row getpaid-bank-transfer-details">';
135
+            echo '<div class="wpi-email-row getpaid-bank-transfer-details">';
136 136
 
137
-			if ( $this->instructions ) {
138
-				echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) . PHP_EOL );
137
+            if ( $this->instructions ) {
138
+                echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) . PHP_EOL );
139 139
             }
140 140
 
141
-			$this->bank_details( $invoice );
141
+            $this->bank_details( $invoice );
142 142
 
143
-			echo '</div>';
143
+            echo '</div>';
144 144
 
145
-		}
145
+        }
146 146
 
147 147
     }
148 148
 
149 149
     /**
150
-	 * Get bank details and place into a list format.
151
-	 *
152
-	 * @param WPInv_Invoice $invoice Invoice.
153
-	 */
154
-	protected function bank_details( $invoice ) {
150
+     * Get bank details and place into a list format.
151
+     *
152
+     * @param WPInv_Invoice $invoice Invoice.
153
+     */
154
+    protected function bank_details( $invoice ) {
155 155
 
156
-		// Get the invoice country and country $locale.
157
-		$country = $invoice->get_country();
158
-		$locale  = $this->get_country_locale();
156
+        // Get the invoice country and country $locale.
157
+        $country = $invoice->get_country();
158
+        $locale  = $this->get_country_locale();
159 159
 
160
-		// Get shortcode label in the $locale array and use appropriate one.
161
-		$sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
160
+        // Get shortcode label in the $locale array and use appropriate one.
161
+        $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
162 162
 
163 163
         $bank_fields = array(
164 164
             'ac_name'   => __( 'Account Name', 'invoicing' ),
@@ -177,11 +177,11 @@  discard block
 block discarded – undo
177 177
 
178 178
             if ( ! empty( $value ) ) {
179 179
                 $bank_info[ $field ] = array(
180
-					'label' => $label,
181
-					'value' => $value,
182
-				);
180
+                    'label' => $label,
181
+                    'value' => $value,
182
+                );
183 183
             }
184
-		}
184
+        }
185 185
 
186 186
         $bank_info = apply_filters( 'wpinv_bank_info', $bank_info, $invoice );
187 187
 
@@ -189,139 +189,139 @@  discard block
 block discarded – undo
189 189
             return;
190 190
         }
191 191
 
192
-		echo '<h3 class="getpaid-bank-transfer-title"> ' . esc_html( apply_filters( 'wpinv_receipt_bank_details_title', __( 'Bank Details', 'invoicing' ), $invoice ) ) . '</h3>' . PHP_EOL;
192
+        echo '<h3 class="getpaid-bank-transfer-title"> ' . esc_html( apply_filters( 'wpinv_receipt_bank_details_title', __( 'Bank Details', 'invoicing' ), $invoice ) ) . '</h3>' . PHP_EOL;
193 193
 
194
-		echo '<table class="table table-bordered getpaid-bank-transfer-details">' . PHP_EOL;
194
+        echo '<table class="table table-bordered getpaid-bank-transfer-details">' . PHP_EOL;
195 195
 
196
-		foreach ( $bank_info as $key => $data ) {
197
-			echo "<tr class='getpaid-bank-transfer-" . esc_attr( $key ) . "'><th class='font-weight-bold'>" . wp_kses_post( $data['label'] ) . "</th><td class='w-75'>" . wp_kses_post( wptexturize( $data['value'] ) ) . '</td></tr>' . PHP_EOL;
198
-		}
196
+        foreach ( $bank_info as $key => $data ) {
197
+            echo "<tr class='getpaid-bank-transfer-" . esc_attr( $key ) . "'><th class='font-weight-bold'>" . wp_kses_post( $data['label'] ) . "</th><td class='w-75'>" . wp_kses_post( wptexturize( $data['value'] ) ) . '</td></tr>' . PHP_EOL;
198
+        }
199 199
 
200
-		echo '</table>';
200
+        echo '</table>';
201 201
 
202 202
     }
203 203
 
204 204
     /**
205
-	 * Get country locale if localized.
206
-	 *
207
-	 * @return array
208
-	 */
209
-	public function get_country_locale() {
210
-
211
-		if ( empty( $this->locale ) ) {
212
-
213
-			// Locale information to be used - only those that are not 'Sort Code'.
214
-			$this->locale = apply_filters(
215
-				'getpaid_get_bank_transfer_locale',
216
-				array(
217
-					'AU' => array(
218
-						'sortcode' => array(
219
-							'label' => __( 'BSB', 'invoicing' ),
220
-						),
221
-					),
222
-					'CA' => array(
223
-						'sortcode' => array(
224
-							'label' => __( 'Bank transit number', 'invoicing' ),
225
-						),
226
-					),
227
-					'IN' => array(
228
-						'sortcode' => array(
229
-							'label' => __( 'IFSC', 'invoicing' ),
230
-						),
231
-					),
232
-					'IT' => array(
233
-						'sortcode' => array(
234
-							'label' => __( 'Branch sort', 'invoicing' ),
235
-						),
236
-					),
237
-					'NZ' => array(
238
-						'sortcode' => array(
239
-							'label' => __( 'Bank code', 'invoicing' ),
240
-						),
241
-					),
242
-					'SE' => array(
243
-						'sortcode' => array(
244
-							'label' => __( 'Bank code', 'invoicing' ),
245
-						),
246
-					),
247
-					'US' => array(
248
-						'sortcode' => array(
249
-							'label' => __( 'Routing number', 'invoicing' ),
250
-						),
251
-					),
252
-					'ZA' => array(
253
-						'sortcode' => array(
254
-							'label' => __( 'Branch code', 'invoicing' ),
255
-						),
256
-					),
257
-				)
258
-			);
259
-
260
-		}
261
-
262
-		return $this->locale;
263
-
264
-	}
265
-
266
-	/**
267
-	 * Filters the gateway settings.
268
-	 *
269
-	 * @param array $admin_settings
270
-	 */
271
-	public function admin_settings( $admin_settings ) {
205
+     * Get country locale if localized.
206
+     *
207
+     * @return array
208
+     */
209
+    public function get_country_locale() {
210
+
211
+        if ( empty( $this->locale ) ) {
212
+
213
+            // Locale information to be used - only those that are not 'Sort Code'.
214
+            $this->locale = apply_filters(
215
+                'getpaid_get_bank_transfer_locale',
216
+                array(
217
+                    'AU' => array(
218
+                        'sortcode' => array(
219
+                            'label' => __( 'BSB', 'invoicing' ),
220
+                        ),
221
+                    ),
222
+                    'CA' => array(
223
+                        'sortcode' => array(
224
+                            'label' => __( 'Bank transit number', 'invoicing' ),
225
+                        ),
226
+                    ),
227
+                    'IN' => array(
228
+                        'sortcode' => array(
229
+                            'label' => __( 'IFSC', 'invoicing' ),
230
+                        ),
231
+                    ),
232
+                    'IT' => array(
233
+                        'sortcode' => array(
234
+                            'label' => __( 'Branch sort', 'invoicing' ),
235
+                        ),
236
+                    ),
237
+                    'NZ' => array(
238
+                        'sortcode' => array(
239
+                            'label' => __( 'Bank code', 'invoicing' ),
240
+                        ),
241
+                    ),
242
+                    'SE' => array(
243
+                        'sortcode' => array(
244
+                            'label' => __( 'Bank code', 'invoicing' ),
245
+                        ),
246
+                    ),
247
+                    'US' => array(
248
+                        'sortcode' => array(
249
+                            'label' => __( 'Routing number', 'invoicing' ),
250
+                        ),
251
+                    ),
252
+                    'ZA' => array(
253
+                        'sortcode' => array(
254
+                            'label' => __( 'Branch code', 'invoicing' ),
255
+                        ),
256
+                    ),
257
+                )
258
+            );
259
+
260
+        }
261
+
262
+        return $this->locale;
263
+
264
+    }
265
+
266
+    /**
267
+     * Filters the gateway settings.
268
+     *
269
+     * @param array $admin_settings
270
+     */
271
+    public function admin_settings( $admin_settings ) {
272 272
 
273 273
         $admin_settings['bank_transfer_desc']['std']    = __( "Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing' );
274
-		$admin_settings['bank_transfer_active']['desc'] = __( 'Enable bank transfer', 'invoicing' );
274
+        $admin_settings['bank_transfer_active']['desc'] = __( 'Enable bank transfer', 'invoicing' );
275 275
 
276
-		$locale  = $this->get_country_locale();
276
+        $locale  = $this->get_country_locale();
277 277
 
278
-		// Get sortcode label in the $locale array and use appropriate one.
279
-		$country  = wpinv_default_billing_country();
280
-		$sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
278
+        // Get sortcode label in the $locale array and use appropriate one.
279
+        $country  = wpinv_default_billing_country();
280
+        $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
281 281
 
282
-		$admin_settings['bank_transfer_ac_name'] = array(
282
+        $admin_settings['bank_transfer_ac_name'] = array(
283 283
             'type' => 'text',
284 284
             'id'   => 'bank_transfer_ac_name',
285 285
             'name' => __( 'Account Name', 'invoicing' ),
286
-		);
286
+        );
287 287
 
288
-		$admin_settings['bank_transfer_ac_no'] = array(
288
+        $admin_settings['bank_transfer_ac_no'] = array(
289 289
             'type' => 'text',
290 290
             'id'   => 'bank_transfer_ac_no',
291 291
             'name' => __( 'Account Number', 'invoicing' ),
292
-		);
292
+        );
293 293
 
294
-		$admin_settings['bank_transfer_bank_name'] = array(
294
+        $admin_settings['bank_transfer_bank_name'] = array(
295 295
             'type' => 'text',
296 296
             'id'   => 'bank_transfer_bank_name',
297 297
             'name' => __( 'Bank Name', 'invoicing' ),
298
-		);
298
+        );
299 299
 
300
-		$admin_settings['bank_transfer_ifsc'] = array(
300
+        $admin_settings['bank_transfer_ifsc'] = array(
301 301
             'type' => 'text',
302 302
             'id'   => 'bank_transfer_ifsc',
303 303
             'name' => __( 'IFSC Code', 'invoicing' ),
304
-		);
304
+        );
305 305
 
306
-		$admin_settings['bank_transfer_iban'] = array(
306
+        $admin_settings['bank_transfer_iban'] = array(
307 307
             'type' => 'text',
308 308
             'id'   => 'bank_transfer_iban',
309 309
             'name' => __( 'IBAN', 'invoicing' ),
310
-		);
310
+        );
311 311
 
312
-		$admin_settings['bank_transfer_bic'] = array(
312
+        $admin_settings['bank_transfer_bic'] = array(
313 313
             'type' => 'text',
314 314
             'id'   => 'bank_transfer_bic',
315 315
             'name' => __( 'BIC/Swift Code', 'invoicing' ),
316
-		);
316
+        );
317 317
 
318
-		$admin_settings['bank_transfer_sort_code'] = array(
319
-			'type' => 'text',
320
-			'id'   => 'bank_transfer_sort_code',
321
-			'name' => $sortcode,
322
-		);
318
+        $admin_settings['bank_transfer_sort_code'] = array(
319
+            'type' => 'text',
320
+            'id'   => 'bank_transfer_sort_code',
321
+            'name' => $sortcode,
322
+        );
323 323
 
324
-		$admin_settings['bank_transfer_info'] = array(
324
+        $admin_settings['bank_transfer_info'] = array(
325 325
             'id'   => 'bank_transfer_info',
326 326
             'name' => __( 'Instructions', 'invoicing' ),
327 327
             'desc' => __( 'Instructions that will be added to the thank you page and emails.', 'invoicing' ),
@@ -331,17 +331,17 @@  discard block
 block discarded – undo
331 331
             'rows' => 5,
332 332
         );
333 333
 
334
-		return $admin_settings;
335
-	}
334
+        return $admin_settings;
335
+    }
336 336
 
337
-	/**
338
-	 * Processes invoice addons.
339
-	 *
340
-	 * @param WPInv_Invoice $invoice
341
-	 * @param GetPaid_Form_Item[] $items
342
-	 * @return WPInv_Invoice
343
-	 */
344
-	public function process_addons( $invoice, $items ) {
337
+    /**
338
+     * Processes invoice addons.
339
+     *
340
+     * @param WPInv_Invoice $invoice
341
+     * @param GetPaid_Form_Item[] $items
342
+     * @return WPInv_Invoice
343
+     */
344
+    public function process_addons( $invoice, $items ) {
345 345
 
346 346
         foreach ( $items as $item ) {
347 347
             $invoice->add_item( $item );
@@ -349,98 +349,98 @@  discard block
 block discarded – undo
349 349
 
350 350
         $invoice->recalculate_total();
351 351
         $invoice->save();
352
-	}
353
-
354
-	/**
355
-	 * (Maybe) renews a bank transfer subscription profile.
356
-	 *
357
-	 *
358
-	 * @param WPInv_Subscription $subscription
359
-	 */
360
-	public function maybe_renew_subscription( $subscription, $parent_invoice ) {
361
-		// Ensure its our subscription && it's active.
362
-		if ( ! empty( $parent_invoice ) && $this->id === $parent_invoice->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
363
-			add_filter( 'getpaid_invoice_notifications_is_payment_form_invoice', array( $this, 'force_is_payment_form_invoice' ), 10, 2 );
364
-
365
-			$invoice = $subscription->create_payment();
366
-
367
-			if ( ! empty( $invoice ) ) {
368
-				$is_logged_in = is_user_logged_in();
369
-
370
-				// Cron run.
371
-				if ( ! $is_logged_in ) {
372
-					$note = wp_sprintf( __( 'Renewal %1$s created with the status "%2$s".', 'invoicing' ), $invoice->get_invoice_quote_type(), wpinv_status_nicename( $invoice->get_status(), $invoice ) );
373
-
374
-					$invoice->add_note( $note, false, $is_logged_in, ! $is_logged_in );
375
-				}
376
-			}
377
-
378
-			remove_filter( 'getpaid_invoice_notifications_is_payment_form_invoice', array( $this, 'force_is_payment_form_invoice' ), 10, 2 );
379
-		}
380
-	}
381
-
382
-	/**
383
-	 * Process a bank transfer payment.
384
-	 *
385
-	 *
352
+    }
353
+
354
+    /**
355
+     * (Maybe) renews a bank transfer subscription profile.
356
+     *
357
+     *
358
+     * @param WPInv_Subscription $subscription
359
+     */
360
+    public function maybe_renew_subscription( $subscription, $parent_invoice ) {
361
+        // Ensure its our subscription && it's active.
362
+        if ( ! empty( $parent_invoice ) && $this->id === $parent_invoice->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
363
+            add_filter( 'getpaid_invoice_notifications_is_payment_form_invoice', array( $this, 'force_is_payment_form_invoice' ), 10, 2 );
364
+
365
+            $invoice = $subscription->create_payment();
366
+
367
+            if ( ! empty( $invoice ) ) {
368
+                $is_logged_in = is_user_logged_in();
369
+
370
+                // Cron run.
371
+                if ( ! $is_logged_in ) {
372
+                    $note = wp_sprintf( __( 'Renewal %1$s created with the status "%2$s".', 'invoicing' ), $invoice->get_invoice_quote_type(), wpinv_status_nicename( $invoice->get_status(), $invoice ) );
373
+
374
+                    $invoice->add_note( $note, false, $is_logged_in, ! $is_logged_in );
375
+                }
376
+            }
377
+
378
+            remove_filter( 'getpaid_invoice_notifications_is_payment_form_invoice', array( $this, 'force_is_payment_form_invoice' ), 10, 2 );
379
+        }
380
+    }
381
+
382
+    /**
383
+     * Process a bank transfer payment.
384
+     *
385
+     *
386 386
      * @param WPInv_Invoice $invoice
387
-	 */
388
-	public function invoice_paid( $invoice ) {
389
-
390
-		// Abort if not paid by bank transfer.
391
-		if ( $this->id !== $invoice->get_gateway() || ! $invoice->is_recurring() ) {
392
-			return;
393
-		}
394
-
395
-		// Is it a parent payment?
396
-		if ( 0 == $invoice->get_parent_id() ) {
397
-
398
-			// (Maybe) activate subscriptions.
399
-			$subscriptions = getpaid_get_invoice_subscriptions( $invoice );
400
-
401
-			if ( ! empty( $subscriptions ) ) {
402
-				$subscriptions = is_array( $subscriptions ) ? $subscriptions : array( $subscriptions );
403
-
404
-				foreach ( $subscriptions as $subscription ) {
405
-					if ( $subscription->exists() ) {
406
-						$duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() );
407
-						$expiry   = gmdate( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) );
408
-
409
-						$subscription->set_next_renewal_date( $expiry );
410
-						$subscription->set_date_created( current_time( 'mysql' ) );
411
-						$subscription->set_profile_id( 'bt_sub_' . $invoice->get_id() . '_' . $subscription->get_id() );
412
-						$subscription->activate();
413
-					}
414
-				}
415
-			}
416
-		} else {
417
-
418
-			$subscription = getpaid_get_subscription( $invoice->get_subscription_id() );
419
-
420
-			// Renew the subscription.
421
-			if ( $subscription && $subscription->exists() ) {
422
-				$subscription->add_payment( array(), $invoice );
423
-				$subscription->renew( strtotime( $invoice->get_date_created() ) );
424
-			}
425
-		}
387
+     */
388
+    public function invoice_paid( $invoice ) {
389
+
390
+        // Abort if not paid by bank transfer.
391
+        if ( $this->id !== $invoice->get_gateway() || ! $invoice->is_recurring() ) {
392
+            return;
393
+        }
394
+
395
+        // Is it a parent payment?
396
+        if ( 0 == $invoice->get_parent_id() ) {
397
+
398
+            // (Maybe) activate subscriptions.
399
+            $subscriptions = getpaid_get_invoice_subscriptions( $invoice );
400
+
401
+            if ( ! empty( $subscriptions ) ) {
402
+                $subscriptions = is_array( $subscriptions ) ? $subscriptions : array( $subscriptions );
403
+
404
+                foreach ( $subscriptions as $subscription ) {
405
+                    if ( $subscription->exists() ) {
406
+                        $duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() );
407
+                        $expiry   = gmdate( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) );
408
+
409
+                        $subscription->set_next_renewal_date( $expiry );
410
+                        $subscription->set_date_created( current_time( 'mysql' ) );
411
+                        $subscription->set_profile_id( 'bt_sub_' . $invoice->get_id() . '_' . $subscription->get_id() );
412
+                        $subscription->activate();
413
+                    }
414
+                }
415
+            }
416
+        } else {
417
+
418
+            $subscription = getpaid_get_subscription( $invoice->get_subscription_id() );
419
+
420
+            // Renew the subscription.
421
+            if ( $subscription && $subscription->exists() ) {
422
+                $subscription->add_payment( array(), $invoice );
423
+                $subscription->renew( strtotime( $invoice->get_date_created() ) );
424
+            }
425
+        }
426 426
 
427 427
     }
428 428
 
429
-	/**
430
-	 * Force created from payment false to allow email for auto renewal generation invoice.
431
-	 *
432
-	 * @since 2.8.11
433
-	 *
434
-	 * @param bool $is_payment_form_invoice True when invoice created via payment form else false.
435
-	 * @param int  $invoice Invoice ID.
436
-	 * @return bool True when invoice created via payment form else false.
437
-	 */
438
-	public function force_is_payment_form_invoice( $is_payment_form_invoice, $invoice ) {
439
-		if ( $is_payment_form_invoice ) {
440
-			$is_payment_form_invoice = false;
441
-		}
442
-
443
-		return $is_payment_form_invoice;
444
-	}
429
+    /**
430
+     * Force created from payment false to allow email for auto renewal generation invoice.
431
+     *
432
+     * @since 2.8.11
433
+     *
434
+     * @param bool $is_payment_form_invoice True when invoice created via payment form else false.
435
+     * @param int  $invoice Invoice ID.
436
+     * @return bool True when invoice created via payment form else false.
437
+     */
438
+    public function force_is_payment_form_invoice( $is_payment_form_invoice, $invoice ) {
439
+        if ( $is_payment_form_invoice ) {
440
+            $is_payment_form_invoice = false;
441
+        }
442
+
443
+        return $is_payment_form_invoice;
444
+    }
445 445
 
446 446
 }
Please login to merge, or discard this patch.
Spacing   +97 added lines, -97 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
  * Bank transfer Payment Gateway class.
@@ -56,17 +56,17 @@  discard block
 block discarded – undo
56 56
 	public function __construct() {
57 57
         parent::__construct();
58 58
 
59
-        $this->title                = __( 'Direct bank transfer', 'invoicing' );
60
-        $this->method_title         = __( 'Bank transfer', 'invoicing' );
61
-        $this->checkout_button_text = __( 'Proceed', 'invoicing' );
62
-        $this->instructions         = apply_filters( 'wpinv_bank_instructions', $this->get_option( 'info' ) );
59
+        $this->title                = __('Direct bank transfer', 'invoicing');
60
+        $this->method_title         = __('Bank transfer', 'invoicing');
61
+        $this->checkout_button_text = __('Proceed', 'invoicing');
62
+        $this->instructions         = apply_filters('wpinv_bank_instructions', $this->get_option('info'));
63 63
 
64
-		add_action( 'wpinv_receipt_end', array( $this, 'thankyou_page' ) );
65
-		add_action( 'getpaid_invoice_line_items', array( $this, 'thankyou_page' ), 40 );
66
-		add_action( 'wpinv_pdf_content_billing', array( $this, 'thankyou_page' ), 11 );
67
-		add_action( 'wpinv_email_invoice_details', array( $this, 'email_instructions' ), 10, 3 );
68
-		add_action( 'getpaid_should_renew_subscription', array( $this, 'maybe_renew_subscription' ), 12, 2 );
69
-		add_action( 'getpaid_invoice_status_publish', array( $this, 'invoice_paid' ), 20 );
64
+		add_action('wpinv_receipt_end', array($this, 'thankyou_page'));
65
+		add_action('getpaid_invoice_line_items', array($this, 'thankyou_page'), 40);
66
+		add_action('wpinv_pdf_content_billing', array($this, 'thankyou_page'), 11);
67
+		add_action('wpinv_email_invoice_details', array($this, 'email_instructions'), 10, 3);
68
+		add_action('getpaid_should_renew_subscription', array($this, 'maybe_renew_subscription'), 12, 2);
69
+		add_action('getpaid_invoice_status_publish', array($this, 'invoice_paid'), 20);
70 70
 
71 71
     }
72 72
 
@@ -78,23 +78,23 @@  discard block
 block discarded – undo
78 78
 	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
79 79
 	 * @return array
80 80
 	 */
81
-	public function process_payment( $invoice, $submission_data, $submission ) {
81
+	public function process_payment($invoice, $submission_data, $submission) {
82 82
 
83 83
         // Add a transaction id.
84
-        $invoice->set_transaction_id( $invoice->generate_key( 'bt_' ) );
84
+        $invoice->set_transaction_id($invoice->generate_key('bt_'));
85 85
 
86 86
         // Set it as pending payment.
87
-        if ( ! $invoice->needs_payment() ) {
87
+        if (!$invoice->needs_payment()) {
88 88
             $invoice->mark_paid();
89
-        } elseif ( ! $invoice->is_paid() ) {
90
-            $invoice->set_status( 'wpi-onhold' );
89
+        } elseif (!$invoice->is_paid()) {
90
+            $invoice->set_status('wpi-onhold');
91 91
         }
92 92
 
93 93
         // Save it.
94 94
         $invoice->save();
95 95
 
96 96
         // Send to the success page.
97
-        wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
97
+        wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key()));
98 98
 
99 99
     }
100 100
 
@@ -103,17 +103,17 @@  discard block
 block discarded – undo
103 103
 	 *
104 104
 	 * @param WPInv_Invoice $invoice Invoice.
105 105
 	 */
106
-	public function thankyou_page( $invoice ) {
106
+	public function thankyou_page($invoice) {
107 107
 
108
-        if ( 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) {
108
+        if ('bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment()) {
109 109
 
110 110
 			echo '<div class="mt-4 mb-2 getpaid-bank-transfer-details">' . PHP_EOL;
111 111
 
112
-            if ( ! empty( $this->instructions ) ) {
113
-                echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) );
112
+            if (!empty($this->instructions)) {
113
+                echo wp_kses_post(wpautop(wptexturize($this->instructions)));
114 114
 			}
115 115
 
116
-			$this->bank_details( $invoice );
116
+			$this->bank_details($invoice);
117 117
 
118 118
 			echo '</div>';
119 119
 
@@ -128,17 +128,17 @@  discard block
 block discarded – undo
128 128
 	 * @param string     $email_type Email format: plain text or HTML.
129 129
 	 * @param bool     $sent_to_admin Sent to admin.
130 130
 	 */
131
-	public function email_instructions( $invoice, $email_type, $sent_to_admin ) {
131
+	public function email_instructions($invoice, $email_type, $sent_to_admin) {
132 132
 
133
-		if ( ! $sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) {
133
+		if (!$sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment()) {
134 134
 
135 135
 			echo '<div class="wpi-email-row getpaid-bank-transfer-details">';
136 136
 
137
-			if ( $this->instructions ) {
138
-				echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) . PHP_EOL );
137
+			if ($this->instructions) {
138
+				echo wp_kses_post(wpautop(wptexturize($this->instructions)) . PHP_EOL);
139 139
             }
140 140
 
141
-			$this->bank_details( $invoice );
141
+			$this->bank_details($invoice);
142 142
 
143 143
 			echo '</div>';
144 144
 
@@ -151,50 +151,50 @@  discard block
 block discarded – undo
151 151
 	 *
152 152
 	 * @param WPInv_Invoice $invoice Invoice.
153 153
 	 */
154
-	protected function bank_details( $invoice ) {
154
+	protected function bank_details($invoice) {
155 155
 
156 156
 		// Get the invoice country and country $locale.
157 157
 		$country = $invoice->get_country();
158 158
 		$locale  = $this->get_country_locale();
159 159
 
160 160
 		// Get shortcode label in the $locale array and use appropriate one.
161
-		$sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
161
+		$sortcode = isset($locale[$country]['sortcode']['label']) ? $locale[$country]['sortcode']['label'] : __('Sort code', 'invoicing');
162 162
 
163 163
         $bank_fields = array(
164
-            'ac_name'   => __( 'Account Name', 'invoicing' ),
165
-            'ac_no'     => __( 'Account Number', 'invoicing' ),
166
-            'bank_name' => __( 'Bank Name', 'invoicing' ),
167
-            'ifsc'      => __( 'IFSC code', 'invoicing' ),
168
-            'iban'      => __( 'IBAN', 'invoicing' ),
169
-            'bic'       => __( 'BIC/Swift code', 'invoicing' ),
164
+            'ac_name'   => __('Account Name', 'invoicing'),
165
+            'ac_no'     => __('Account Number', 'invoicing'),
166
+            'bank_name' => __('Bank Name', 'invoicing'),
167
+            'ifsc'      => __('IFSC code', 'invoicing'),
168
+            'iban'      => __('IBAN', 'invoicing'),
169
+            'bic'       => __('BIC/Swift code', 'invoicing'),
170 170
             'sort_code' => $sortcode,
171 171
         );
172 172
 
173 173
         $bank_info = array();
174 174
 
175
-        foreach ( $bank_fields as $field => $label ) {
176
-            $value = $this->get_option( $field );
175
+        foreach ($bank_fields as $field => $label) {
176
+            $value = $this->get_option($field);
177 177
 
178
-            if ( ! empty( $value ) ) {
179
-                $bank_info[ $field ] = array(
178
+            if (!empty($value)) {
179
+                $bank_info[$field] = array(
180 180
 					'label' => $label,
181 181
 					'value' => $value,
182 182
 				);
183 183
             }
184 184
 		}
185 185
 
186
-        $bank_info = apply_filters( 'wpinv_bank_info', $bank_info, $invoice );
186
+        $bank_info = apply_filters('wpinv_bank_info', $bank_info, $invoice);
187 187
 
188
-        if ( empty( $bank_info ) ) {
188
+        if (empty($bank_info)) {
189 189
             return;
190 190
         }
191 191
 
192
-		echo '<h3 class="getpaid-bank-transfer-title"> ' . esc_html( apply_filters( 'wpinv_receipt_bank_details_title', __( 'Bank Details', 'invoicing' ), $invoice ) ) . '</h3>' . PHP_EOL;
192
+		echo '<h3 class="getpaid-bank-transfer-title"> ' . esc_html(apply_filters('wpinv_receipt_bank_details_title', __('Bank Details', 'invoicing'), $invoice)) . '</h3>' . PHP_EOL;
193 193
 
194 194
 		echo '<table class="table table-bordered getpaid-bank-transfer-details">' . PHP_EOL;
195 195
 
196
-		foreach ( $bank_info as $key => $data ) {
197
-			echo "<tr class='getpaid-bank-transfer-" . esc_attr( $key ) . "'><th class='font-weight-bold'>" . wp_kses_post( $data['label'] ) . "</th><td class='w-75'>" . wp_kses_post( wptexturize( $data['value'] ) ) . '</td></tr>' . PHP_EOL;
196
+		foreach ($bank_info as $key => $data) {
197
+			echo "<tr class='getpaid-bank-transfer-" . esc_attr($key) . "'><th class='font-weight-bold'>" . wp_kses_post($data['label']) . "</th><td class='w-75'>" . wp_kses_post(wptexturize($data['value'])) . '</td></tr>' . PHP_EOL;
198 198
 		}
199 199
 
200 200
 		echo '</table>';
@@ -208,7 +208,7 @@  discard block
 block discarded – undo
208 208
 	 */
209 209
 	public function get_country_locale() {
210 210
 
211
-		if ( empty( $this->locale ) ) {
211
+		if (empty($this->locale)) {
212 212
 
213 213
 			// Locale information to be used - only those that are not 'Sort Code'.
214 214
 			$this->locale = apply_filters(
@@ -216,42 +216,42 @@  discard block
 block discarded – undo
216 216
 				array(
217 217
 					'AU' => array(
218 218
 						'sortcode' => array(
219
-							'label' => __( 'BSB', 'invoicing' ),
219
+							'label' => __('BSB', 'invoicing'),
220 220
 						),
221 221
 					),
222 222
 					'CA' => array(
223 223
 						'sortcode' => array(
224
-							'label' => __( 'Bank transit number', 'invoicing' ),
224
+							'label' => __('Bank transit number', 'invoicing'),
225 225
 						),
226 226
 					),
227 227
 					'IN' => array(
228 228
 						'sortcode' => array(
229
-							'label' => __( 'IFSC', 'invoicing' ),
229
+							'label' => __('IFSC', 'invoicing'),
230 230
 						),
231 231
 					),
232 232
 					'IT' => array(
233 233
 						'sortcode' => array(
234
-							'label' => __( 'Branch sort', 'invoicing' ),
234
+							'label' => __('Branch sort', 'invoicing'),
235 235
 						),
236 236
 					),
237 237
 					'NZ' => array(
238 238
 						'sortcode' => array(
239
-							'label' => __( 'Bank code', 'invoicing' ),
239
+							'label' => __('Bank code', 'invoicing'),
240 240
 						),
241 241
 					),
242 242
 					'SE' => array(
243 243
 						'sortcode' => array(
244
-							'label' => __( 'Bank code', 'invoicing' ),
244
+							'label' => __('Bank code', 'invoicing'),
245 245
 						),
246 246
 					),
247 247
 					'US' => array(
248 248
 						'sortcode' => array(
249
-							'label' => __( 'Routing number', 'invoicing' ),
249
+							'label' => __('Routing number', 'invoicing'),
250 250
 						),
251 251
 					),
252 252
 					'ZA' => array(
253 253
 						'sortcode' => array(
254
-							'label' => __( 'Branch code', 'invoicing' ),
254
+							'label' => __('Branch code', 'invoicing'),
255 255
 						),
256 256
 					),
257 257
 				)
@@ -268,51 +268,51 @@  discard block
 block discarded – undo
268 268
 	 *
269 269
 	 * @param array $admin_settings
270 270
 	 */
271
-	public function admin_settings( $admin_settings ) {
271
+	public function admin_settings($admin_settings) {
272 272
 
273
-        $admin_settings['bank_transfer_desc']['std']    = __( "Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing' );
274
-		$admin_settings['bank_transfer_active']['desc'] = __( 'Enable bank transfer', 'invoicing' );
273
+        $admin_settings['bank_transfer_desc']['std'] = __("Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing');
274
+		$admin_settings['bank_transfer_active']['desc'] = __('Enable bank transfer', 'invoicing');
275 275
 
276
-		$locale  = $this->get_country_locale();
276
+		$locale = $this->get_country_locale();
277 277
 
278 278
 		// Get sortcode label in the $locale array and use appropriate one.
279 279
 		$country  = wpinv_default_billing_country();
280
-		$sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
280
+		$sortcode = isset($locale[$country]['sortcode']['label']) ? $locale[$country]['sortcode']['label'] : __('Sort code', 'invoicing');
281 281
 
282 282
 		$admin_settings['bank_transfer_ac_name'] = array(
283 283
             'type' => 'text',
284 284
             'id'   => 'bank_transfer_ac_name',
285
-            'name' => __( 'Account Name', 'invoicing' ),
285
+            'name' => __('Account Name', 'invoicing'),
286 286
 		);
287 287
 
288 288
 		$admin_settings['bank_transfer_ac_no'] = array(
289 289
             'type' => 'text',
290 290
             'id'   => 'bank_transfer_ac_no',
291
-            'name' => __( 'Account Number', 'invoicing' ),
291
+            'name' => __('Account Number', 'invoicing'),
292 292
 		);
293 293
 
294 294
 		$admin_settings['bank_transfer_bank_name'] = array(
295 295
             'type' => 'text',
296 296
             'id'   => 'bank_transfer_bank_name',
297
-            'name' => __( 'Bank Name', 'invoicing' ),
297
+            'name' => __('Bank Name', 'invoicing'),
298 298
 		);
299 299
 
300 300
 		$admin_settings['bank_transfer_ifsc'] = array(
301 301
             'type' => 'text',
302 302
             'id'   => 'bank_transfer_ifsc',
303
-            'name' => __( 'IFSC Code', 'invoicing' ),
303
+            'name' => __('IFSC Code', 'invoicing'),
304 304
 		);
305 305
 
306 306
 		$admin_settings['bank_transfer_iban'] = array(
307 307
             'type' => 'text',
308 308
             'id'   => 'bank_transfer_iban',
309
-            'name' => __( 'IBAN', 'invoicing' ),
309
+            'name' => __('IBAN', 'invoicing'),
310 310
 		);
311 311
 
312 312
 		$admin_settings['bank_transfer_bic'] = array(
313 313
             'type' => 'text',
314 314
             'id'   => 'bank_transfer_bic',
315
-            'name' => __( 'BIC/Swift Code', 'invoicing' ),
315
+            'name' => __('BIC/Swift Code', 'invoicing'),
316 316
 		);
317 317
 
318 318
 		$admin_settings['bank_transfer_sort_code'] = array(
@@ -323,10 +323,10 @@  discard block
 block discarded – undo
323 323
 
324 324
 		$admin_settings['bank_transfer_info'] = array(
325 325
             'id'   => 'bank_transfer_info',
326
-            'name' => __( 'Instructions', 'invoicing' ),
327
-            'desc' => __( 'Instructions that will be added to the thank you page and emails.', 'invoicing' ),
326
+            'name' => __('Instructions', 'invoicing'),
327
+            'desc' => __('Instructions that will be added to the thank you page and emails.', 'invoicing'),
328 328
             'type' => 'textarea',
329
-            'std'  => __( "Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing' ),
329
+            'std'  => __("Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing'),
330 330
             'cols' => 50,
331 331
             'rows' => 5,
332 332
         );
@@ -341,10 +341,10 @@  discard block
 block discarded – undo
341 341
 	 * @param GetPaid_Form_Item[] $items
342 342
 	 * @return WPInv_Invoice
343 343
 	 */
344
-	public function process_addons( $invoice, $items ) {
344
+	public function process_addons($invoice, $items) {
345 345
 
346
-        foreach ( $items as $item ) {
347
-            $invoice->add_item( $item );
346
+        foreach ($items as $item) {
347
+            $invoice->add_item($item);
348 348
         }
349 349
 
350 350
         $invoice->recalculate_total();
@@ -357,25 +357,25 @@  discard block
 block discarded – undo
357 357
 	 *
358 358
 	 * @param WPInv_Subscription $subscription
359 359
 	 */
360
-	public function maybe_renew_subscription( $subscription, $parent_invoice ) {
360
+	public function maybe_renew_subscription($subscription, $parent_invoice) {
361 361
 		// Ensure its our subscription && it's active.
362
-		if ( ! empty( $parent_invoice ) && $this->id === $parent_invoice->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
363
-			add_filter( 'getpaid_invoice_notifications_is_payment_form_invoice', array( $this, 'force_is_payment_form_invoice' ), 10, 2 );
362
+		if (!empty($parent_invoice) && $this->id === $parent_invoice->get_gateway() && $subscription->has_status('active trialling')) {
363
+			add_filter('getpaid_invoice_notifications_is_payment_form_invoice', array($this, 'force_is_payment_form_invoice'), 10, 2);
364 364
 
365 365
 			$invoice = $subscription->create_payment();
366 366
 
367
-			if ( ! empty( $invoice ) ) {
367
+			if (!empty($invoice)) {
368 368
 				$is_logged_in = is_user_logged_in();
369 369
 
370 370
 				// Cron run.
371
-				if ( ! $is_logged_in ) {
372
-					$note = wp_sprintf( __( 'Renewal %1$s created with the status "%2$s".', 'invoicing' ), $invoice->get_invoice_quote_type(), wpinv_status_nicename( $invoice->get_status(), $invoice ) );
371
+				if (!$is_logged_in) {
372
+					$note = wp_sprintf(__('Renewal %1$s created with the status "%2$s".', 'invoicing'), $invoice->get_invoice_quote_type(), wpinv_status_nicename($invoice->get_status(), $invoice));
373 373
 
374
-					$invoice->add_note( $note, false, $is_logged_in, ! $is_logged_in );
374
+					$invoice->add_note($note, false, $is_logged_in, !$is_logged_in);
375 375
 				}
376 376
 			}
377 377
 
378
-			remove_filter( 'getpaid_invoice_notifications_is_payment_form_invoice', array( $this, 'force_is_payment_form_invoice' ), 10, 2 );
378
+			remove_filter('getpaid_invoice_notifications_is_payment_form_invoice', array($this, 'force_is_payment_form_invoice'), 10, 2);
379 379
 		}
380 380
 	}
381 381
 
@@ -385,42 +385,42 @@  discard block
 block discarded – undo
385 385
 	 *
386 386
      * @param WPInv_Invoice $invoice
387 387
 	 */
388
-	public function invoice_paid( $invoice ) {
388
+	public function invoice_paid($invoice) {
389 389
 
390 390
 		// Abort if not paid by bank transfer.
391
-		if ( $this->id !== $invoice->get_gateway() || ! $invoice->is_recurring() ) {
391
+		if ($this->id !== $invoice->get_gateway() || !$invoice->is_recurring()) {
392 392
 			return;
393 393
 		}
394 394
 
395 395
 		// Is it a parent payment?
396
-		if ( 0 == $invoice->get_parent_id() ) {
396
+		if (0 == $invoice->get_parent_id()) {
397 397
 
398 398
 			// (Maybe) activate subscriptions.
399
-			$subscriptions = getpaid_get_invoice_subscriptions( $invoice );
399
+			$subscriptions = getpaid_get_invoice_subscriptions($invoice);
400 400
 
401
-			if ( ! empty( $subscriptions ) ) {
402
-				$subscriptions = is_array( $subscriptions ) ? $subscriptions : array( $subscriptions );
401
+			if (!empty($subscriptions)) {
402
+				$subscriptions = is_array($subscriptions) ? $subscriptions : array($subscriptions);
403 403
 
404
-				foreach ( $subscriptions as $subscription ) {
405
-					if ( $subscription->exists() ) {
406
-						$duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() );
407
-						$expiry   = gmdate( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) );
404
+				foreach ($subscriptions as $subscription) {
405
+					if ($subscription->exists()) {
406
+						$duration = strtotime($subscription->get_expiration()) - strtotime($subscription->get_date_created());
407
+						$expiry   = gmdate('Y-m-d H:i:s', (current_time('timestamp') + $duration));
408 408
 
409
-						$subscription->set_next_renewal_date( $expiry );
410
-						$subscription->set_date_created( current_time( 'mysql' ) );
411
-						$subscription->set_profile_id( 'bt_sub_' . $invoice->get_id() . '_' . $subscription->get_id() );
409
+						$subscription->set_next_renewal_date($expiry);
410
+						$subscription->set_date_created(current_time('mysql'));
411
+						$subscription->set_profile_id('bt_sub_' . $invoice->get_id() . '_' . $subscription->get_id());
412 412
 						$subscription->activate();
413 413
 					}
414 414
 				}
415 415
 			}
416 416
 		} else {
417 417
 
418
-			$subscription = getpaid_get_subscription( $invoice->get_subscription_id() );
418
+			$subscription = getpaid_get_subscription($invoice->get_subscription_id());
419 419
 
420 420
 			// Renew the subscription.
421
-			if ( $subscription && $subscription->exists() ) {
422
-				$subscription->add_payment( array(), $invoice );
423
-				$subscription->renew( strtotime( $invoice->get_date_created() ) );
421
+			if ($subscription && $subscription->exists()) {
422
+				$subscription->add_payment(array(), $invoice);
423
+				$subscription->renew(strtotime($invoice->get_date_created()));
424 424
 			}
425 425
 		}
426 426
 
@@ -435,8 +435,8 @@  discard block
 block discarded – undo
435 435
 	 * @param int  $invoice Invoice ID.
436 436
 	 * @return bool True when invoice created via payment form else false.
437 437
 	 */
438
-	public function force_is_payment_form_invoice( $is_payment_form_invoice, $invoice ) {
439
-		if ( $is_payment_form_invoice ) {
438
+	public function force_is_payment_form_invoice($is_payment_form_invoice, $invoice) {
439
+		if ($is_payment_form_invoice) {
440 440
 			$is_payment_form_invoice = false;
441 441
 		}
442 442
 
Please login to merge, or discard this patch.
includes/gateways/class-getpaid-manual-gateway.php 2 patches
Indentation   +52 added lines, -52 removed lines patch added patch discarded remove patch
@@ -13,17 +13,17 @@  discard block
 block discarded – undo
13 13
 class GetPaid_Manual_Gateway extends GetPaid_Payment_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 = 'manual';
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
         'addons',
@@ -34,16 +34,16 @@  discard block
 block discarded – undo
34 34
     );
35 35
 
36 36
     /**
37
-	 * Payment method order.
38
-	 *
39
-	 * @var int
40
-	 */
41
-	public $order = 11;
37
+     * Payment method order.
38
+     *
39
+     * @var int
40
+     */
41
+    public $order = 11;
42 42
 
43 43
     /**
44
-	 * Class constructor.
45
-	 */
46
-	public function __construct() {
44
+     * Class constructor.
45
+     */
46
+    public function __construct() {
47 47
         parent::__construct();
48 48
 
49 49
         $this->title        = __( 'Test Gateway', 'invoicing' );
@@ -53,15 +53,15 @@  discard block
 block discarded – undo
53 53
     }
54 54
 
55 55
     /**
56
-	 * Process Payment.
57
-	 *
58
-	 *
59
-	 * @param WPInv_Invoice $invoice Invoice.
60
-	 * @param array $submission_data Posted checkout fields.
61
-	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
62
-	 * @return array
63
-	 */
64
-	public function process_payment( $invoice, $submission_data, $submission ) {
56
+     * Process Payment.
57
+     *
58
+     *
59
+     * @param WPInv_Invoice $invoice Invoice.
60
+     * @param array $submission_data Posted checkout fields.
61
+     * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
62
+     * @return array
63
+     */
64
+    public function process_payment( $invoice, $submission_data, $submission ) {
65 65
 
66 66
         // Mark it as paid.
67 67
         $invoice->mark_paid();
@@ -90,35 +90,35 @@  discard block
 block discarded – undo
90 90
 
91 91
     }
92 92
 
93
-	/**
94
-	 * (Maybe) renews a manual subscription profile.
95
-	 *
96
-	 *
97
-	 * @param WPInv_Subscription $subscription
98
-	 */
99
-	public function maybe_renew_subscription( $subscription, $parent_invoice ) {
100
-		// Ensure its our subscription && it's active.
101
-		if ( ! empty( $parent_invoice ) && $this->id === $parent_invoice->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
102
-			// Renew the subscription.
103
-			$subscription->add_payment(
104
-				array(
105
-					'transaction_id' => $subscription->get_parent_payment()->generate_key(),
106
-					'gateway'        => $this->id,
107
-				)
108
-			);
109
-
110
-			$subscription->renew();
111
-		}
112
-	}
93
+    /**
94
+     * (Maybe) renews a manual subscription profile.
95
+     *
96
+     *
97
+     * @param WPInv_Subscription $subscription
98
+     */
99
+    public function maybe_renew_subscription( $subscription, $parent_invoice ) {
100
+        // Ensure its our subscription && it's active.
101
+        if ( ! empty( $parent_invoice ) && $this->id === $parent_invoice->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
102
+            // Renew the subscription.
103
+            $subscription->add_payment(
104
+                array(
105
+                    'transaction_id' => $subscription->get_parent_payment()->generate_key(),
106
+                    'gateway'        => $this->id,
107
+                )
108
+            );
109
+
110
+            $subscription->renew();
111
+        }
112
+    }
113 113
 
114 114
     /**
115
-	 * Processes invoice addons.
116
-	 *
117
-	 * @param WPInv_Invoice $invoice
118
-	 * @param GetPaid_Form_Item[] $items
119
-	 * @return WPInv_Invoice
120
-	 */
121
-	public function process_addons( $invoice, $items ) {
115
+     * Processes invoice addons.
116
+     *
117
+     * @param WPInv_Invoice $invoice
118
+     * @param GetPaid_Form_Item[] $items
119
+     * @return WPInv_Invoice
120
+     */
121
+    public function process_addons( $invoice, $items ) {
122 122
 
123 123
         foreach ( $items as $item ) {
124 124
             $invoice->add_item( $item );
Please login to merge, or discard this patch.
Spacing   +21 added lines, -21 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
  * Manual Payment Gateway class.
@@ -46,10 +46,10 @@  discard block
 block discarded – undo
46 46
 	public function __construct() {
47 47
         parent::__construct();
48 48
 
49
-        $this->title        = __( 'Test Gateway', 'invoicing' );
50
-        $this->method_title = __( 'Test Gateway', 'invoicing' );
49
+        $this->title        = __('Test Gateway', 'invoicing');
50
+        $this->method_title = __('Test Gateway', 'invoicing');
51 51
 
52
-        add_action( 'getpaid_should_renew_subscription', array( $this, 'maybe_renew_subscription' ), 10, 2 );
52
+        add_action('getpaid_should_renew_subscription', array($this, 'maybe_renew_subscription'), 10, 2);
53 53
     }
54 54
 
55 55
     /**
@@ -61,32 +61,32 @@  discard block
 block discarded – undo
61 61
 	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
62 62
 	 * @return array
63 63
 	 */
64
-	public function process_payment( $invoice, $submission_data, $submission ) {
64
+	public function process_payment($invoice, $submission_data, $submission) {
65 65
 
66 66
         // Mark it as paid.
67 67
         $invoice->mark_paid();
68 68
 
69 69
         // (Maybe) activate subscriptions.
70
-        $subscriptions = getpaid_get_invoice_subscriptions( $invoice );
70
+        $subscriptions = getpaid_get_invoice_subscriptions($invoice);
71 71
 
72
-        if ( ! empty( $subscriptions ) ) {
73
-            $subscriptions = is_array( $subscriptions ) ? $subscriptions : array( $subscriptions );
72
+        if (!empty($subscriptions)) {
73
+            $subscriptions = is_array($subscriptions) ? $subscriptions : array($subscriptions);
74 74
 
75
-            foreach ( $subscriptions as $subscription ) {
76
-                if ( $subscription->exists() ) {
77
-                    $duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() );
78
-                    $expiry   = gmdate( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) );
75
+            foreach ($subscriptions as $subscription) {
76
+                if ($subscription->exists()) {
77
+                    $duration = strtotime($subscription->get_expiration()) - strtotime($subscription->get_date_created());
78
+                    $expiry   = gmdate('Y-m-d H:i:s', (current_time('timestamp') + $duration));
79 79
 
80
-                    $subscription->set_next_renewal_date( $expiry );
81
-                    $subscription->set_date_created( current_time( 'mysql' ) );
82
-                    $subscription->set_profile_id( $invoice->generate_key( 'manual_sub_' . $invoice->get_id() . '_' . $subscription->get_id() ) );
80
+                    $subscription->set_next_renewal_date($expiry);
81
+                    $subscription->set_date_created(current_time('mysql'));
82
+                    $subscription->set_profile_id($invoice->generate_key('manual_sub_' . $invoice->get_id() . '_' . $subscription->get_id()));
83 83
                     $subscription->activate();
84 84
                 }
85 85
             }
86 86
         }
87 87
 
88 88
         // Send to the success page.
89
-        wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
89
+        wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key()));
90 90
 
91 91
     }
92 92
 
@@ -96,9 +96,9 @@  discard block
 block discarded – undo
96 96
 	 *
97 97
 	 * @param WPInv_Subscription $subscription
98 98
 	 */
99
-	public function maybe_renew_subscription( $subscription, $parent_invoice ) {
99
+	public function maybe_renew_subscription($subscription, $parent_invoice) {
100 100
 		// Ensure its our subscription && it's active.
101
-		if ( ! empty( $parent_invoice ) && $this->id === $parent_invoice->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
101
+		if (!empty($parent_invoice) && $this->id === $parent_invoice->get_gateway() && $subscription->has_status('active trialling')) {
102 102
 			// Renew the subscription.
103 103
 			$subscription->add_payment(
104 104
 				array(
@@ -118,10 +118,10 @@  discard block
 block discarded – undo
118 118
 	 * @param GetPaid_Form_Item[] $items
119 119
 	 * @return WPInv_Invoice
120 120
 	 */
121
-	public function process_addons( $invoice, $items ) {
121
+	public function process_addons($invoice, $items) {
122 122
 
123
-        foreach ( $items as $item ) {
124
-            $invoice->add_item( $item );
123
+        foreach ($items as $item) {
124
+            $invoice->add_item($item);
125 125
         }
126 126
 
127 127
         $invoice->recalculate_total();
Please login to merge, or discard this patch.
includes/gateways/class-getpaid-authorize-net-gateway.php 2 patches
Indentation   +237 added lines, -237 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,34 +695,34 @@  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
-	 *
707
-	 * @param WPInv_Subscription $subscription
708
-	 */
709
-	public function maybe_renew_subscription( $subscription, $parent_invoice ) {
710
-		// Ensure its our subscription && it's active.
711
-		if ( ! empty( $parent_invoice ) && $this->id === $parent_invoice->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
712
-			$this->renew_subscription( $subscription );
713
-		}
714
-	}
703
+    /**
704
+     * (Maybe) renews an authorize.net subscription profile.
705
+     *
706
+     *
707
+     * @param WPInv_Subscription $subscription
708
+     */
709
+    public function maybe_renew_subscription( $subscription, $parent_invoice ) {
710
+        // Ensure its our subscription && it's active.
711
+        if ( ! empty( $parent_invoice ) && $this->id === $parent_invoice->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
712
+            $this->renew_subscription( $subscription );
713
+        }
714
+    }
715 715
 
716 716
     /**
717
-	 * Renews a subscription.
718
-	 *
717
+     * Renews a subscription.
718
+     *
719 719
      * @param WPInv_Subscription $subscription
720
-	 */
721
-	public function renew_subscription( $subscription ) {
720
+     */
721
+    public function renew_subscription( $subscription ) {
722 722
 
723
-		// Generate the renewal invoice.
724
-		$new_invoice = $subscription->create_payment();
725
-		$old_invoice = $subscription->get_parent_payment();
723
+        // Generate the renewal invoice.
724
+        $new_invoice = $subscription->create_payment();
725
+        $old_invoice = $subscription->get_parent_payment();
726 726
 
727 727
         if ( empty( $new_invoice ) ) {
728 728
             $old_invoice->add_note( __( 'Error generating a renewal invoice.', 'invoicing' ), false, false, false );
@@ -731,37 +731,37 @@  discard block
 block discarded – undo
731 731
         }
732 732
 
733 733
         // Charge the payment method.
734
-		$payment_profile_id = get_post_meta( $old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
735
-		$customer_profile   = get_user_meta( $old_invoice->get_user_id(), $this->get_customer_profile_meta_name( $old_invoice ), true );
736
-		$result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $new_invoice );
737
-
738
-		// Do we have an error?
739
-		if ( is_wp_error( $result ) ) {
740
-
741
-			$old_invoice->add_note(
742
-				sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), $result->get_error_message() ),
743
-				true,
744
-				false,
745
-				true
746
-			);
747
-			$subscription->failing();
748
-			return;
749
-
750
-		}
751
-
752
-		// Process the response.
753
-		$this->process_charge_response( $result, $new_invoice );
754
-
755
-		if ( wpinv_get_errors() ) {
756
-
757
-			$old_invoice->add_note(
758
-				sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), getpaid_get_errors_html() ),
759
-				true,
760
-				false,
761
-				true
762
-			);
763
-			$subscription->failing();
764
-			return;
734
+        $payment_profile_id = get_post_meta( $old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
735
+        $customer_profile   = get_user_meta( $old_invoice->get_user_id(), $this->get_customer_profile_meta_name( $old_invoice ), true );
736
+        $result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $new_invoice );
737
+
738
+        // Do we have an error?
739
+        if ( is_wp_error( $result ) ) {
740
+
741
+            $old_invoice->add_note(
742
+                sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), $result->get_error_message() ),
743
+                true,
744
+                false,
745
+                true
746
+            );
747
+            $subscription->failing();
748
+            return;
749
+
750
+        }
751
+
752
+        // Process the response.
753
+        $this->process_charge_response( $result, $new_invoice );
754
+
755
+        if ( wpinv_get_errors() ) {
756
+
757
+            $old_invoice->add_note(
758
+                sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), getpaid_get_errors_html() ),
759
+                true,
760
+                false,
761
+                true
762
+            );
763
+            $subscription->failing();
764
+            return;
765 765
 
766 766
         }
767 767
 
@@ -774,13 +774,13 @@  discard block
 block discarded – undo
774 774
     }
775 775
 
776 776
     /**
777
-	 * Processes invoice addons.
778
-	 *
779
-	 * @param WPInv_Invoice $invoice
780
-	 * @param GetPaid_Form_Item[] $items
781
-	 * @return WPInv_Invoice
782
-	 */
783
-	public function process_addons( $invoice, $items ) {
777
+     * Processes invoice addons.
778
+     *
779
+     * @param WPInv_Invoice $invoice
780
+     * @param GetPaid_Form_Item[] $items
781
+     * @return WPInv_Invoice
782
+     */
783
+    public function process_addons( $invoice, $items ) {
784 784
 
785 785
         global $getpaid_authorize_addons;
786 786
 
@@ -799,7 +799,7 @@  discard block
 block discarded – undo
799 799
         $invoice->recalculate_total();
800 800
 
801 801
         $payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
802
-		$customer_profile   = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
802
+        $customer_profile   = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
803 803
 
804 804
         add_filter( 'getpaid_authorizenet_charge_customer_payment_profile_args', array( $this, 'filter_addons_request' ), 10, 2 );
805 805
         $result = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice );
@@ -814,11 +814,11 @@  discard block
 block discarded – undo
814 814
     }
815 815
 
816 816
     /**
817
-	 * Processes invoice addons.
818
-	 *
817
+     * Processes invoice addons.
818
+     *
819 819
      * @param array $args
820
-	 * @return array
821
-	 */
820
+     * @return array
821
+     */
822 822
     public function filter_addons_request( $args ) {
823 823
 
824 824
         global $getpaid_authorize_addons;
@@ -852,11 +852,11 @@  discard block
 block discarded – undo
852 852
     }
853 853
 
854 854
     /**
855
-	 * Filters the gateway settings.
856
-	 *
857
-	 * @param array $admin_settings
858
-	 */
859
-	public function admin_settings( $admin_settings ) {
855
+     * Filters the gateway settings.
856
+     *
857
+     * @param array $admin_settings
858
+     */
859
+    public function admin_settings( $admin_settings ) {
860 860
 
861 861
         $currencies = sprintf(
862 862
             __( 'Supported Currencies: %s', 'invoicing' ),
@@ -896,7 +896,7 @@  discard block
 block discarded – undo
896 896
             'readonly' => true,
897 897
         );
898 898
 
899
-		return $admin_settings;
900
-	}
899
+        return $admin_settings;
900
+    }
901 901
 
902 902
 }
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' ), 11, 2 );
83
-        add_filter( 'getpaid_authorizenet_sandbox_notice', array( $this, 'sandbox_notice' ) );
82
+        add_action('getpaid_should_renew_subscription', array($this, 'maybe_renew_subscription'), 11, 2);
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,10 +706,10 @@  discard block
 block discarded – undo
706 706
 	 *
707 707
 	 * @param WPInv_Subscription $subscription
708 708
 	 */
709
-	public function maybe_renew_subscription( $subscription, $parent_invoice ) {
709
+	public function maybe_renew_subscription($subscription, $parent_invoice) {
710 710
 		// Ensure its our subscription && it's active.
711
-		if ( ! empty( $parent_invoice ) && $this->id === $parent_invoice->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
712
-			$this->renew_subscription( $subscription );
711
+		if (!empty($parent_invoice) && $this->id === $parent_invoice->get_gateway() && $subscription->has_status('active trialling')) {
712
+			$this->renew_subscription($subscription);
713 713
 		}
714 714
 	}
715 715
 
@@ -718,28 +718,28 @@  discard block
 block discarded – undo
718 718
 	 *
719 719
      * @param WPInv_Subscription $subscription
720 720
 	 */
721
-	public function renew_subscription( $subscription ) {
721
+	public function renew_subscription($subscription) {
722 722
 
723 723
 		// Generate the renewal invoice.
724 724
 		$new_invoice = $subscription->create_payment();
725 725
 		$old_invoice = $subscription->get_parent_payment();
726 726
 
727
-        if ( empty( $new_invoice ) ) {
728
-            $old_invoice->add_note( __( 'Error generating a renewal invoice.', 'invoicing' ), false, false, false );
727
+        if (empty($new_invoice)) {
728
+            $old_invoice->add_note(__('Error generating a renewal invoice.', 'invoicing'), false, false, false);
729 729
             $subscription->failing();
730 730
             return;
731 731
         }
732 732
 
733 733
         // Charge the payment method.
734
-		$payment_profile_id = get_post_meta( $old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
735
-		$customer_profile   = get_user_meta( $old_invoice->get_user_id(), $this->get_customer_profile_meta_name( $old_invoice ), true );
736
-		$result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $new_invoice );
734
+		$payment_profile_id = get_post_meta($old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true);
735
+		$customer_profile   = get_user_meta($old_invoice->get_user_id(), $this->get_customer_profile_meta_name($old_invoice), true);
736
+		$result             = $this->charge_customer_payment_profile($customer_profile, $payment_profile_id, $new_invoice);
737 737
 
738 738
 		// Do we have an error?
739
-		if ( is_wp_error( $result ) ) {
739
+		if (is_wp_error($result)) {
740 740
 
741 741
 			$old_invoice->add_note(
742
-				sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), $result->get_error_message() ),
742
+				sprintf(__('Error renewing subscription : ( %s ).', 'invoicing'), $result->get_error_message()),
743 743
 				true,
744 744
 				false,
745 745
 				true
@@ -750,12 +750,12 @@  discard block
 block discarded – undo
750 750
 		}
751 751
 
752 752
 		// Process the response.
753
-		$this->process_charge_response( $result, $new_invoice );
753
+		$this->process_charge_response($result, $new_invoice);
754 754
 
755
-		if ( wpinv_get_errors() ) {
755
+		if (wpinv_get_errors()) {
756 756
 
757 757
 			$old_invoice->add_note(
758
-				sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), getpaid_get_errors_html() ),
758
+				sprintf(__('Error renewing subscription : ( %s ).', 'invoicing'), getpaid_get_errors_html()),
759 759
 				true,
760 760
 				false,
761 761
 				true
@@ -765,9 +765,9 @@  discard block
 block discarded – undo
765 765
 
766 766
         }
767 767
 
768
-        if ( ! $new_invoice->needs_payment() ) {
768
+        if (!$new_invoice->needs_payment()) {
769 769
             $subscription->renew();
770
-            $subscription->after_add_payment( $new_invoice );
770
+            $subscription->after_add_payment($new_invoice);
771 771
         } else {
772 772
             $subscription->failing();
773 773
         }
@@ -780,33 +780,33 @@  discard block
 block discarded – undo
780 780
 	 * @param GetPaid_Form_Item[] $items
781 781
 	 * @return WPInv_Invoice
782 782
 	 */
783
-	public function process_addons( $invoice, $items ) {
783
+	public function process_addons($invoice, $items) {
784 784
 
785 785
         global $getpaid_authorize_addons;
786 786
 
787 787
         $getpaid_authorize_addons = array();
788
-        foreach ( $items as $item ) {
788
+        foreach ($items as $item) {
789 789
 
790
-            if ( is_null( $invoice->get_item( $item->get_id() ) ) && ! is_wp_error( $invoice->add_item( $item ) ) ) {
790
+            if (is_null($invoice->get_item($item->get_id())) && !is_wp_error($invoice->add_item($item))) {
791 791
                 $getpaid_authorize_addons[] = $item;
792 792
             }
793 793
 }
794 794
 
795
-        if ( empty( $getpaid_authorize_addons ) ) {
795
+        if (empty($getpaid_authorize_addons)) {
796 796
             return;
797 797
         }
798 798
 
799 799
         $invoice->recalculate_total();
800 800
 
801
-        $payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
802
-		$customer_profile   = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
801
+        $payment_profile_id = get_post_meta($invoice->get_id(), 'getpaid_authorizenet_profile_id', true);
802
+		$customer_profile = get_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), true);
803 803
 
804
-        add_filter( 'getpaid_authorizenet_charge_customer_payment_profile_args', array( $this, 'filter_addons_request' ), 10, 2 );
805
-        $result = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice );
806
-        remove_filter( 'getpaid_authorizenet_charge_customer_payment_profile_args', array( $this, 'filter_addons_request' ) );
804
+        add_filter('getpaid_authorizenet_charge_customer_payment_profile_args', array($this, 'filter_addons_request'), 10, 2);
805
+        $result = $this->charge_customer_payment_profile($customer_profile, $payment_profile_id, $invoice);
806
+        remove_filter('getpaid_authorizenet_charge_customer_payment_profile_args', array($this, 'filter_addons_request'));
807 807
 
808
-        if ( is_wp_error( $result ) ) {
809
-            wpinv_set_error( $result->get_error_code(), $result->get_error_message() );
808
+        if (is_wp_error($result)) {
809
+            wpinv_set_error($result->get_error_code(), $result->get_error_message());
810 810
             return;
811 811
         }
812 812
 
@@ -819,19 +819,19 @@  discard block
 block discarded – undo
819 819
      * @param array $args
820 820
 	 * @return array
821 821
 	 */
822
-    public function filter_addons_request( $args ) {
822
+    public function filter_addons_request($args) {
823 823
 
824 824
         global $getpaid_authorize_addons;
825 825
         $total = 0;
826 826
 
827
-        foreach ( $getpaid_authorize_addons as $addon ) {
827
+        foreach ($getpaid_authorize_addons as $addon) {
828 828
             $total += $addon->get_sub_total();
829 829
         }
830 830
 
831 831
         $args['createTransactionRequest']['transactionRequest']['amount'] = $total;
832 832
 
833
-        if ( isset( $args['createTransactionRequest']['transactionRequest']['tax'] ) ) {
834
-            unset( $args['createTransactionRequest']['transactionRequest']['tax'] );
833
+        if (isset($args['createTransactionRequest']['transactionRequest']['tax'])) {
834
+            unset($args['createTransactionRequest']['transactionRequest']['tax']);
835 835
         }
836 836
 
837 837
         return $args;
@@ -844,7 +844,7 @@  discard block
 block discarded – undo
844 844
     public function sandbox_notice() {
845 845
 
846 846
         return sprintf(
847
-            __( 'SANDBOX ENABLED. You can use sandbox testing details only. See the %1$sAuthorize.NET Sandbox Testing Guide%2$s for more details.', 'invoicing' ),
847
+            __('SANDBOX ENABLED. You can use sandbox testing details only. See the %1$sAuthorize.NET Sandbox Testing Guide%2$s for more details.', 'invoicing'),
848 848
             '<a href="https://developer.authorize.net/hello_world/testing_guide.html">',
849 849
             '</a>'
850 850
         );
@@ -856,42 +856,42 @@  discard block
 block discarded – undo
856 856
 	 *
857 857
 	 * @param array $admin_settings
858 858
 	 */
859
-	public function admin_settings( $admin_settings ) {
859
+	public function admin_settings($admin_settings) {
860 860
 
861 861
         $currencies = sprintf(
862
-            __( 'Supported Currencies: %s', 'invoicing' ),
863
-            implode( ', ', $this->currencies )
862
+            __('Supported Currencies: %s', 'invoicing'),
863
+            implode(', ', $this->currencies)
864 864
         );
865 865
 
866 866
         $admin_settings['authorizenet_active']['desc'] .= " ($currencies)";
867
-        $admin_settings['authorizenet_desc']['std']     = __( 'Pay securely using your credit or debit card.', 'invoicing' );
867
+        $admin_settings['authorizenet_desc']['std']     = __('Pay securely using your credit or debit card.', 'invoicing');
868 868
 
869 869
         $admin_settings['authorizenet_login_id'] = array(
870 870
             'type' => 'text',
871 871
             'id'   => 'authorizenet_login_id',
872
-            'name' => __( 'API Login ID', 'invoicing' ),
873
-            'desc' => '<a href="https://support.authorize.net/knowledgebase/Knowledgearticle/?code=000001271"><em>' . __( 'How do I obtain my API Login ID and Transaction Key?', 'invoicing' ) . '</em></a>',
872
+            'name' => __('API Login ID', 'invoicing'),
873
+            'desc' => '<a href="https://support.authorize.net/knowledgebase/Knowledgearticle/?code=000001271"><em>' . __('How do I obtain my API Login ID and Transaction Key?', 'invoicing') . '</em></a>',
874 874
         );
875 875
 
876 876
         $admin_settings['authorizenet_transaction_key'] = array(
877 877
             'type' => 'text',
878 878
             'id'   => 'authorizenet_transaction_key',
879
-            'name' => __( 'Transaction Key', 'invoicing' ),
879
+            'name' => __('Transaction Key', 'invoicing'),
880 880
         );
881 881
 
882 882
         $admin_settings['authorizenet_signature_key'] = array(
883 883
             'type' => 'text',
884 884
             'id'   => 'authorizenet_signature_key',
885
-            'name' => __( 'Signature Key', 'invoicing' ),
886
-            'desc' => '<a href="https://support.authorize.net/knowledgebase/Knowledgearticle/?code=000001271"><em>' . __( 'Learn more.', 'invoicing' ) . '</em></a>',
885
+            'name' => __('Signature Key', 'invoicing'),
886
+            'desc' => '<a href="https://support.authorize.net/knowledgebase/Knowledgearticle/?code=000001271"><em>' . __('Learn more.', 'invoicing') . '</em></a>',
887 887
         );
888 888
 
889 889
         $admin_settings['authorizenet_ipn_url'] = array(
890 890
             'type'     => 'ipn_url',
891 891
             'id'       => 'authorizenet_ipn_url',
892
-            'name'     => __( 'Webhook URL', 'invoicing' ),
892
+            'name'     => __('Webhook URL', 'invoicing'),
893 893
             'std'      => $this->notify_url,
894
-            '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/knowledgebase/Knowledgearticle/?code=000001542"><em>' . __( 'Learn more.', 'invoicing' ) . '</em></a>',
894
+            '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/knowledgebase/Knowledgearticle/?code=000001542"><em>' . __('Learn more.', 'invoicing') . '</em></a>',
895 895
             'custom'   => 'authorizenet',
896 896
             'readonly' => true,
897 897
         );
Please login to merge, or discard this patch.
templates/emails/invoice-item.php 2 patches
Indentation   +46 added lines, -46 removed lines patch added patch discarded remove patch
@@ -18,63 +18,63 @@
 block discarded – undo
18 18
 	<?php foreach ( array_keys( $columns ) as $column ) : ?>
19 19
 	<td class="<?php echo 'name' == $column ? 'text-left' : 'text-right'; ?> wpinv_cart_item_<?php echo esc_attr( $column ); ?>">
20 20
 		<?php
21
-		// Fires before printing a line item column.
22
-		do_action( "getpaid_email_line_item_before_$column", $item, $invoice );
21
+        // Fires before printing a line item column.
22
+        do_action( "getpaid_email_line_item_before_$column", $item, $invoice );
23 23
 
24
-		// Item name.
25
-		if ( 'name' == $column ) {
26
-			$has_featured_image = has_post_thumbnail( $item->get_id() );
24
+        // Item name.
25
+        if ( 'name' == $column ) {
26
+            $has_featured_image = has_post_thumbnail( $item->get_id() );
27 27
 
28
-			if ( $has_featured_image ) {
29
-				echo '<div class="getpaid-email-item-image-wrap" style="min-height:80px">';
30
-					echo '<div class="getpaid-email-image-wrap" style="display:inline-block;width:80px;height:80px;">';
31
-						echo get_the_post_thumbnail( $item->get_id(), array( 75, 75 ), array( 'class' => 'wpinv-email-item-image' ) );
32
-					echo '</div>';
33
-					echo '<div class="getpaid-email-item-name-wrap" style="display:inline-block;vertical-align:top;max-width:360px;">';
34
-			}
28
+            if ( $has_featured_image ) {
29
+                echo '<div class="getpaid-email-item-image-wrap" style="min-height:80px">';
30
+                    echo '<div class="getpaid-email-image-wrap" style="display:inline-block;width:80px;height:80px;">';
31
+                        echo get_the_post_thumbnail( $item->get_id(), array( 75, 75 ), array( 'class' => 'wpinv-email-item-image' ) );
32
+                    echo '</div>';
33
+                    echo '<div class="getpaid-email-item-name-wrap" style="display:inline-block;vertical-align:top;max-width:360px;">';
34
+            }
35 35
 
36
-			// Display the name.
37
-			echo '<div class="wpinv_email_cart_item_title">' . esc_html( $item->get_name() ) . '</div>';
36
+            // Display the name.
37
+            echo '<div class="wpinv_email_cart_item_title">' . esc_html( $item->get_name() ) . '</div>';
38 38
 
39
-			// And an optional description.
40
-			$description = $item->get_description();
39
+            // And an optional description.
40
+            $description = $item->get_description();
41 41
 
42
-			if ( ! empty( $description ) ) {
43
-				echo "<p class='small'>" . wp_kses_post( $description ) . "</p>";
44
-			}
42
+            if ( ! empty( $description ) ) {
43
+                echo "<p class='small'>" . wp_kses_post( $description ) . "</p>";
44
+            }
45 45
 
46
-			if ( $has_featured_image ) {
47
-					echo '</div>';
48
-				echo '</div>';
49
-			}
50
-		}
46
+            if ( $has_featured_image ) {
47
+                    echo '</div>';
48
+                echo '</div>';
49
+            }
50
+        }
51 51
 
52
-		// Item price.
53
-		if ( 'price' == $column ) {
54
-			// Display the item price (or recurring price if this is a renewal invoice)
55
-			$price = $invoice->is_renewal() ? $item->get_price() : $item->get_initial_price();
56
-			wpinv_the_price( $price, $invoice->get_currency() );
57
-		}
52
+        // Item price.
53
+        if ( 'price' == $column ) {
54
+            // Display the item price (or recurring price if this is a renewal invoice)
55
+            $price = $invoice->is_renewal() ? $item->get_price() : $item->get_initial_price();
56
+            wpinv_the_price( $price, $invoice->get_currency() );
57
+        }
58 58
 
59
-		// Item quantity.
60
-		if ( 'quantity' == $column ) {
61
-			echo (float) $item->get_quantity();
62
-		}
59
+        // Item quantity.
60
+        if ( 'quantity' == $column ) {
61
+            echo (float) $item->get_quantity();
62
+        }
63 63
 
64
-		// Tax rate.
65
-		if ( 'tax_rate' == $column ) {
66
-			echo floatval( round( getpaid_get_invoice_tax_rate( $invoice, $item ), 2 ) ) . '%';
67
-		}
64
+        // Tax rate.
65
+        if ( 'tax_rate' == $column ) {
66
+            echo floatval( round( getpaid_get_invoice_tax_rate( $invoice, $item ), 2 ) ) . '%';
67
+        }
68 68
 
69
-		// Item sub total.
70
-		if ( 'subtotal' == $column ) {
71
-			$subtotal = $invoice->is_renewal() ? $item->get_recurring_sub_total() : $item->get_sub_total();
72
-			wpinv_the_price( $subtotal, $invoice->get_currency() );
73
-		}
69
+        // Item sub total.
70
+        if ( 'subtotal' == $column ) {
71
+            $subtotal = $invoice->is_renewal() ? $item->get_recurring_sub_total() : $item->get_sub_total();
72
+            wpinv_the_price( $subtotal, $invoice->get_currency() );
73
+        }
74 74
 
75
-		// Fires when printing a line item column.
76
-		do_action( "getpaid_email_line_item_$column", $item, $invoice );
77
-		?>
75
+        // Fires when printing a line item column.
76
+        do_action( "getpaid_email_line_item_$column", $item, $invoice );
77
+        ?>
78 78
 	</td>
79 79
 	<?php endforeach; ?>
80 80
 </tr>
Please login to merge, or discard this patch.
Spacing   +23 added lines, -23 removed lines patch added patch discarded remove patch
@@ -10,73 +10,73 @@
 block discarded – undo
10 10
  * @var array $columns
11 11
  */
12 12
 
13
-defined( 'ABSPATH' ) || exit;
13
+defined('ABSPATH') || exit;
14 14
 
15
-do_action( 'getpaid_before_email_line_item', $invoice, $item );
15
+do_action('getpaid_before_email_line_item', $invoice, $item);
16 16
 ?>
17
-<tr class="wpinv_cart_item item-type-<?php echo esc_attr( $item->get_type() ); ?>">
18
-	<?php foreach ( array_keys( $columns ) as $column ) : ?>
19
-	<td class="<?php echo 'name' == $column ? 'text-left' : 'text-right'; ?> wpinv_cart_item_<?php echo esc_attr( $column ); ?>">
17
+<tr class="wpinv_cart_item item-type-<?php echo esc_attr($item->get_type()); ?>">
18
+	<?php foreach (array_keys($columns) as $column) : ?>
19
+	<td class="<?php echo 'name' == $column ? 'text-left' : 'text-right'; ?> wpinv_cart_item_<?php echo esc_attr($column); ?>">
20 20
 		<?php
21 21
 		// Fires before printing a line item column.
22
-		do_action( "getpaid_email_line_item_before_$column", $item, $invoice );
22
+		do_action("getpaid_email_line_item_before_$column", $item, $invoice);
23 23
 
24 24
 		// Item name.
25
-		if ( 'name' == $column ) {
26
-			$has_featured_image = has_post_thumbnail( $item->get_id() );
25
+		if ('name' == $column) {
26
+			$has_featured_image = has_post_thumbnail($item->get_id());
27 27
 
28
-			if ( $has_featured_image ) {
28
+			if ($has_featured_image) {
29 29
 				echo '<div class="getpaid-email-item-image-wrap" style="min-height:80px">';
30 30
 					echo '<div class="getpaid-email-image-wrap" style="display:inline-block;width:80px;height:80px;">';
31
-						echo get_the_post_thumbnail( $item->get_id(), array( 75, 75 ), array( 'class' => 'wpinv-email-item-image' ) );
31
+						echo get_the_post_thumbnail($item->get_id(), array(75, 75), array('class' => 'wpinv-email-item-image'));
32 32
 					echo '</div>';
33 33
 					echo '<div class="getpaid-email-item-name-wrap" style="display:inline-block;vertical-align:top;max-width:360px;">';
34 34
 			}
35 35
 
36 36
 			// Display the name.
37
-			echo '<div class="wpinv_email_cart_item_title">' . esc_html( $item->get_name() ) . '</div>';
37
+			echo '<div class="wpinv_email_cart_item_title">' . esc_html($item->get_name()) . '</div>';
38 38
 
39 39
 			// And an optional description.
40 40
 			$description = $item->get_description();
41 41
 
42
-			if ( ! empty( $description ) ) {
43
-				echo "<p class='small'>" . wp_kses_post( $description ) . "</p>";
42
+			if (!empty($description)) {
43
+				echo "<p class='small'>" . wp_kses_post($description) . "</p>";
44 44
 			}
45 45
 
46
-			if ( $has_featured_image ) {
46
+			if ($has_featured_image) {
47 47
 					echo '</div>';
48 48
 				echo '</div>';
49 49
 			}
50 50
 		}
51 51
 
52 52
 		// Item price.
53
-		if ( 'price' == $column ) {
53
+		if ('price' == $column) {
54 54
 			// Display the item price (or recurring price if this is a renewal invoice)
55 55
 			$price = $invoice->is_renewal() ? $item->get_price() : $item->get_initial_price();
56
-			wpinv_the_price( $price, $invoice->get_currency() );
56
+			wpinv_the_price($price, $invoice->get_currency());
57 57
 		}
58 58
 
59 59
 		// Item quantity.
60
-		if ( 'quantity' == $column ) {
60
+		if ('quantity' == $column) {
61 61
 			echo (float) $item->get_quantity();
62 62
 		}
63 63
 
64 64
 		// Tax rate.
65
-		if ( 'tax_rate' == $column ) {
66
-			echo floatval( round( getpaid_get_invoice_tax_rate( $invoice, $item ), 2 ) ) . '%';
65
+		if ('tax_rate' == $column) {
66
+			echo floatval(round(getpaid_get_invoice_tax_rate($invoice, $item), 2)) . '%';
67 67
 		}
68 68
 
69 69
 		// Item sub total.
70
-		if ( 'subtotal' == $column ) {
70
+		if ('subtotal' == $column) {
71 71
 			$subtotal = $invoice->is_renewal() ? $item->get_recurring_sub_total() : $item->get_sub_total();
72
-			wpinv_the_price( $subtotal, $invoice->get_currency() );
72
+			wpinv_the_price($subtotal, $invoice->get_currency());
73 73
 		}
74 74
 
75 75
 		// Fires when printing a line item column.
76
-		do_action( "getpaid_email_line_item_$column", $item, $invoice );
76
+		do_action("getpaid_email_line_item_$column", $item, $invoice);
77 77
 		?>
78 78
 	</td>
79 79
 	<?php endforeach; ?>
80 80
 </tr>
81 81
 
82
-<?php do_action( 'getpaid_after_email_line_item', $invoice, $item ); ?>
82
+<?php do_action('getpaid_after_email_line_item', $invoice, $item); ?>
Please login to merge, or discard this patch.
templates/invoice/line-item.php 3 patches
Indentation   +62 added lines, -62 removed lines patch added patch discarded remove patch
@@ -26,90 +26,90 @@
 block discarded – undo
26 26
 
27 27
 				<?php
28 28
 
29
-					// Fires before printing a line item column.
30
-					do_action( "getpaid_invoice_line_item_before_$column", $item, $invoice );
29
+                    // Fires before printing a line item column.
30
+                    do_action( "getpaid_invoice_line_item_before_$column", $item, $invoice );
31 31
 
32
-					// Item name.
33
-					if ( 'name' === $column ) {
32
+                    // Item name.
33
+                    if ( 'name' === $column ) {
34 34
 
35
-						$has_featured_image = has_post_thumbnail( $item->get_id() );
35
+                        $has_featured_image = has_post_thumbnail( $item->get_id() );
36 36
 
37
-						if ( $has_featured_image ) {
38
-							echo '<div class="d-flex align-items-center getpaid-form-item-has-featured-image">';
39
-							echo '<div class="getpaid-form-item-image-container mr-2" style="width:85px;">';
40
-							echo get_the_post_thumbnail( $item->get_id(), array( 75, 75 ), array( 'class' => 'getpaid-form-item-image mb-0' ) );
41
-							echo '</div>';
42
-							echo '<div class="getpaid-form-item-name-container">';
43
-						}
37
+                        if ( $has_featured_image ) {
38
+                            echo '<div class="d-flex align-items-center getpaid-form-item-has-featured-image">';
39
+                            echo '<div class="getpaid-form-item-image-container mr-2" style="width:85px;">';
40
+                            echo get_the_post_thumbnail( $item->get_id(), array( 75, 75 ), array( 'class' => 'getpaid-form-item-image mb-0' ) );
41
+                            echo '</div>';
42
+                            echo '<div class="getpaid-form-item-name-container">';
43
+                        }
44 44
 
45
-						// Display the name.
46
-						echo '<div class="mb-1">' . esc_html( $item->get_name() ) . '</div>';
45
+                        // Display the name.
46
+                        echo '<div class="mb-1">' . esc_html( $item->get_name() ) . '</div>';
47 47
 
48
-						// And an optional description.
49
-						$description = $item->get_description();
48
+                        // And an optional description.
49
+                        $description = $item->get_description();
50 50
 
51
-						if ( ! empty( $description ) ) {
52
-							echo "<small class='form-text text-muted pr-2 m-0'>" . wp_kses_post( $description ) . '</small>';
53
-						}
51
+                        if ( ! empty( $description ) ) {
52
+                            echo "<small class='form-text text-muted pr-2 m-0'>" . wp_kses_post( $description ) . '</small>';
53
+                        }
54 54
 
55
-						// Fires before printing the line item actions.
56
-						do_action( 'getpaid_before_invoice_line_item_actions', $item, $invoice );
55
+                        // Fires before printing the line item actions.
56
+                        do_action( 'getpaid_before_invoice_line_item_actions', $item, $invoice );
57 57
 
58
-						$actions = apply_filters( 'getpaid-invoice-page-line-item-actions', array(), $item, $invoice );
58
+                        $actions = apply_filters( 'getpaid-invoice-page-line-item-actions', array(), $item, $invoice );
59 59
 
60
-						if ( ! empty( $actions ) ) {
60
+                        if ( ! empty( $actions ) ) {
61 61
 
62
-							$sanitized  = array();
63
-							foreach ( $actions as $key => $item_action ) {
64
-								$key         = sanitize_html_class( $key );
65
-								$item_action = wp_kses_post( $item_action );
66
-								$sanitized[] = "<span class='$key'>$item_action</span>";
67
-							}
62
+                            $sanitized  = array();
63
+                            foreach ( $actions as $key => $item_action ) {
64
+                                $key         = sanitize_html_class( $key );
65
+                                $item_action = wp_kses_post( $item_action );
66
+                                $sanitized[] = "<span class='$key'>$item_action</span>";
67
+                            }
68 68
 
69
-							echo "<small class='form-text getpaid-line-item-actions'>";
70
-							echo wp_kses_post( implode( ' | ', $sanitized ) );
71
-							echo '</small>';
69
+                            echo "<small class='form-text getpaid-line-item-actions'>";
70
+                            echo wp_kses_post( implode( ' | ', $sanitized ) );
71
+                            echo '</small>';
72 72
 
73
-						}
73
+                        }
74 74
 
75
-						if ( $has_featured_image ) {
76
-							echo '</div>';
77
-							echo '</div>';
78
-						}
79
-					}
75
+                        if ( $has_featured_image ) {
76
+                            echo '</div>';
77
+                            echo '</div>';
78
+                        }
79
+                    }
80 80
 
81
-					// Item price.
82
-					if ( 'price' === $column ) {
81
+                    // Item price.
82
+                    if ( 'price' === $column ) {
83 83
 
84
-					// Display the item price (or recurring price if this is a renewal invoice)
85
-					$price = $invoice->is_renewal() ? $item->get_price() : $item->get_initial_price();
86
-					wpinv_the_price( $price, $invoice->get_currency() );
84
+                    // Display the item price (or recurring price if this is a renewal invoice)
85
+                    $price = $invoice->is_renewal() ? $item->get_price() : $item->get_initial_price();
86
+                    wpinv_the_price( $price, $invoice->get_currency() );
87 87
 
88
-					}
88
+                    }
89 89
 
90
-					// Tax rate.
91
-					if ( 'tax_rate' === $column ) {
92
-					echo floatval( round( getpaid_get_invoice_tax_rate( $invoice, $item ), 2 ) ) . '%';
93
-					}
90
+                    // Tax rate.
91
+                    if ( 'tax_rate' === $column ) {
92
+                    echo floatval( round( getpaid_get_invoice_tax_rate( $invoice, $item ), 2 ) ) . '%';
93
+                    }
94 94
 
95
-					// Item quantity.
96
-					if ( 'quantity' === $column ) {
97
-					echo (float) $item->get_quantity();
98
-					}
95
+                    // Item quantity.
96
+                    if ( 'quantity' === $column ) {
97
+                    echo (float) $item->get_quantity();
98
+                    }
99 99
 
100
-					// Item sub total.
101
-					if ( 'subtotal' === $column ) {
102
-					$subtotal = $invoice->is_renewal() ? $item->get_recurring_sub_total() : $item->get_sub_total();
103
-					wpinv_the_price( $subtotal, $invoice->get_currency() );
104
-					}
100
+                    // Item sub total.
101
+                    if ( 'subtotal' === $column ) {
102
+                    $subtotal = $invoice->is_renewal() ? $item->get_recurring_sub_total() : $item->get_sub_total();
103
+                    wpinv_the_price( $subtotal, $invoice->get_currency() );
104
+                    }
105 105
 
106
-					// Fires when printing a line item column.
107
-					do_action( "getpaid_invoice_line_item_$column", $item, $invoice );
106
+                    // Fires when printing a line item column.
107
+                    do_action( "getpaid_invoice_line_item_$column", $item, $invoice );
108 108
 
109
-					// Fires after printing a line item column.
110
-					do_action( "getpaid_invoice_line_item_after_$column", $item, $invoice );
109
+                    // Fires after printing a line item column.
110
+                    do_action( "getpaid_invoice_line_item_after_$column", $item, $invoice );
111 111
 
112
-				?>
112
+                ?>
113 113
 
114 114
 			</div>
115 115
 
Please login to merge, or discard this patch.
Spacing   +31 added lines, -31 removed lines patch added patch discarded remove patch
@@ -10,104 +10,104 @@
 block discarded – undo
10 10
  * @var array $columns
11 11
  */
12 12
 
13
-defined( 'ABSPATH' ) || exit;
13
+defined('ABSPATH') || exit;
14 14
 
15
-do_action( 'getpaid_before_invoice_line_item', $invoice, $item );
15
+do_action('getpaid_before_invoice_line_item', $invoice, $item);
16 16
 
17 17
 ?>
18 18
 
19
-<div class='getpaid-invoice-item item-<?php echo (int) $item->get_id(); ?> item-type-<?php echo esc_attr( $item->get_type() ); ?> border-bottom'>
19
+<div class='getpaid-invoice-item item-<?php echo (int) $item->get_id(); ?> item-type-<?php echo esc_attr($item->get_type()); ?> border-bottom'>
20 20
 
21 21
 	<div class="form-row row align-items-center">
22 22
 
23
-		<?php foreach ( array_keys( $columns ) as $column ) : ?>
23
+		<?php foreach (array_keys($columns) as $column) : ?>
24 24
 
25
-			<div class="<?php echo 'name' === $column ? 'col-12 col-sm-6' : 'col-12 col-sm'; ?> getpaid-invoice-item-<?php echo esc_attr( $column ); ?>">
25
+			<div class="<?php echo 'name' === $column ? 'col-12 col-sm-6' : 'col-12 col-sm'; ?> getpaid-invoice-item-<?php echo esc_attr($column); ?>">
26 26
 
27 27
 				<?php
28 28
 
29 29
 					// Fires before printing a line item column.
30
-					do_action( "getpaid_invoice_line_item_before_$column", $item, $invoice );
30
+					do_action("getpaid_invoice_line_item_before_$column", $item, $invoice);
31 31
 
32 32
 					// Item name.
33
-					if ( 'name' === $column ) {
33
+					if ('name' === $column) {
34 34
 
35
-						$has_featured_image = has_post_thumbnail( $item->get_id() );
35
+						$has_featured_image = has_post_thumbnail($item->get_id());
36 36
 
37
-						if ( $has_featured_image ) {
37
+						if ($has_featured_image) {
38 38
 							echo '<div class="d-flex align-items-center getpaid-form-item-has-featured-image">';
39 39
 							echo '<div class="getpaid-form-item-image-container mr-2" style="width:85px;">';
40
-							echo get_the_post_thumbnail( $item->get_id(), array( 75, 75 ), array( 'class' => 'getpaid-form-item-image mb-0' ) );
40
+							echo get_the_post_thumbnail($item->get_id(), array(75, 75), array('class' => 'getpaid-form-item-image mb-0'));
41 41
 							echo '</div>';
42 42
 							echo '<div class="getpaid-form-item-name-container">';
43 43
 						}
44 44
 
45 45
 						// Display the name.
46
-						echo '<div class="mb-1">' . esc_html( $item->get_name() ) . '</div>';
46
+						echo '<div class="mb-1">' . esc_html($item->get_name()) . '</div>';
47 47
 
48 48
 						// And an optional description.
49 49
 						$description = $item->get_description();
50 50
 
51
-						if ( ! empty( $description ) ) {
52
-							echo "<small class='form-text text-muted pr-2 m-0'>" . wp_kses_post( $description ) . '</small>';
51
+						if (!empty($description)) {
52
+							echo "<small class='form-text text-muted pr-2 m-0'>" . wp_kses_post($description) . '</small>';
53 53
 						}
54 54
 
55 55
 						// Fires before printing the line item actions.
56
-						do_action( 'getpaid_before_invoice_line_item_actions', $item, $invoice );
56
+						do_action('getpaid_before_invoice_line_item_actions', $item, $invoice);
57 57
 
58
-						$actions = apply_filters( 'getpaid-invoice-page-line-item-actions', array(), $item, $invoice );
58
+						$actions = apply_filters('getpaid-invoice-page-line-item-actions', array(), $item, $invoice);
59 59
 
60
-						if ( ! empty( $actions ) ) {
60
+						if (!empty($actions)) {
61 61
 
62
-							$sanitized  = array();
63
-							foreach ( $actions as $key => $item_action ) {
64
-								$key         = sanitize_html_class( $key );
65
-								$item_action = wp_kses_post( $item_action );
62
+							$sanitized = array();
63
+							foreach ($actions as $key => $item_action) {
64
+								$key         = sanitize_html_class($key);
65
+								$item_action = wp_kses_post($item_action);
66 66
 								$sanitized[] = "<span class='$key'>$item_action</span>";
67 67
 							}
68 68
 
69 69
 							echo "<small class='form-text getpaid-line-item-actions'>";
70
-							echo wp_kses_post( implode( ' | ', $sanitized ) );
70
+							echo wp_kses_post(implode(' | ', $sanitized));
71 71
 							echo '</small>';
72 72
 
73 73
 						}
74 74
 
75
-						if ( $has_featured_image ) {
75
+						if ($has_featured_image) {
76 76
 							echo '</div>';
77 77
 							echo '</div>';
78 78
 						}
79 79
 					}
80 80
 
81 81
 					// Item price.
82
-					if ( 'price' === $column ) {
82
+					if ('price' === $column) {
83 83
 
84 84
 					// Display the item price (or recurring price if this is a renewal invoice)
85 85
 					$price = $invoice->is_renewal() ? $item->get_price() : $item->get_initial_price();
86
-					wpinv_the_price( $price, $invoice->get_currency() );
86
+					wpinv_the_price($price, $invoice->get_currency());
87 87
 
88 88
 					}
89 89
 
90 90
 					// Tax rate.
91
-					if ( 'tax_rate' === $column ) {
92
-					echo floatval( round( getpaid_get_invoice_tax_rate( $invoice, $item ), 2 ) ) . '%';
91
+					if ('tax_rate' === $column) {
92
+					echo floatval(round(getpaid_get_invoice_tax_rate($invoice, $item), 2)) . '%';
93 93
 					}
94 94
 
95 95
 					// Item quantity.
96
-					if ( 'quantity' === $column ) {
96
+					if ('quantity' === $column) {
97 97
 					echo (float) $item->get_quantity();
98 98
 					}
99 99
 
100 100
 					// Item sub total.
101
-					if ( 'subtotal' === $column ) {
101
+					if ('subtotal' === $column) {
102 102
 					$subtotal = $invoice->is_renewal() ? $item->get_recurring_sub_total() : $item->get_sub_total();
103
-					wpinv_the_price( $subtotal, $invoice->get_currency() );
103
+					wpinv_the_price($subtotal, $invoice->get_currency());
104 104
 					}
105 105
 
106 106
 					// Fires when printing a line item column.
107
-					do_action( "getpaid_invoice_line_item_$column", $item, $invoice );
107
+					do_action("getpaid_invoice_line_item_$column", $item, $invoice);
108 108
 
109 109
 					// Fires after printing a line item column.
110
-					do_action( "getpaid_invoice_line_item_after_$column", $item, $invoice );
110
+					do_action("getpaid_invoice_line_item_after_$column", $item, $invoice);
111 111
 
112 112
 				?>
113 113
 
Please login to merge, or discard this patch.
Switch Indentation   +66 added lines, -66 removed lines patch added patch discarded remove patch
@@ -1,4 +1,4 @@  discard block
 block discarded – undo
1
-<?php
1
+    <?php
2 2
 /**
3 3
  * Displays a single line item in an invoice.
4 4
  *
@@ -10,11 +10,11 @@  discard block
 block discarded – undo
10 10
  * @var array $columns
11 11
  */
12 12
 
13
-defined( 'ABSPATH' ) || exit;
13
+    defined( 'ABSPATH' ) || exit;
14 14
 
15
-do_action( 'getpaid_before_invoice_line_item', $invoice, $item );
15
+    do_action( 'getpaid_before_invoice_line_item', $invoice, $item );
16 16
 
17
-?>
17
+    ?>
18 18
 
19 19
 <div class='getpaid-invoice-item item-<?php echo (int) $item->get_id(); ?> item-type-<?php echo esc_attr( $item->get_type() ); ?> border-bottom'>
20 20
 
@@ -26,90 +26,90 @@  discard block
 block discarded – undo
26 26
 
27 27
 				<?php
28 28
 
29
-					// Fires before printing a line item column.
30
-					do_action( "getpaid_invoice_line_item_before_$column", $item, $invoice );
29
+					    // Fires before printing a line item column.
30
+					    do_action( "getpaid_invoice_line_item_before_$column", $item, $invoice );
31 31
 
32
-					// Item name.
33
-					if ( 'name' === $column ) {
32
+					    // Item name.
33
+					    if ( 'name' === $column ) {
34 34
 
35
-						$has_featured_image = has_post_thumbnail( $item->get_id() );
35
+						    $has_featured_image = has_post_thumbnail( $item->get_id() );
36 36
 
37
-						if ( $has_featured_image ) {
38
-							echo '<div class="d-flex align-items-center getpaid-form-item-has-featured-image">';
39
-							echo '<div class="getpaid-form-item-image-container mr-2" style="width:85px;">';
40
-							echo get_the_post_thumbnail( $item->get_id(), array( 75, 75 ), array( 'class' => 'getpaid-form-item-image mb-0' ) );
41
-							echo '</div>';
42
-							echo '<div class="getpaid-form-item-name-container">';
43
-						}
37
+						    if ( $has_featured_image ) {
38
+							    echo '<div class="d-flex align-items-center getpaid-form-item-has-featured-image">';
39
+							    echo '<div class="getpaid-form-item-image-container mr-2" style="width:85px;">';
40
+							    echo get_the_post_thumbnail( $item->get_id(), array( 75, 75 ), array( 'class' => 'getpaid-form-item-image mb-0' ) );
41
+							    echo '</div>';
42
+							    echo '<div class="getpaid-form-item-name-container">';
43
+						    }
44 44
 
45
-						// Display the name.
46
-						echo '<div class="mb-1">' . esc_html( $item->get_name() ) . '</div>';
45
+						    // Display the name.
46
+						    echo '<div class="mb-1">' . esc_html( $item->get_name() ) . '</div>';
47 47
 
48
-						// And an optional description.
49
-						$description = $item->get_description();
48
+						    // And an optional description.
49
+						    $description = $item->get_description();
50 50
 
51
-						if ( ! empty( $description ) ) {
52
-							echo "<small class='form-text text-muted pr-2 m-0'>" . wp_kses_post( $description ) . '</small>';
53
-						}
51
+						    if ( ! empty( $description ) ) {
52
+							    echo "<small class='form-text text-muted pr-2 m-0'>" . wp_kses_post( $description ) . '</small>';
53
+						    }
54 54
 
55
-						// Fires before printing the line item actions.
56
-						do_action( 'getpaid_before_invoice_line_item_actions', $item, $invoice );
55
+						    // Fires before printing the line item actions.
56
+						    do_action( 'getpaid_before_invoice_line_item_actions', $item, $invoice );
57 57
 
58
-						$actions = apply_filters( 'getpaid-invoice-page-line-item-actions', array(), $item, $invoice );
58
+						    $actions = apply_filters( 'getpaid-invoice-page-line-item-actions', array(), $item, $invoice );
59 59
 
60
-						if ( ! empty( $actions ) ) {
60
+						    if ( ! empty( $actions ) ) {
61 61
 
62
-							$sanitized  = array();
63
-							foreach ( $actions as $key => $item_action ) {
64
-								$key         = sanitize_html_class( $key );
65
-								$item_action = wp_kses_post( $item_action );
66
-								$sanitized[] = "<span class='$key'>$item_action</span>";
67
-							}
62
+							    $sanitized  = array();
63
+							    foreach ( $actions as $key => $item_action ) {
64
+								    $key         = sanitize_html_class( $key );
65
+								    $item_action = wp_kses_post( $item_action );
66
+								    $sanitized[] = "<span class='$key'>$item_action</span>";
67
+							    }
68 68
 
69
-							echo "<small class='form-text getpaid-line-item-actions'>";
70
-							echo wp_kses_post( implode( ' | ', $sanitized ) );
71
-							echo '</small>';
69
+							    echo "<small class='form-text getpaid-line-item-actions'>";
70
+							    echo wp_kses_post( implode( ' | ', $sanitized ) );
71
+							    echo '</small>';
72 72
 
73
-						}
73
+						    }
74 74
 
75
-						if ( $has_featured_image ) {
76
-							echo '</div>';
77
-							echo '</div>';
78
-						}
79
-					}
75
+						    if ( $has_featured_image ) {
76
+							    echo '</div>';
77
+							    echo '</div>';
78
+						    }
79
+					    }
80 80
 
81
-					// Item price.
82
-					if ( 'price' === $column ) {
81
+					    // Item price.
82
+					    if ( 'price' === $column ) {
83 83
 
84
-					// Display the item price (or recurring price if this is a renewal invoice)
85
-					$price = $invoice->is_renewal() ? $item->get_price() : $item->get_initial_price();
86
-					wpinv_the_price( $price, $invoice->get_currency() );
84
+					    // Display the item price (or recurring price if this is a renewal invoice)
85
+					    $price = $invoice->is_renewal() ? $item->get_price() : $item->get_initial_price();
86
+					    wpinv_the_price( $price, $invoice->get_currency() );
87 87
 
88
-					}
88
+					    }
89 89
 
90
-					// Tax rate.
91
-					if ( 'tax_rate' === $column ) {
92
-					echo floatval( round( getpaid_get_invoice_tax_rate( $invoice, $item ), 2 ) ) . '%';
93
-					}
90
+					    // Tax rate.
91
+					    if ( 'tax_rate' === $column ) {
92
+					    echo floatval( round( getpaid_get_invoice_tax_rate( $invoice, $item ), 2 ) ) . '%';
93
+					    }
94 94
 
95
-					// Item quantity.
96
-					if ( 'quantity' === $column ) {
97
-					echo (float) $item->get_quantity();
98
-					}
95
+					    // Item quantity.
96
+					    if ( 'quantity' === $column ) {
97
+					    echo (float) $item->get_quantity();
98
+					    }
99 99
 
100
-					// Item sub total.
101
-					if ( 'subtotal' === $column ) {
102
-					$subtotal = $invoice->is_renewal() ? $item->get_recurring_sub_total() : $item->get_sub_total();
103
-					wpinv_the_price( $subtotal, $invoice->get_currency() );
104
-					}
100
+					    // Item sub total.
101
+					    if ( 'subtotal' === $column ) {
102
+					    $subtotal = $invoice->is_renewal() ? $item->get_recurring_sub_total() : $item->get_sub_total();
103
+					    wpinv_the_price( $subtotal, $invoice->get_currency() );
104
+					    }
105 105
 
106
-					// Fires when printing a line item column.
107
-					do_action( "getpaid_invoice_line_item_$column", $item, $invoice );
106
+					    // Fires when printing a line item column.
107
+					    do_action( "getpaid_invoice_line_item_$column", $item, $invoice );
108 108
 
109
-					// Fires after printing a line item column.
110
-					do_action( "getpaid_invoice_line_item_after_$column", $item, $invoice );
109
+					    // Fires after printing a line item column.
110
+					    do_action( "getpaid_invoice_line_item_after_$column", $item, $invoice );
111 111
 
112
-				?>
112
+				    ?>
113 113
 
114 114
 			</div>
115 115
 
Please login to merge, or discard this patch.
vendor/ayecode/wp-ayecode-ui/includes/ayecode-ui-settings.php 4 patches
Braces   +13 added lines, -9 removed lines patch added patch discarded remove patch
@@ -538,7 +538,7 @@  discard block
 block discarded – undo
538 538
 					// custom changes
539 539
 					if ( $load_fse ) {
540 540
 						wp_add_inline_style( 'ayecode-ui-fse', self::custom_css($compatibility, true) );
541
-					}else{
541
+					} else{
542 542
 						wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) );
543 543
 					}
544 544
 				}
@@ -558,7 +558,7 @@  discard block
 block discarded – undo
558 558
 			ob_start();
559 559
 			if ( $aui_bs5 ) {
560 560
 				include_once( dirname( __FILE__ ) . '/inc/bs5-js.php' );
561
-			}else{
561
+			} else{
562 562
 				include_once( dirname( __FILE__ ) . '/inc/bs4-js.php' );
563 563
             }
564 564
 
@@ -642,7 +642,7 @@  discard block
 block discarded – undo
642 642
 				// iconpicker
643 643
 				if ( defined( 'FAS_ICONPICKER_JS_URL' ) ) {
644 644
 					wp_register_script( 'iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version );
645
-				}else{
645
+				} else{
646 646
 					wp_register_script( 'iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version );
647 647
 				}
648 648
 
@@ -1371,9 +1371,9 @@  discard block
 block discarded – undo
1371 1371
 
1372 1372
 			if($compatibility===true || $compatibility===1){
1373 1373
 				$compatibility = '.bsui';
1374
-			}elseif(!$compatibility){
1374
+			} elseif(!$compatibility){
1375 1375
 				$compatibility = '';
1376
-			}else{
1376
+			} else{
1377 1377
 				$compatibility = esc_attr($compatibility);
1378 1378
 			}
1379 1379
 
@@ -1659,9 +1659,9 @@  discard block
 block discarded – undo
1659 1659
 
1660 1660
 			if($compatibility===true || $compatibility===1){
1661 1661
 				$compatibility = '.bsui';
1662
-			}elseif(!$compatibility){
1662
+			} elseif(!$compatibility){
1663 1663
 				$compatibility = '';
1664
-			}else{
1664
+			} else{
1665 1665
 				$compatibility = esc_attr($compatibility);
1666 1666
 			}
1667 1667
 
@@ -2531,7 +2531,9 @@  discard block
 block discarded – undo
2531 2531
 		 * @return mixed
2532 2532
 		 */
2533 2533
 		public static function minify_js($input) {
2534
-			if(trim($input) === "") return $input;
2534
+			if(trim($input) === "") {
2535
+			    return $input;
2536
+			}
2535 2537
 			return preg_replace(
2536 2538
 				array(
2537 2539
 					// Remove comment(s)
@@ -2563,7 +2565,9 @@  discard block
 block discarded – undo
2563 2565
 		 * @return mixed
2564 2566
 		 */
2565 2567
 		public static function minify_css($input) {
2566
-			if(trim($input) === "") return $input;
2568
+			if(trim($input) === "") {
2569
+			    return $input;
2570
+			}
2567 2571
 			return preg_replace(
2568 2572
 				array(
2569 2573
 					// Remove comment(s)
Please login to merge, or discard this patch.
Indentation   +2337 added lines, -2337 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,472 +21,472 @@  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.31';
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.31';
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";
119 60
 
120
-				add_action( 'customize_register', array( self::$instance, 'customizer_settings' ));
61
+        /**
62
+         * The title.
63
+         *
64
+         * @var string
65
+         */
66
+        public $name = 'AyeCode UI';
121 67
 
122
-				do_action( 'ayecode_ui_settings_loaded' );
123
-			}
68
+        /**
69
+         * The relative url to the assets.
70
+         *
71
+         * @var string
72
+         */
73
+        public $url = '';
124 74
 
125
-			return self::$instance;
126
-		}
75
+        /**
76
+         * Holds the settings values.
77
+         *
78
+         * @var array
79
+         */
80
+        private $settings;
127 81
 
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 ){
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;
138 90
 
139 91
 
140
-			$setting = wp_get_global_settings();
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 ) ) {
141 103
 
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() {
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
+
120
+                add_action( 'customize_register', array( self::$instance, 'customizer_settings' ));
121
+
122
+                do_action( 'ayecode_ui_settings_loaded' );
123
+            }
124
+
125
+            return self::$instance;
126
+        }
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 ){
138
+
139
+
140
+            $setting = wp_get_global_settings();
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() {
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>'. wp_kses_post( $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>'. wp_kses_post( $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';
467
-				$rtl = is_rtl() && ! $aui_bs5 ? '-rtl' : '';
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
+                $rtl = is_rtl() && ! $aui_bs5 ? '-rtl' : '';
468 468
                 $bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : '';
469 469
 
470
-				if ( $this->settings[ $css_setting ] ) {
471
-					$compatibility = $this->settings[$css_setting]=='core' ? false : true;
472
-					$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';
470
+                if ( $this->settings[ $css_setting ] ) {
471
+                    $compatibility = $this->settings[$css_setting]=='core' ? false : true;
472
+                    $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';
473 473
 
474
-					wp_register_style( 'ayecode-ui', $url, array(), $this->version );
475
-					wp_enqueue_style( 'ayecode-ui' );
474
+                    wp_register_style( 'ayecode-ui', $url, array(), $this->version );
475
+                    wp_enqueue_style( 'ayecode-ui' );
476 476
 
477
-					if ( is_admin() && ( !empty($_REQUEST['postType']) || self::is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) )  ) {
478
-						$url = $this->url.'assets'.$bs_ver.'/css/ayecode-ui-fse.css';
479
-						wp_register_style( 'ayecode-ui-fse', $url, array(), $this->version );
480
-						wp_enqueue_style( 'ayecode-ui-fse' );
481
-						$load_fse = true;
482
-					}
477
+                    if ( is_admin() && ( !empty($_REQUEST['postType']) || self::is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) )  ) {
478
+                        $url = $this->url.'assets'.$bs_ver.'/css/ayecode-ui-fse.css';
479
+                        wp_register_style( 'ayecode-ui-fse', $url, array(), $this->version );
480
+                        wp_enqueue_style( 'ayecode-ui-fse' );
481
+                        $load_fse = true;
482
+                    }
483 483
 
484
-					// flatpickr
485
-					wp_register_style( 'flatpickr', $this->url.'assets'.$bs_ver.'/css/flatpickr.min.css', array(), $this->version );
484
+                    // flatpickr
485
+                    wp_register_style( 'flatpickr', $this->url.'assets'.$bs_ver.'/css/flatpickr.min.css', array(), $this->version );
486 486
 
487
-					// fix some wp-admin issues
488
-					if(is_admin()){
489
-						$custom_css = "
487
+                    // fix some wp-admin issues
488
+                    if(is_admin()){
489
+                        $custom_css = "
490 490
                 body{
491 491
                     background-color: #f1f1f1;
492 492
                     font-family: -apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;
@@ -526,63 +526,63 @@  discard block
 block discarded – undo
526 526
 				}
527 527
                 ";
528 528
 
529
-						// @todo, remove once fixed :: fix for this bug https://github.com/WordPress/gutenberg/issues/14377
530
-						$custom_css .= "
529
+                        // @todo, remove once fixed :: fix for this bug https://github.com/WordPress/gutenberg/issues/14377
530
+                        $custom_css .= "
531 531
 						.edit-post-sidebar input[type=color].components-text-control__input{
532 532
 						    padding: 0;
533 533
 						}
534 534
 					";
535
-						wp_add_inline_style( 'ayecode-ui', $custom_css );
536
-					}
537
-
538
-					// custom changes
539
-					if ( $load_fse ) {
540
-						wp_add_inline_style( 'ayecode-ui-fse', self::custom_css($compatibility, true) );
541
-					}else{
542
-						wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) );
543
-					}
544
-				}
545
-			}
546
-		}
547
-
548
-		/**
549
-		 * Get inline script used if bootstrap enqueued
550
-		 *
551
-		 * If this remains small then its best to use this than to add another JS file.
552
-		 */
553
-		public function inline_script() {
554
-            global $aui_bs5;
555
-			// Flatpickr calendar locale
556
-			$flatpickr_locale = self::flatpickr_locale();
535
+                        wp_add_inline_style( 'ayecode-ui', $custom_css );
536
+                    }
557 537
 
558
-			ob_start();
559
-			if ( $aui_bs5 ) {
560
-				include_once( dirname( __FILE__ ) . '/inc/bs5-js.php' );
561
-			}else{
562
-				include_once( dirname( __FILE__ ) . '/inc/bs4-js.php' );
538
+                    // custom changes
539
+                    if ( $load_fse ) {
540
+                        wp_add_inline_style( 'ayecode-ui-fse', self::custom_css($compatibility, true) );
541
+                    }else{
542
+                        wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) );
543
+                    }
544
+                }
545
+            }
546
+        }
547
+
548
+        /**
549
+         * Get inline script used if bootstrap enqueued
550
+         *
551
+         * If this remains small then its best to use this than to add another JS file.
552
+         */
553
+        public function inline_script() {
554
+            global $aui_bs5;
555
+            // Flatpickr calendar locale
556
+            $flatpickr_locale = self::flatpickr_locale();
557
+
558
+            ob_start();
559
+            if ( $aui_bs5 ) {
560
+                include_once( dirname( __FILE__ ) . '/inc/bs5-js.php' );
561
+            }else{
562
+                include_once( dirname( __FILE__ ) . '/inc/bs4-js.php' );
563 563
             }
564 564
 
565
-			$output = ob_get_clean();
565
+            $output = ob_get_clean();
566 566
 
567
-			/*
567
+            /*
568 568
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
569 569
 			 */
570
-			return str_replace( array(
571
-				'<script>',
572
-				'</script>'
573
-			), '', self::minify_js($output) );
574
-		}
575
-
576
-
577
-		/**
578
-		 * JS to help with conflict issues with other plugins and themes using bootstrap v3.
579
-		 *
580
-		 * @TODO we may need this when other conflicts arrise.
581
-		 * @return mixed
582
-		 */
583
-		public static function bs3_compat_js() {
584
-			ob_start();
585
-			?>
570
+            return str_replace( array(
571
+                '<script>',
572
+                '</script>'
573
+            ), '', self::minify_js($output) );
574
+        }
575
+
576
+
577
+        /**
578
+         * JS to help with conflict issues with other plugins and themes using bootstrap v3.
579
+         *
580
+         * @TODO we may need this when other conflicts arrise.
581
+         * @return mixed
582
+         */
583
+        public static function bs3_compat_js() {
584
+            ob_start();
585
+            ?>
586 586
             <script>
587 587
 				<?php if( defined( 'FUSION_BUILDER_VERSION' ) ){ ?>
588 588
                 /* With Avada builder */
@@ -590,20 +590,20 @@  discard block
 block discarded – undo
590 590
 				<?php } ?>
591 591
             </script>
592 592
 			<?php
593
-			return str_replace( array(
594
-				'<script>',
595
-				'</script>'
596
-			), '', ob_get_clean());
597
-		}
598
-
599
-		/**
600
-		 * Get inline script used if bootstrap file browser enqueued.
601
-		 *
602
-		 * If this remains small then its best to use this than to add another JS file.
603
-		 */
604
-		public function inline_script_file_browser(){
605
-			ob_start();
606
-			?>
593
+            return str_replace( array(
594
+                '<script>',
595
+                '</script>'
596
+            ), '', ob_get_clean());
597
+        }
598
+
599
+        /**
600
+         * Get inline script used if bootstrap file browser enqueued.
601
+         *
602
+         * If this remains small then its best to use this than to add another JS file.
603
+         */
604
+        public function inline_script_file_browser(){
605
+            ob_start();
606
+            ?>
607 607
             <script>
608 608
                 // run on doc ready
609 609
                 jQuery(document).ready(function () {
@@ -611,127 +611,127 @@  discard block
 block discarded – undo
611 611
                 });
612 612
             </script>
613 613
 			<?php
614
-			$output = ob_get_clean();
614
+            $output = ob_get_clean();
615 615
 
616
-			/*
616
+            /*
617 617
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
618 618
 			 */
619
-			return str_replace( array(
620
-				'<script>',
621
-				'</script>'
622
-			), '', $output );
623
-		}
624
-
625
-		/**
626
-		 * Adds the Font Awesome JS.
627
-		 */
628
-		public function enqueue_scripts() {
629
-			if( is_admin() && !$this->is_aui_screen()){
630
-				// Don't add wp-admin scripts if not requested to.
631
-			} else {
632
-				$js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend';
633
-
634
-				$bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : '';
635
-
636
-				// select2
637
-				wp_register_script( 'select2', $this->url . 'assets/js/select2.min.js', array( 'jquery' ), $this->select2_version );
638
-
639
-				// flatpickr
640
-				wp_register_script( 'flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->version );
641
-
642
-				// iconpicker
643
-				if ( defined( 'FAS_ICONPICKER_JS_URL' ) ) {
644
-					wp_register_script( 'iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version );
645
-				}else{
646
-					wp_register_script( 'iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version );
647
-				}
619
+            return str_replace( array(
620
+                '<script>',
621
+                '</script>'
622
+            ), '', $output );
623
+        }
648 624
 
649
-				// Bootstrap file browser
650
-				wp_register_script( 'aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array( 'jquery' ), $this->select2_version );
651
-				wp_add_inline_script( 'aui-custom-file-input', $this->inline_script_file_browser() );
625
+        /**
626
+         * Adds the Font Awesome JS.
627
+         */
628
+        public function enqueue_scripts() {
629
+            if( is_admin() && !$this->is_aui_screen()){
630
+                // Don't add wp-admin scripts if not requested to.
631
+            } else {
632
+                $js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend';
652 633
 
653
-				$load_inline = false;
634
+                $bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : '';
654 635
 
655
-				// Load select2 only when required.
656
-				if ( $this->force_load_select2() ) {
657
-					$dependency = array( 'select2', 'jquery' );
658
-				} else {
659
-					$dependency = array( 'jquery' );
660
-				}
636
+                // select2
637
+                wp_register_script( 'select2', $this->url . 'assets/js/select2.min.js', array( 'jquery' ), $this->select2_version );
661 638
 
662
-				if ( $this->settings[ $js_setting ] == 'core-popper' ) {
663
-					// Bootstrap bundle
664
-					$url = $this->url . 'assets' . $bs_ver . '/js/bootstrap.bundle.min.js';
665
-					wp_register_script( 'bootstrap-js-bundle', $url, $dependency, $this->version, $this->is_bs3_compat() );
666
-
667
-					// If in admin then add to footer for compatibility.
668
-					is_admin() ? wp_enqueue_script( 'bootstrap-js-bundle', '', null, null, true ) : wp_enqueue_script( 'bootstrap-js-bundle' );
669
-
670
-					$script = $this->inline_script();
671
-					wp_add_inline_script( 'bootstrap-js-bundle', $script );
672
-				} elseif ( $this->settings[ $js_setting ] == 'popper' ) {
673
-					$url = $this->url . 'assets/js/popper.min.js'; // @todo we need to update this to bs5
674
-					wp_register_script( 'bootstrap-js-popper', $url, $dependency, $this->version );
675
-					wp_enqueue_script( 'bootstrap-js-popper' );
676
-					$load_inline = true;
677
-				} else {
678
-					$load_inline = true;
679
-				}
639
+                // flatpickr
640
+                wp_register_script( 'flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->version );
641
+
642
+                // iconpicker
643
+                if ( defined( 'FAS_ICONPICKER_JS_URL' ) ) {
644
+                    wp_register_script( 'iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version );
645
+                }else{
646
+                    wp_register_script( 'iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version );
647
+                }
680 648
 
681
-				// Load needed inline scripts by faking the loading of a script if the main script is not being loaded
682
-				if ( $load_inline ) {
683
-					wp_register_script( 'bootstrap-dummy', '', $dependency );
684
-					wp_enqueue_script( 'bootstrap-dummy' );
649
+                // Bootstrap file browser
650
+                wp_register_script( 'aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array( 'jquery' ), $this->select2_version );
651
+                wp_add_inline_script( 'aui-custom-file-input', $this->inline_script_file_browser() );
685 652
 
686
-					$script = $this->inline_script();
687
-					wp_add_inline_script( 'bootstrap-dummy', $script );
688
-				}
689
-			}
690
-		}
691
-
692
-		/**
693
-		 * Enqueue select2 if called.
694
-		 *
695
-		 * @since 0.2.29
696
-		 */
697
-		public function force_load_select2() {
698
-			global $aui_select2_enqueued;
699
-
700
-			$conditional_select2 = apply_filters( 'aui_is_conditional_select2', true );
701
-
702
-			if ( $conditional_select2 !== true ) {
703
-				return true;
704
-			}
705
-
706
-			$load = is_admin() && ! $aui_select2_enqueued;
707
-
708
-			return apply_filters( 'aui_force_load_select2', $load );
709
-		}
710
-
711
-		/**
712
-		 * Enqueue select2 if called.
713
-		 *
714
-		 * @since 0.2.29
715
-		 */
716
-		public function enqueue_select2() {
717
-			wp_enqueue_script( 'select2' );
718
-		}
719
-
720
-		/**
721
-		 * Enqueue flatpickr if called.
722
-		 */
723
-		public function enqueue_flatpickr(){
724
-			wp_enqueue_style( 'flatpickr' );
725
-			wp_enqueue_script( 'flatpickr' );
726
-		}
727
-
728
-		/**
729
-		 * Enqueue iconpicker if called.
730
-		 */
731
-		public function enqueue_iconpicker(){
732
-			wp_enqueue_style( 'iconpicker' );
733
-			wp_enqueue_script( 'iconpicker' );
734
-		}
653
+                $load_inline = false;
654
+
655
+                // Load select2 only when required.
656
+                if ( $this->force_load_select2() ) {
657
+                    $dependency = array( 'select2', 'jquery' );
658
+                } else {
659
+                    $dependency = array( 'jquery' );
660
+                }
661
+
662
+                if ( $this->settings[ $js_setting ] == 'core-popper' ) {
663
+                    // Bootstrap bundle
664
+                    $url = $this->url . 'assets' . $bs_ver . '/js/bootstrap.bundle.min.js';
665
+                    wp_register_script( 'bootstrap-js-bundle', $url, $dependency, $this->version, $this->is_bs3_compat() );
666
+
667
+                    // If in admin then add to footer for compatibility.
668
+                    is_admin() ? wp_enqueue_script( 'bootstrap-js-bundle', '', null, null, true ) : wp_enqueue_script( 'bootstrap-js-bundle' );
669
+
670
+                    $script = $this->inline_script();
671
+                    wp_add_inline_script( 'bootstrap-js-bundle', $script );
672
+                } elseif ( $this->settings[ $js_setting ] == 'popper' ) {
673
+                    $url = $this->url . 'assets/js/popper.min.js'; // @todo we need to update this to bs5
674
+                    wp_register_script( 'bootstrap-js-popper', $url, $dependency, $this->version );
675
+                    wp_enqueue_script( 'bootstrap-js-popper' );
676
+                    $load_inline = true;
677
+                } else {
678
+                    $load_inline = true;
679
+                }
680
+
681
+                // Load needed inline scripts by faking the loading of a script if the main script is not being loaded
682
+                if ( $load_inline ) {
683
+                    wp_register_script( 'bootstrap-dummy', '', $dependency );
684
+                    wp_enqueue_script( 'bootstrap-dummy' );
685
+
686
+                    $script = $this->inline_script();
687
+                    wp_add_inline_script( 'bootstrap-dummy', $script );
688
+                }
689
+            }
690
+        }
691
+
692
+        /**
693
+         * Enqueue select2 if called.
694
+         *
695
+         * @since 0.2.29
696
+         */
697
+        public function force_load_select2() {
698
+            global $aui_select2_enqueued;
699
+
700
+            $conditional_select2 = apply_filters( 'aui_is_conditional_select2', true );
701
+
702
+            if ( $conditional_select2 !== true ) {
703
+                return true;
704
+            }
705
+
706
+            $load = is_admin() && ! $aui_select2_enqueued;
707
+
708
+            return apply_filters( 'aui_force_load_select2', $load );
709
+        }
710
+
711
+        /**
712
+         * Enqueue select2 if called.
713
+         *
714
+         * @since 0.2.29
715
+         */
716
+        public function enqueue_select2() {
717
+            wp_enqueue_script( 'select2' );
718
+        }
719
+
720
+        /**
721
+         * Enqueue flatpickr if called.
722
+         */
723
+        public function enqueue_flatpickr(){
724
+            wp_enqueue_style( 'flatpickr' );
725
+            wp_enqueue_script( 'flatpickr' );
726
+        }
727
+
728
+        /**
729
+         * Enqueue iconpicker if called.
730
+         */
731
+        public function enqueue_iconpicker(){
732
+            wp_enqueue_style( 'iconpicker' );
733
+            wp_enqueue_script( 'iconpicker' );
734
+        }
735 735
 
736 736
         /**
737 737
          * Get the url path to the current folder.
@@ -763,171 +763,171 @@  discard block
 block discarded – undo
763 763
             return trailingslashit($url);
764 764
         }
765 765
 
766
-		/**
767
-		 * Get the url path to the current folder.
768
-		 * @todo remove
769
-		 * @return string
770
-		 */
771
-		public function get_url_old() {
772
-
773
-			$url = '';
774
-			// check if we are inside a plugin
775
-			$file_dir = str_replace( "/includes","", wp_normalize_path( dirname( __FILE__ ) ) );
776
-
777
-			// add check in-case user has changed wp-content dir name.
778
-			$wp_content_folder_name = basename(WP_CONTENT_DIR);
779
-			$dir_parts = explode("/$wp_content_folder_name/",$file_dir);
780
-			$url_parts = explode("/$wp_content_folder_name/",plugins_url());
781
-
782
-			if(!empty($url_parts[0]) && !empty($dir_parts[1])){
783
-				$url = trailingslashit( $url_parts[0]."/$wp_content_folder_name/".$dir_parts[1] );
784
-			}
785
-
786
-			return $url;
787
-		}
788
-
789
-		/**
790
-		 * Register the database settings with WordPress.
791
-		 */
792
-		public function register_settings() {
793
-			register_setting( 'ayecode-ui-settings', 'ayecode-ui-settings' );
794
-		}
795
-
796
-		/**
797
-		 * Add the WordPress settings menu item.
798
-		 * @since 1.0.10 Calling function name direct will fail theme check so we don't.
799
-		 */
800
-		public function menu_item() {
801
-			$menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
802
-			call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array(
803
-				$this,
804
-				'settings_page'
805
-			) );
806
-		}
807
-
808
-		/**
809
-		 * Get a list of themes and their default JS settings.
810
-		 *
811
-		 * @return array
812
-		 */
813
-		public function theme_js_settings(){
814
-			return array(
815
-				'ayetheme' => 'popper',
816
-				'listimia' => 'required',
817
-				'listimia_backend' => 'core-popper',
818
-				//'avada'    => 'required', // removed as we now add compatibility
819
-			);
820
-		}
821
-
822
-		/**
766
+        /**
767
+         * Get the url path to the current folder.
768
+         * @todo remove
769
+         * @return string
770
+         */
771
+        public function get_url_old() {
772
+
773
+            $url = '';
774
+            // check if we are inside a plugin
775
+            $file_dir = str_replace( "/includes","", wp_normalize_path( dirname( __FILE__ ) ) );
776
+
777
+            // add check in-case user has changed wp-content dir name.
778
+            $wp_content_folder_name = basename(WP_CONTENT_DIR);
779
+            $dir_parts = explode("/$wp_content_folder_name/",$file_dir);
780
+            $url_parts = explode("/$wp_content_folder_name/",plugins_url());
781
+
782
+            if(!empty($url_parts[0]) && !empty($dir_parts[1])){
783
+                $url = trailingslashit( $url_parts[0]."/$wp_content_folder_name/".$dir_parts[1] );
784
+            }
785
+
786
+            return $url;
787
+        }
788
+
789
+        /**
790
+         * Register the database settings with WordPress.
791
+         */
792
+        public function register_settings() {
793
+            register_setting( 'ayecode-ui-settings', 'ayecode-ui-settings' );
794
+        }
795
+
796
+        /**
797
+         * Add the WordPress settings menu item.
798
+         * @since 1.0.10 Calling function name direct will fail theme check so we don't.
799
+         */
800
+        public function menu_item() {
801
+            $menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
802
+            call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array(
803
+                $this,
804
+                'settings_page'
805
+            ) );
806
+        }
807
+
808
+        /**
809
+         * Get a list of themes and their default JS settings.
810
+         *
811
+         * @return array
812
+         */
813
+        public function theme_js_settings(){
814
+            return array(
815
+                'ayetheme' => 'popper',
816
+                'listimia' => 'required',
817
+                'listimia_backend' => 'core-popper',
818
+                //'avada'    => 'required', // removed as we now add compatibility
819
+            );
820
+        }
821
+
822
+        /**
823 823
          * Get the date the site was installed.
824 824
          *
825
-		 * @return false|string
826
-		 */
825
+         * @return false|string
826
+         */
827 827
         public function get_site_install_date() {
828
-	        global $wpdb; // This gives you access to the WordPress database object
828
+            global $wpdb; // This gives you access to the WordPress database object
829 829
 
830
-	        // Prepare the SQL query to get the oldest registration date
831
-	        $query = "SELECT MIN(user_registered) AS oldest_registration_date FROM {$wpdb->users}";
830
+            // Prepare the SQL query to get the oldest registration date
831
+            $query = "SELECT MIN(user_registered) AS oldest_registration_date FROM {$wpdb->users}";
832 832
 
833
-	        // Execute the query
834
-	        $date = $wpdb->get_var( $query ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
833
+            // Execute the query
834
+            $date = $wpdb->get_var( $query ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
835 835
 
836
-	        return $date ? $date : false;
836
+            return $date ? $date : false;
837 837
         }
838 838
 
839
-		/**
840
-		 * Show admin notice if backend scripts not loaded.
841
-		 */
842
-		public function show_admin_version_notice(){
843
-			$fix_url = admin_url("options-general.php?page=ayecode-ui-settings" );
844
-			$button = '<a href="'.esc_url($fix_url).'" class="button-primary">View Settings</a>';
845
-			$message = __( '<b>Style Issue:</b> AyeCode UI has changed its default version from v4 to v5, if you notice unwanted style changes, please revert to v4 (saving the settings page will remove this notice)')." " .$button;
846
-			echo '<div class="notice notice-error aui-settings-error-notice"><p>'. wp_kses_post( $message ).'</p></div>';
847
-		}
848
-
849
-		/**
850
-		 * Get the current Font Awesome output settings.
851
-		 *
852
-		 * @return array The array of settings.
853
-		 */
854
-		public function get_settings() {
855
-
856
-			$db_settings = get_option( 'ayecode-ui-settings' );
839
+        /**
840
+         * Show admin notice if backend scripts not loaded.
841
+         */
842
+        public function show_admin_version_notice(){
843
+            $fix_url = admin_url("options-general.php?page=ayecode-ui-settings" );
844
+            $button = '<a href="'.esc_url($fix_url).'" class="button-primary">View Settings</a>';
845
+            $message = __( '<b>Style Issue:</b> AyeCode UI has changed its default version from v4 to v5, if you notice unwanted style changes, please revert to v4 (saving the settings page will remove this notice)')." " .$button;
846
+            echo '<div class="notice notice-error aui-settings-error-notice"><p>'. wp_kses_post( $message ).'</p></div>';
847
+        }
848
+
849
+        /**
850
+         * Get the current Font Awesome output settings.
851
+         *
852
+         * @return array The array of settings.
853
+         */
854
+        public function get_settings() {
855
+
856
+            $db_settings = get_option( 'ayecode-ui-settings' );
857 857
 
858 858
             // Maybe show default version notice
859
-			$site_install_date = new DateTime( self::get_site_install_date() );
860
-			$switch_over_date = new DateTime("2024-02-01");
861
-			if ( empty( $db_settings ) && $site_install_date < $switch_over_date ) {
862
-				add_action( 'admin_notices', array( $this, 'show_admin_version_notice' ) );
863
-			}
864
-
865
-			$js_default = 'core-popper';
866
-			$js_default_backend = $js_default;
867
-
868
-			// maybe set defaults (if no settings set)
869
-			if(empty($db_settings)){
870
-				$active_theme = strtolower( get_template() ); // active parent theme.
871
-				$theme_js_settings = self::theme_js_settings();
872
-				if(isset($theme_js_settings[$active_theme])){
873
-					$js_default = $theme_js_settings[$active_theme];
874
-					$js_default_backend = isset($theme_js_settings[$active_theme."_backend"]) ? $theme_js_settings[$active_theme."_backend"] : $js_default;
875
-				}
876
-			}
859
+            $site_install_date = new DateTime( self::get_site_install_date() );
860
+            $switch_over_date = new DateTime("2024-02-01");
861
+            if ( empty( $db_settings ) && $site_install_date < $switch_over_date ) {
862
+                add_action( 'admin_notices', array( $this, 'show_admin_version_notice' ) );
863
+            }
877 864
 
878
-			/**
879
-			 * Filter the default settings.
880
-			 */
881
-			$defaults = apply_filters( 'ayecode-ui-default-settings', array(
882
-				'css'            => 'compatibility', // core, compatibility
883
-				'js'             => $js_default, // js to load, core-popper, popper
884
-				'html_font_size' => '16', // js to load, core-popper, popper
885
-				'css_backend'    => 'compatibility', // core, compatibility
886
-				'js_backend'     => $js_default_backend, // js to load, core-popper, popper
887
-				'disable_admin'  => '', // URL snippets to disable loading on admin
865
+            $js_default = 'core-popper';
866
+            $js_default_backend = $js_default;
867
+
868
+            // maybe set defaults (if no settings set)
869
+            if(empty($db_settings)){
870
+                $active_theme = strtolower( get_template() ); // active parent theme.
871
+                $theme_js_settings = self::theme_js_settings();
872
+                if(isset($theme_js_settings[$active_theme])){
873
+                    $js_default = $theme_js_settings[$active_theme];
874
+                    $js_default_backend = isset($theme_js_settings[$active_theme."_backend"]) ? $theme_js_settings[$active_theme."_backend"] : $js_default;
875
+                }
876
+            }
877
+
878
+            /**
879
+             * Filter the default settings.
880
+             */
881
+            $defaults = apply_filters( 'ayecode-ui-default-settings', array(
882
+                'css'            => 'compatibility', // core, compatibility
883
+                'js'             => $js_default, // js to load, core-popper, popper
884
+                'html_font_size' => '16', // js to load, core-popper, popper
885
+                'css_backend'    => 'compatibility', // core, compatibility
886
+                'js_backend'     => $js_default_backend, // js to load, core-popper, popper
887
+                'disable_admin'  => '', // URL snippets to disable loading on admin
888 888
                 'bs_ver'         => '5', // The default bootstrap version to sue by default
889
-			), $db_settings );
889
+            ), $db_settings );
890 890
 
891
-			$settings = wp_parse_args( $db_settings, $defaults );
891
+            $settings = wp_parse_args( $db_settings, $defaults );
892 892
 
893
-			/**
894
-			 * Filter the Bootstrap settings.
895
-			 *
896
-			 * @todo if we add this filer people might use it and then it defeats the purpose of this class :/
897
-			 */
898
-			return $this->settings = apply_filters( 'ayecode-ui-settings', $settings, $db_settings, $defaults );
899
-		}
893
+            /**
894
+             * Filter the Bootstrap settings.
895
+             *
896
+             * @todo if we add this filer people might use it and then it defeats the purpose of this class :/
897
+             */
898
+            return $this->settings = apply_filters( 'ayecode-ui-settings', $settings, $db_settings, $defaults );
899
+        }
900 900
 
901 901
 
902
-		/**
903
-		 * The settings page html output.
904
-		 */
905
-		public function settings_page() {
906
-			if ( ! current_user_can( 'manage_options' ) ) {
907
-				wp_die( esc_attr__( 'You do not have sufficient permissions to access this page.', 'ayecode-connect' ) );
908
-			}
902
+        /**
903
+         * The settings page html output.
904
+         */
905
+        public function settings_page() {
906
+            if ( ! current_user_can( 'manage_options' ) ) {
907
+                wp_die( esc_attr__( 'You do not have sufficient permissions to access this page.', 'ayecode-connect' ) );
908
+            }
909 909
             $overrides = apply_filters( 'ayecode-ui-settings', array(), array(), array() );
910 910
 
911
-			?>
911
+            ?>
912 912
             <div class="wrap">
913 913
                 <h1><?php echo esc_attr( $this->name ); ?></h1>
914 914
                 <p><?php echo esc_html( apply_filters( 'ayecode-ui-settings-message', __("Here you can adjust settings if you are having compatibility issues.", 'ayecode-connect' ) ) );?></p>
915 915
                 <form method="post" action="options.php">
916 916
 					<?php
917
-					settings_fields( 'ayecode-ui-settings' );
918
-					do_settings_sections( 'ayecode-ui-settings' );
919
-					?>
917
+                    settings_fields( 'ayecode-ui-settings' );
918
+                    do_settings_sections( 'ayecode-ui-settings' );
919
+                    ?>
920 920
 
921 921
                     <h2><?php esc_html_e( 'BootStrap Version', 'ayecode-connect' ); ?></h2>
922 922
                     <p><?php echo esc_html( 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.", 'ayecode-connect' ) ) );?></p>
923 923
 	                <div class="bsui"><?php
924
-	                if ( ! empty( $overrides ) ) {
925
-		                echo aui()->alert(array( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
926
-			                'type'=> 'info',
927
-			                'content'=> esc_attr__("Some options are disabled as your current theme is overriding them.", 'ayecode-connect' )
928
-		                ));
929
-	                }
930
-	                ?>
924
+                    if ( ! empty( $overrides ) ) {
925
+                        echo aui()->alert(array( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
926
+                            'type'=> 'info',
927
+                            'content'=> esc_attr__("Some options are disabled as your current theme is overriding them.", 'ayecode-connect' )
928
+                        ));
929
+                    }
930
+                    ?>
931 931
                     </div>
932 932
                     <table class="form-table wpbs-table-version-settings">
933 933
                         <tr valign="top">
@@ -1011,77 +1011,77 @@  discard block
 block discarded – undo
1011 1011
                     </table>
1012 1012
 
1013 1013
 					<?php
1014
-					submit_button();
1015
-					?>
1014
+                    submit_button();
1015
+                    ?>
1016 1016
                 </form>
1017 1017
                 <div id="wpbs-version" data-aui-source="<?php echo esc_attr( $this->get_load_source() ); ?>"><?php echo esc_html( $this->version ); ?></div>
1018 1018
             </div>
1019 1019
 			<?php
1020
-		}
1020
+        }
1021 1021
 
1022 1022
         public function get_load_source(){
1023
-	        $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
1024
-	        $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
1025
-
1026
-	        // Find source plugin/theme of SD
1027
-	        $source = array();
1028
-	        if ( strpos( $file, $plugins_dir ) !== false ) {
1029
-		        $source = explode( "/", plugin_basename( $file ) );
1030
-	        } else if ( function_exists( 'get_theme_root' ) ) {
1031
-		        $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
1032
-
1033
-		        if ( strpos( $file, $themes_dir ) !== false ) {
1034
-			        $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
1035
-		        }
1036
-	        }
1023
+            $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
1024
+            $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
1025
+
1026
+            // Find source plugin/theme of SD
1027
+            $source = array();
1028
+            if ( strpos( $file, $plugins_dir ) !== false ) {
1029
+                $source = explode( "/", plugin_basename( $file ) );
1030
+            } else if ( function_exists( 'get_theme_root' ) ) {
1031
+                $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
1032
+
1033
+                if ( strpos( $file, $themes_dir ) !== false ) {
1034
+                    $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
1035
+                }
1036
+            }
1037 1037
 
1038 1038
             return isset($source[0]) ? esc_attr($source[0]) : '';
1039 1039
         }
1040 1040
 
1041
-		public function customizer_settings($wp_customize){
1042
-			$wp_customize->add_section('aui_settings', array(
1043
-				'title'    => __('AyeCode UI', 'ayecode-connect' ),
1044
-				'priority' => 120,
1045
-			));
1046
-
1047
-			//  =============================
1048
-			//  = Color Picker              =
1049
-			//  =============================
1050
-			$wp_customize->add_setting('aui_options[color_primary]', array(
1051
-				'default'           => AUI_PRIMARY_COLOR,
1052
-				'sanitize_callback' => 'sanitize_hex_color',
1053
-				'capability'        => 'edit_theme_options',
1054
-				'type'              => 'option',
1055
-				'transport'         => 'refresh',
1056
-			));
1057
-			$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_primary', array(
1058
-				'label'    => __('Primary Color', 'ayecode-connect' ),
1059
-				'section'  => 'aui_settings',
1060
-				'settings' => 'aui_options[color_primary]',
1061
-			)));
1062
-
1063
-			$wp_customize->add_setting('aui_options[color_secondary]', array(
1064
-				'default'           => '#6c757d',
1065
-				'sanitize_callback' => 'sanitize_hex_color',
1066
-				'capability'        => 'edit_theme_options',
1067
-				'type'              => 'option',
1068
-				'transport'         => 'refresh',
1069
-			));
1070
-			$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_secondary', array(
1071
-				'label'    => __('Secondary Color', 'ayecode-connect' ),
1072
-				'section'  => 'aui_settings',
1073
-				'settings' => 'aui_options[color_secondary]',
1074
-			)));
1075
-		}
1076
-
1077
-		/**
1078
-		 * CSS to help with conflict issues with other plugins and themes using bootstrap v3.
1079
-		 *
1080
-		 * @return mixed
1081
-		 */
1082
-		public static function bs3_compat_css() {
1083
-			ob_start();
1084
-			?>
1041
+        public function customizer_settings($wp_customize){
1042
+            $wp_customize->add_section('aui_settings', array(
1043
+                'title'    => __('AyeCode UI', 'ayecode-connect' ),
1044
+                'priority' => 120,
1045
+            ));
1046
+
1047
+            //  =============================
1048
+            //  = Color Picker              =
1049
+            //  =============================
1050
+            $wp_customize->add_setting('aui_options[color_primary]', array(
1051
+                'default'           => AUI_PRIMARY_COLOR,
1052
+                'sanitize_callback' => 'sanitize_hex_color',
1053
+                'capability'        => 'edit_theme_options',
1054
+                'type'              => 'option',
1055
+                'transport'         => 'refresh',
1056
+            ));
1057
+            $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_primary', array(
1058
+                'label'    => __('Primary Color', 'ayecode-connect' ),
1059
+                'section'  => 'aui_settings',
1060
+                'settings' => 'aui_options[color_primary]',
1061
+            )));
1062
+
1063
+            $wp_customize->add_setting('aui_options[color_secondary]', array(
1064
+                'default'           => '#6c757d',
1065
+                'sanitize_callback' => 'sanitize_hex_color',
1066
+                'capability'        => 'edit_theme_options',
1067
+                'type'              => 'option',
1068
+                'transport'         => 'refresh',
1069
+            ));
1070
+            $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_secondary', array(
1071
+                'label'    => __('Secondary Color', 'ayecode-connect' ),
1072
+                'section'  => 'aui_settings',
1073
+                'settings' => 'aui_options[color_secondary]',
1074
+            )));
1075
+        }
1076
+
1077
+        /**
1078
+         * CSS to help with conflict issues with other plugins and themes using bootstrap v3.
1079
+         *
1080
+         * @return mixed
1081
+         */
1082
+        public static function bs3_compat_css() {
1083
+            ob_start();
1084
+            ?>
1085 1085
             <style>
1086 1086
                 /* Bootstrap 3 compatibility */
1087 1087
                 body.modal-open .modal-backdrop.show:not(.in) {opacity:0.5;}
@@ -1110,368 +1110,368 @@  discard block
 block discarded – undo
1110 1110
                 <?php } ?>
1111 1111
             </style>
1112 1112
 			<?php
1113
-			return str_replace( array(
1114
-				'<style>',
1115
-				'</style>'
1116
-			), '', self::minify_css( ob_get_clean() ) );
1117
-		}
1113
+            return str_replace( array(
1114
+                '<style>',
1115
+                '</style>'
1116
+            ), '', self::minify_css( ob_get_clean() ) );
1117
+        }
1118 1118
 
1119
-		public static function custom_css( $compatibility = true, $is_fse = false ) {
1120
-			global $aui_bs5;
1119
+        public static function custom_css( $compatibility = true, $is_fse = false ) {
1120
+            global $aui_bs5;
1121 1121
 
1122
-			$colors = array();
1122
+            $colors = array();
1123 1123
 
1124
-			if ( defined( 'BLOCKSTRAP_VERSION' ) ) {
1125
-				$setting = wp_get_global_settings();
1124
+            if ( defined( 'BLOCKSTRAP_VERSION' ) ) {
1125
+                $setting = wp_get_global_settings();
1126 1126
 
1127
-				if ( ! empty( $setting['color']['palette']['theme'] ) ) {
1128
-					foreach ( $setting['color']['palette']['theme'] as $color ) {
1129
-						$colors[$color['slug']] = esc_attr( $color['color'] );
1130
-					}
1131
-				}
1127
+                if ( ! empty( $setting['color']['palette']['theme'] ) ) {
1128
+                    foreach ( $setting['color']['palette']['theme'] as $color ) {
1129
+                        $colors[$color['slug']] = esc_attr( $color['color'] );
1130
+                    }
1131
+                }
1132 1132
 
1133
-				if ( ! empty( $setting['color']['palette']['custom'] ) ) {
1134
-					foreach ( $setting['color']['palette']['custom'] as $color ) {
1135
-						$colors[$color['slug']] = esc_attr( $color['color'] );
1136
-					}
1137
-				}
1138
-			} else {
1139
-				$settings = get_option( 'aui_options' );
1140
-
1141
-				$colors = array(
1142
-					'primary'   => ! empty( $settings['color_primary'] ) ? $settings['color_primary'] : AUI_PRIMARY_COLOR,
1143
-					'secondary' => ! empty( $settings['color_secondary'] ) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR
1144
-				);
1145
-			}
1146
-
1147
-			ob_start();
1148
-			?><style><?php
1149
-			// BS v3 compat
1150
-			if( self::is_bs3_compat() ){
1151
-				echo self::bs3_compat_css(); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1152
-			}
1153
-
1154
-			//$is_fse = false;
1155
-			//if ( is_admin() && ( !empty($_REQUEST['postType']) || self::is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) )  ) {
1156
-				//$is_fse = true;
1157
-			//}
1158
-
1159
-			$custom_front = ! is_admin() ? true : apply_filters('ayecode_ui_custom_front', false );
1160
-			$custom_admin = $is_fse || self::is_preview() ? true : apply_filters('ayecode_ui_custom_admin', false );
1133
+                if ( ! empty( $setting['color']['palette']['custom'] ) ) {
1134
+                    foreach ( $setting['color']['palette']['custom'] as $color ) {
1135
+                        $colors[$color['slug']] = esc_attr( $color['color'] );
1136
+                    }
1137
+                }
1138
+            } else {
1139
+                $settings = get_option( 'aui_options' );
1140
+
1141
+                $colors = array(
1142
+                    'primary'   => ! empty( $settings['color_primary'] ) ? $settings['color_primary'] : AUI_PRIMARY_COLOR,
1143
+                    'secondary' => ! empty( $settings['color_secondary'] ) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR
1144
+                );
1145
+            }
1146
+
1147
+            ob_start();
1148
+            ?><style><?php
1149
+            // BS v3 compat
1150
+            if( self::is_bs3_compat() ){
1151
+                echo self::bs3_compat_css(); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1152
+            }
1153
+
1154
+            //$is_fse = false;
1155
+            //if ( is_admin() && ( !empty($_REQUEST['postType']) || self::is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) )  ) {
1156
+                //$is_fse = true;
1157
+            //}
1158
+
1159
+            $custom_front = ! is_admin() ? true : apply_filters('ayecode_ui_custom_front', false );
1160
+            $custom_admin = $is_fse || self::is_preview() ? true : apply_filters('ayecode_ui_custom_admin', false );
1161 1161
             $bs_custom_css = apply_filters( 'ayecode_ui_bs_custom_css', $custom_admin || $custom_front );
1162
-			//$bs_custom_css = true; // Force true to fix any color issue.
1162
+            //$bs_custom_css = true; // Force true to fix any color issue.
1163 1163
 
1164
-			$colors_css = '';
1165
-			if ( ! empty( $colors ) && $bs_custom_css ) {
1166
-				$d_colors = self::get_colors(true);
1164
+            $colors_css = '';
1165
+            if ( ! empty( $colors ) && $bs_custom_css ) {
1166
+                $d_colors = self::get_colors(true);
1167 1167
 
1168
-				foreach ( $colors as $key => $color ) {
1169
-					if ( ( empty( $d_colors[$key]) || $d_colors[$key] != $color) || $is_fse ) {
1170
-						$var = $is_fse ? "var(--wp--preset--color--$key)" : $color;
1171
-						$compat = $is_fse ? '.editor-styles-wrapper' : $compatibility;
1168
+                foreach ( $colors as $key => $color ) {
1169
+                    if ( ( empty( $d_colors[$key]) || $d_colors[$key] != $color) || $is_fse ) {
1170
+                        $var = $is_fse ? "var(--wp--preset--color--$key)" : $color;
1171
+                        $compat = $is_fse ? '.editor-styles-wrapper' : $compatibility;
1172 1172
 
1173
-						$colors_css .= $aui_bs5 ? self::css_overwrite_bs5( $key,$var, $compat, $color ) : self::css_overwrite( $key, $var, $compat, $color );
1174
-					}
1175
-				}
1176
-			}
1173
+                        $colors_css .= $aui_bs5 ? self::css_overwrite_bs5( $key,$var, $compat, $color ) : self::css_overwrite( $key, $var, $compat, $color );
1174
+                    }
1175
+                }
1176
+            }
1177 1177
 
1178
-			if ( $colors_css ) {
1179
-				echo $colors_css; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1180
-			}
1178
+            if ( $colors_css ) {
1179
+                echo $colors_css; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1180
+            }
1181 1181
 
1182
-			// Set admin bar z-index lower when modal is open.
1183
-			echo ' body.modal-open #wpadminbar{z-index:999}.embed-responsive-16by9 .fluid-width-video-wrapper{padding:0 !important;position:initial}';
1182
+            // Set admin bar z-index lower when modal is open.
1183
+            echo ' body.modal-open #wpadminbar{z-index:999}.embed-responsive-16by9 .fluid-width-video-wrapper{padding:0 !important;position:initial}';
1184 1184
 
1185
-			if ( is_admin() ) {
1186
-				echo ' body.modal-open #adminmenuwrap{z-index:999} body.modal-open #wpadminbar{z-index:1025}';
1187
-			}
1185
+            if ( is_admin() ) {
1186
+                echo ' body.modal-open #adminmenuwrap{z-index:999} body.modal-open #wpadminbar{z-index:1025}';
1187
+            }
1188 1188
 
1189
-			$custom_css = '';
1189
+            $custom_css = '';
1190 1190
 
1191
-			if ( $aui_bs5 && defined( 'BLOCKSTRAP_VERSION' ) && $bs_custom_css ) {
1192
-				$css = '';
1193
-				$theme_settings = wp_get_global_styles();
1191
+            if ( $aui_bs5 && defined( 'BLOCKSTRAP_VERSION' ) && $bs_custom_css ) {
1192
+                $css = '';
1193
+                $theme_settings = wp_get_global_styles();
1194 1194
 
1195
-				// Font face
1196
-				if( !empty( $theme_settings['typography']['fontFamily'] ) ){
1197
-					$t_fontface = str_replace( array('var:preset|','font-family|'), array('--wp--preset--','font-family--'), $theme_settings['typography']['fontFamily']  ); //var(--wp--preset--font-family--poppins)
1198
-					$css .= '--bs-body-font-family: ' . esc_attr($t_fontface) . ';';
1199
-				}
1195
+                // Font face
1196
+                if( !empty( $theme_settings['typography']['fontFamily'] ) ){
1197
+                    $t_fontface = str_replace( array('var:preset|','font-family|'), array('--wp--preset--','font-family--'), $theme_settings['typography']['fontFamily']  ); //var(--wp--preset--font-family--poppins)
1198
+                    $css .= '--bs-body-font-family: ' . esc_attr($t_fontface) . ';';
1199
+                }
1200 1200
 
1201
-				// font size
1202
-				if( !empty( $theme_settings['typography']['fontSize'] ) ){
1203
-					$css .= '--bs-body-font-size: ' . esc_attr( $theme_settings['typography']['fontSize'] ) . ' ;';
1204
-				}
1201
+                // font size
1202
+                if( !empty( $theme_settings['typography']['fontSize'] ) ){
1203
+                    $css .= '--bs-body-font-size: ' . esc_attr( $theme_settings['typography']['fontSize'] ) . ' ;';
1204
+                }
1205 1205
 
1206
-				// line height
1207
-				 if( !empty( $theme_settings['typography']['lineHeight'] ) ){
1208
-					$css .= '--bs-body-line-height: ' . esc_attr( $theme_settings['typography']['lineHeight'] ) . ';';
1209
-				}
1206
+                // line height
1207
+                    if( !empty( $theme_settings['typography']['lineHeight'] ) ){
1208
+                    $css .= '--bs-body-line-height: ' . esc_attr( $theme_settings['typography']['lineHeight'] ) . ';';
1209
+                }
1210 1210
 
1211 1211
 
1212
-				   // font weight
1213
-				 if( !empty( $theme_settings['typography']['fontWeight'] ) ){
1214
-					$css .= '--bs-body-font-weight: ' . esc_attr( $theme_settings['typography']['fontWeight'] ) . ';';
1215
-				}
1212
+                    // font weight
1213
+                    if( !empty( $theme_settings['typography']['fontWeight'] ) ){
1214
+                    $css .= '--bs-body-font-weight: ' . esc_attr( $theme_settings['typography']['fontWeight'] ) . ';';
1215
+                }
1216 1216
 
1217
-				// Background
1218
-				 if( !empty( $theme_settings['color']['background'] ) ){
1219
-					$css .= '--bs-body-bg: ' . esc_attr( $theme_settings['color']['background'] ) . ';';
1220
-				}
1217
+                // Background
1218
+                    if( !empty( $theme_settings['color']['background'] ) ){
1219
+                    $css .= '--bs-body-bg: ' . esc_attr( $theme_settings['color']['background'] ) . ';';
1220
+                }
1221 1221
 
1222
-				 // Background Gradient
1223
-				 if( !empty( $theme_settings['color']['gradient'] ) ){
1224
-					$css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';';
1225
-				}
1222
+                    // Background Gradient
1223
+                    if( !empty( $theme_settings['color']['gradient'] ) ){
1224
+                    $css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';';
1225
+                }
1226 1226
 
1227
-				   // Background Gradient
1228
-				 if( !empty( $theme_settings['color']['gradient'] ) ){
1229
-					$css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';';
1230
-				}
1227
+                    // Background Gradient
1228
+                    if( !empty( $theme_settings['color']['gradient'] ) ){
1229
+                    $css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';';
1230
+                }
1231 1231
 
1232
-				// text color
1233
-				if( !empty( $theme_settings['color']['text'] ) ){
1234
-					$css .= '--bs-body-color: ' . esc_attr( $theme_settings['color']['text'] ) . ';';
1235
-				}
1232
+                // text color
1233
+                if( !empty( $theme_settings['color']['text'] ) ){
1234
+                    $css .= '--bs-body-color: ' . esc_attr( $theme_settings['color']['text'] ) . ';';
1235
+                }
1236 1236
 
1237 1237
 
1238
-				// link colors
1239
-				if( !empty( $theme_settings['elements']['link']['color']['text'] ) ){
1240
-					$css .= '--bs-link-color: ' . esc_attr( $theme_settings['elements']['link']['color']['text'] ) . ';';
1241
-				}
1242
-				if( !empty( $theme_settings['elements']['link'][':hover']['color']['text'] ) ){
1243
-					$css .= '--bs-link-hover-color: ' . esc_attr( $theme_settings['elements']['link'][':hover']['color']['text'] ) . ';';
1244
-				}
1238
+                // link colors
1239
+                if( !empty( $theme_settings['elements']['link']['color']['text'] ) ){
1240
+                    $css .= '--bs-link-color: ' . esc_attr( $theme_settings['elements']['link']['color']['text'] ) . ';';
1241
+                }
1242
+                if( !empty( $theme_settings['elements']['link'][':hover']['color']['text'] ) ){
1243
+                    $css .= '--bs-link-hover-color: ' . esc_attr( $theme_settings['elements']['link'][':hover']['color']['text'] ) . ';';
1244
+                }
1245 1245
 
1246
-				if($css){
1247
-					$custom_css .= $is_fse ? 'body.editor-styles-wrapper{' . esc_attr( $css ) . '}' : 'body{' . esc_attr( $css ) . '}';
1248
-				}
1246
+                if($css){
1247
+                    $custom_css .= $is_fse ? 'body.editor-styles-wrapper{' . esc_attr( $css ) . '}' : 'body{' . esc_attr( $css ) . '}';
1248
+                }
1249 1249
 
1250
-				$bep = $is_fse ? 'body.editor-styles-wrapper ' : '';
1250
+                $bep = $is_fse ? 'body.editor-styles-wrapper ' : '';
1251 1251
 
1252
-				// Headings
1253
-				$headings_css = '';
1254
-				if( !empty( $theme_settings['elements']['heading']['color']['text'] ) ){
1255
-					$headings_css .= "color: " . esc_attr( $theme_settings['elements']['heading']['color']['text'] ) . ";";
1256
-				}
1252
+                // Headings
1253
+                $headings_css = '';
1254
+                if( !empty( $theme_settings['elements']['heading']['color']['text'] ) ){
1255
+                    $headings_css .= "color: " . esc_attr( $theme_settings['elements']['heading']['color']['text'] ) . ";";
1256
+                }
1257 1257
 
1258
-				// heading background
1259
-				if( !empty( $theme_settings['elements']['heading']['color']['background'] ) ){
1260
-					$headings_css .= 'background: ' . esc_attr( $theme_settings['elements']['heading']['color']['background'] ) . ';';
1261
-				}
1258
+                // heading background
1259
+                if( !empty( $theme_settings['elements']['heading']['color']['background'] ) ){
1260
+                    $headings_css .= 'background: ' . esc_attr( $theme_settings['elements']['heading']['color']['background'] ) . ';';
1261
+                }
1262 1262
 
1263
-				 // heading font family
1264
-				if( !empty( $theme_settings['elements']['heading']['typography']['fontFamily'] ) ){
1265
-					$headings_css .= 'font-family: ' . esc_attr( $theme_settings['elements']['heading']['typography']['fontFamily']  ) . ';';
1266
-				}
1263
+                    // heading font family
1264
+                if( !empty( $theme_settings['elements']['heading']['typography']['fontFamily'] ) ){
1265
+                    $headings_css .= 'font-family: ' . esc_attr( $theme_settings['elements']['heading']['typography']['fontFamily']  ) . ';';
1266
+                }
1267 1267
 
1268
-				if( $headings_css ){
1269
-					$custom_css .= "$bep h1,$bep h2,$bep h3, $bep h4,$bep h5,$bep h6{ " . esc_attr( $headings_css ) . "}";
1270
-				}
1268
+                if( $headings_css ){
1269
+                    $custom_css .= "$bep h1,$bep h2,$bep h3, $bep h4,$bep h5,$bep h6{ " . esc_attr( $headings_css ) . "}";
1270
+                }
1271 1271
 
1272
-				$hs = array('h1','h2','h3','h4','h5','h6');
1272
+                $hs = array('h1','h2','h3','h4','h5','h6');
1273 1273
 
1274
-				foreach($hs as $hn){
1275
-					$h_css = '';
1276
-					 if( !empty( $theme_settings['elements'][$hn]['color']['text'] ) ){
1277
-						$h_css .= 'color: ' . esc_attr( $theme_settings['elements'][$hn]['color']['text'] ) . ';';
1278
-					 }
1274
+                foreach($hs as $hn){
1275
+                    $h_css = '';
1276
+                        if( !empty( $theme_settings['elements'][$hn]['color']['text'] ) ){
1277
+                        $h_css .= 'color: ' . esc_attr( $theme_settings['elements'][$hn]['color']['text'] ) . ';';
1278
+                        }
1279 1279
 
1280
-					  if( !empty( $theme_settings['elements'][$hn]['typography']['fontSize'] ) ){
1281
-						$h_css .= 'font-size: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontSize']  ) . ';';
1282
-					 }
1280
+                        if( !empty( $theme_settings['elements'][$hn]['typography']['fontSize'] ) ){
1281
+                        $h_css .= 'font-size: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontSize']  ) . ';';
1282
+                        }
1283 1283
 
1284
-					  if( !empty( $theme_settings['elements'][$hn]['typography']['fontFamily'] ) ){
1285
-						$h_css .= 'font-family: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontFamily']  ) . ';';
1286
-					 }
1284
+                        if( !empty( $theme_settings['elements'][$hn]['typography']['fontFamily'] ) ){
1285
+                        $h_css .= 'font-family: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontFamily']  ) . ';';
1286
+                        }
1287 1287
 
1288
-					 if($h_css){
1289
-						$custom_css .= esc_attr( $bep  . $hn ) . '{'.esc_attr( $h_css ).'}';
1290
-					 }
1291
-				}
1292
-			}
1288
+                        if($h_css){
1289
+                        $custom_css .= esc_attr( $bep  . $hn ) . '{'.esc_attr( $h_css ).'}';
1290
+                        }
1291
+                }
1292
+            }
1293 1293
 			
1294
-			if ( $custom_css ) {
1295
-				echo $custom_css; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1296
-			}
1297
-
1298
-			// Pagination on Hello Elementor theme.
1299
-			if ( function_exists( 'hello_elementor_setup' ) ) {
1300
-				echo '.aui-nav-links .pagination{justify-content:inherit}';
1301
-			}
1302
-			?></style><?php
1303
-			$custom_css = ob_get_clean();
1304
-
1305
-			/*
1294
+            if ( $custom_css ) {
1295
+                echo $custom_css; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1296
+            }
1297
+
1298
+            // Pagination on Hello Elementor theme.
1299
+            if ( function_exists( 'hello_elementor_setup' ) ) {
1300
+                echo '.aui-nav-links .pagination{justify-content:inherit}';
1301
+            }
1302
+            ?></style><?php
1303
+            $custom_css = ob_get_clean();
1304
+
1305
+            /*
1306 1306
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1307 1307
 			 */
1308
-			return str_replace( array(
1309
-				'<style>',
1310
-				'</style>'
1311
-			), '', self::minify_css( $custom_css ) );
1312
-		}
1313
-
1314
-		/**
1315
-		 * Check if we should add booststrap 3 compatibility changes.
1316
-		 *
1317
-		 * @return bool
1318
-		 */
1319
-		public static function is_bs3_compat(){
1320
-			return defined('AYECODE_UI_BS3_COMPAT') || defined('SVQ_THEME_VERSION') || defined('FUSION_BUILDER_VERSION');
1321
-		}
1322
-
1323
-		public static function hex_to_rgb( $hex ) {
1324
-			// Remove '#' if present
1325
-			$hex = str_replace( '#', '', $hex );
1326
-
1327
-			// Check if input is RGB
1328
-			if ( strpos( $hex, 'rgba(' ) === 0 || strpos( $hex, 'rgb(' ) === 0 ) {
1329
-				$_rgb = explode( ',', str_replace( array( 'rgba(', 'rgb(', ')' ), '', $hex ) );
1330
-
1331
-				$rgb = ( isset( $_rgb[0] ) ? (int) trim( $_rgb[0] ) : '0' ) . ',';
1332
-				$rgb .= ( isset( $_rgb[1] ) ? (int) trim( $_rgb[1] ) : '0' ) . ',';
1333
-				$rgb .= ( isset( $_rgb[2] ) ? (int) trim( $_rgb[2] ) : '0' );
1334
-
1335
-				return $rgb;
1336
-			}
1337
-
1338
-			// Convert 3-digit hex to 6-digit hex
1339
-			if ( strlen( $hex ) == 3 ) {
1340
-				$hex = str_repeat( substr( $hex, 0, 1 ), 2 ) . str_repeat( substr( $hex, 1, 1 ), 2 ) . str_repeat( substr( $hex, 2, 1 ), 2 );
1341
-			}
1342
-
1343
-			// Convert hex to RGB
1344
-			$r = hexdec( substr( $hex, 0, 2 ) );
1345
-			$g = hexdec( substr( $hex, 2, 2 ) );
1346
-			$b = hexdec( substr( $hex, 4, 2 ) );
1347
-
1348
-			// Return RGB values as an array
1349
-			return $r . ',' . $g . ',' . $b;
1350
-		}
1351
-
1352
-		/**
1353
-		 * Build the CSS to overwrite a bootstrap color variable.
1354
-		 *
1355
-		 * @param $type
1356
-		 * @param $color_code
1357
-		 * @param $compatibility
1358
-		 *
1359
-		 * @return string
1360
-		 */
1361
-		public static function css_overwrite_bs5($type,$color_code,$compatibility, $hex = '' ){
1362
-			global $aui_bs5;
1363
-
1364
-			$is_var = false;
1365
-			$is_custom = strpos($type, 'custom-') !== false ? true : false;
1366
-			if(!$color_code){return '';}
1367
-			if(strpos($color_code, 'var') !== false){
1368
-				//if(!sanitize_hex_color($color_code)){
1369
-				$color_code = esc_attr($color_code);
1370
-				$is_var = true;
1308
+            return str_replace( array(
1309
+                '<style>',
1310
+                '</style>'
1311
+            ), '', self::minify_css( $custom_css ) );
1312
+        }
1313
+
1314
+        /**
1315
+         * Check if we should add booststrap 3 compatibility changes.
1316
+         *
1317
+         * @return bool
1318
+         */
1319
+        public static function is_bs3_compat(){
1320
+            return defined('AYECODE_UI_BS3_COMPAT') || defined('SVQ_THEME_VERSION') || defined('FUSION_BUILDER_VERSION');
1321
+        }
1322
+
1323
+        public static function hex_to_rgb( $hex ) {
1324
+            // Remove '#' if present
1325
+            $hex = str_replace( '#', '', $hex );
1326
+
1327
+            // Check if input is RGB
1328
+            if ( strpos( $hex, 'rgba(' ) === 0 || strpos( $hex, 'rgb(' ) === 0 ) {
1329
+                $_rgb = explode( ',', str_replace( array( 'rgba(', 'rgb(', ')' ), '', $hex ) );
1330
+
1331
+                $rgb = ( isset( $_rgb[0] ) ? (int) trim( $_rgb[0] ) : '0' ) . ',';
1332
+                $rgb .= ( isset( $_rgb[1] ) ? (int) trim( $_rgb[1] ) : '0' ) . ',';
1333
+                $rgb .= ( isset( $_rgb[2] ) ? (int) trim( $_rgb[2] ) : '0' );
1334
+
1335
+                return $rgb;
1336
+            }
1337
+
1338
+            // Convert 3-digit hex to 6-digit hex
1339
+            if ( strlen( $hex ) == 3 ) {
1340
+                $hex = str_repeat( substr( $hex, 0, 1 ), 2 ) . str_repeat( substr( $hex, 1, 1 ), 2 ) . str_repeat( substr( $hex, 2, 1 ), 2 );
1341
+            }
1342
+
1343
+            // Convert hex to RGB
1344
+            $r = hexdec( substr( $hex, 0, 2 ) );
1345
+            $g = hexdec( substr( $hex, 2, 2 ) );
1346
+            $b = hexdec( substr( $hex, 4, 2 ) );
1347
+
1348
+            // Return RGB values as an array
1349
+            return $r . ',' . $g . ',' . $b;
1350
+        }
1351
+
1352
+        /**
1353
+         * Build the CSS to overwrite a bootstrap color variable.
1354
+         *
1355
+         * @param $type
1356
+         * @param $color_code
1357
+         * @param $compatibility
1358
+         *
1359
+         * @return string
1360
+         */
1361
+        public static function css_overwrite_bs5($type,$color_code,$compatibility, $hex = '' ){
1362
+            global $aui_bs5;
1363
+
1364
+            $is_var = false;
1365
+            $is_custom = strpos($type, 'custom-') !== false ? true : false;
1366
+            if(!$color_code){return '';}
1367
+            if(strpos($color_code, 'var') !== false){
1368
+                //if(!sanitize_hex_color($color_code)){
1369
+                $color_code = esc_attr($color_code);
1370
+                $is_var = true;
1371 1371
 //				$color_code = "rgba($color_code, 0.5)";
1372 1372
 //                echo '###1'.$color_code.'###';//exit;
1373
-			}
1373
+            }
1374 1374
 
1375 1375
 //            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1376 1376
 
1377
-			if(!$color_code){return '';}
1377
+            if(!$color_code){return '';}
1378 1378
 
1379
-			$rgb = self::hex_to_rgb($hex);
1379
+            $rgb = self::hex_to_rgb($hex);
1380 1380
 
1381
-			if($compatibility===true || $compatibility===1){
1382
-				$compatibility = '.bsui';
1383
-			}elseif(!$compatibility){
1384
-				$compatibility = '';
1385
-			}else{
1386
-				$compatibility = esc_attr($compatibility);
1387
-			}
1381
+            if($compatibility===true || $compatibility===1){
1382
+                $compatibility = '.bsui';
1383
+            }elseif(!$compatibility){
1384
+                $compatibility = '';
1385
+            }else{
1386
+                $compatibility = esc_attr($compatibility);
1387
+            }
1388 1388
 
1389
-			$prefix = $compatibility ? $compatibility . " " : "";
1389
+            $prefix = $compatibility ? $compatibility . " " : "";
1390 1390
 
1391 1391
 
1392 1392
             $output = '';
1393 1393
 
1394 1394
 //            echo '####'.$color_code;exit;
1395 1395
 
1396
-			$type = sanitize_html_class($type);
1396
+            $type = sanitize_html_class($type);
1397
+
1398
+            /**
1399
+             * c = color, b = background color, o = border-color, f = fill
1400
+             */
1401
+            $selectors = array(
1402
+                ".btn-{$type}"                                              => array( 'b', 'o' ),
1403
+                ".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1404
+                ".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1405
+                ".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1406
+                ".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1407
+                ".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1408
+                ".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1409
+                ".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1410
+                ".badge-{$type}"                                            => array( 'b' ),
1411
+                ".alert-{$type}"                                            => array( 'b', 'o' ),
1412
+                ".bg-{$type}"                                               => array( 'b', 'f' ),
1413
+                ".btn-link.btn-{$type}"                                     => array( 'c' ),
1414
+                ".text-{$type}"                                     => array( 'c' ),
1415
+            );
1416
+
1417
+            if ( $aui_bs5 ) {
1418
+                unset($selectors[".alert-{$type}" ]);
1419
+            }
1397 1420
 
1398
-			/**
1399
-			 * c = color, b = background color, o = border-color, f = fill
1400
-			 */
1401
-			$selectors = array(
1402
-				".btn-{$type}"                                              => array( 'b', 'o' ),
1403
-				".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1404
-				".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1405
-				".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1406
-				".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1407
-				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1408
-				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1409
-				".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1410
-				".badge-{$type}"                                            => array( 'b' ),
1411
-				".alert-{$type}"                                            => array( 'b', 'o' ),
1412
-				".bg-{$type}"                                               => array( 'b', 'f' ),
1413
-				".btn-link.btn-{$type}"                                     => array( 'c' ),
1414
-				".text-{$type}"                                     => array( 'c' ),
1415
-			);
1416
-
1417
-			if ( $aui_bs5 ) {
1418
-				unset($selectors[".alert-{$type}" ]);
1419
-			}
1420
-
1421
-			if ( $type == 'primary' ) {
1422
-				$selectors = $selectors + array(
1423
-						'a'                                                                                                    => array( 'c' ),
1424
-						'.btn-link'                                                                                            => array( 'c' ),
1425
-						'.dropdown-item.active'                                                                                => array( 'b' ),
1426
-						'.custom-control-input:checked~.custom-control-label::before'                                          => array(
1427
-							'b',
1428
-							'o'
1429
-						),
1430
-						'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1431
-							'b',
1432
-							'o'
1433
-						),
1434
-						'.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1435
-						'.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1436
-						'.page-link'                                                                                           => array( 'c' ),
1437
-						'.page-item.active .page-link'                                                                         => array(
1438
-							'b',
1439
-							'o'
1440
-						),
1441
-						'.progress-bar'                                                                                        => array( 'b' ),
1442
-						'.list-group-item.active'                                                                              => array(
1443
-							'b',
1444
-							'o'
1445
-						),
1446
-						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1447
-					);
1448
-			}
1421
+            if ( $type == 'primary' ) {
1422
+                $selectors = $selectors + array(
1423
+                        'a'                                                                                                    => array( 'c' ),
1424
+                        '.btn-link'                                                                                            => array( 'c' ),
1425
+                        '.dropdown-item.active'                                                                                => array( 'b' ),
1426
+                        '.custom-control-input:checked~.custom-control-label::before'                                          => array(
1427
+                            'b',
1428
+                            'o'
1429
+                        ),
1430
+                        '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1431
+                            'b',
1432
+                            'o'
1433
+                        ),
1434
+                        '.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1435
+                        '.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1436
+                        '.page-link'                                                                                           => array( 'c' ),
1437
+                        '.page-item.active .page-link'                                                                         => array(
1438
+                            'b',
1439
+                            'o'
1440
+                        ),
1441
+                        '.progress-bar'                                                                                        => array( 'b' ),
1442
+                        '.list-group-item.active'                                                                              => array(
1443
+                            'b',
1444
+                            'o'
1445
+                        ),
1446
+                        '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1447
+                    );
1448
+            }
1449 1449
 
1450 1450
 
1451 1451
 
1452 1452
             // link
1453
-			if ( $type === 'primary' ) {
1454
-				$output .= 'html body {--bs-link-hover-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .75); --bs-link-color: var(--bs-'.esc_attr($type).'); }';
1455
-				$output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: '.esc_attr($color_code).';  }';
1456
-				$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).'; }';
1453
+            if ( $type === 'primary' ) {
1454
+                $output .= 'html body {--bs-link-hover-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .75); --bs-link-color: var(--bs-'.esc_attr($type).'); }';
1455
+                $output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: '.esc_attr($color_code).';  }';
1456
+                $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).'; }';
1457 1457
 
1458
-				$output .= $prefix . ' a{color: var(--bs-'.esc_attr($type).');}';
1459
-				$output .= $prefix . ' .text-primary{color: var(--bs-'.esc_attr($type).') !important;}';
1458
+                $output .= $prefix . ' a{color: var(--bs-'.esc_attr($type).');}';
1459
+                $output .= $prefix . ' .text-primary{color: var(--bs-'.esc_attr($type).') !important;}';
1460 1460
 
1461 1461
                 // dropdown
1462
-				$output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-'.esc_attr($type).'); --bs-dropdown-link-active-color: var(--bs-'.esc_attr($type).');}';
1462
+                $output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-'.esc_attr($type).'); --bs-dropdown-link-active-color: var(--bs-'.esc_attr($type).');}';
1463 1463
 
1464 1464
                 // pagination
1465
-				$output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-'.esc_attr($type).'); --bs-pagination-active-bg: var(--bs-'.esc_attr($type).');}';
1465
+                $output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-'.esc_attr($type).'); --bs-pagination-active-bg: var(--bs-'.esc_attr($type).');}';
1466 1466
 
1467
-			}
1467
+            }
1468 1468
 
1469
-			$output .= $prefix . ' .link-'.esc_attr($type).' {color: var(--bs-'.esc_attr($type).'-rgb) !important;}';
1470
-			$output .= $prefix . ' .link-'.esc_attr($type).':hover {color: rgba(var(--bs-'.esc_attr($type).'-rgb), .8) !important;}';
1469
+            $output .= $prefix . ' .link-'.esc_attr($type).' {color: var(--bs-'.esc_attr($type).'-rgb) !important;}';
1470
+            $output .= $prefix . ' .link-'.esc_attr($type).':hover {color: rgba(var(--bs-'.esc_attr($type).'-rgb), .8) !important;}';
1471 1471
 
1472
-			//  buttons
1473
-			$output .= $prefix . ' .btn-'.esc_attr($type).'{';
1474
-			$output .= ' 
1472
+            //  buttons
1473
+            $output .= $prefix . ' .btn-'.esc_attr($type).'{';
1474
+            $output .= ' 
1475 1475
             --bs-btn-bg: '.esc_attr($color_code).';
1476 1476
             --bs-btn-border-color: '.esc_attr($color_code).';
1477 1477
             --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
@@ -1489,11 +1489,11 @@  discard block
 block discarded – undo
1489 1489
 //			--bs-btn-active-color: #fff;
1490 1490
 //			--bs-btn-disabled-color: #fff;
1491 1491
 //            ';
1492
-			$output .= '}';
1492
+            $output .= '}';
1493 1493
 
1494
-			//  buttons outline
1495
-			$output .= $prefix . ' .btn-outline-'.esc_attr($type).'{';
1496
-			$output .= ' 
1494
+            //  buttons outline
1495
+            $output .= $prefix . ' .btn-outline-'.esc_attr($type).'{';
1496
+            $output .= ' 
1497 1497
 			--bs-btn-color: '.esc_attr($color_code).';
1498 1498
             --bs-btn-border-color: '.esc_attr($color_code).';
1499 1499
             --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
@@ -1511,37 +1511,37 @@  discard block
 block discarded – undo
1511 1511
 //			--bs-btn-active-color: #fff;
1512 1512
 //			--bs-btn-disabled-color: #fff;
1513 1513
 //            ';
1514
-			$output .= '}';
1514
+            $output .= '}';
1515 1515
 
1516 1516
 
1517 1517
             // button hover
1518
-			$output .= $prefix . ' .btn-'.esc_attr($type).':hover{';
1519
-			$output .= ' 
1518
+            $output .= $prefix . ' .btn-'.esc_attr($type).':hover{';
1519
+            $output .= ' 
1520 1520
             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);
1521 1521
             }
1522 1522
             ';
1523 1523
 
1524 1524
 
1525
-			if ( $aui_bs5 ) {
1525
+            if ( $aui_bs5 ) {
1526 1526
 //				$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).'; }';
1527
-				$output .= 'html body {--bs-'.esc_attr($type).': '.esc_attr($color_code).'; }';
1528
-				$output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1529
-			}
1527
+                $output .= 'html body {--bs-'.esc_attr($type).': '.esc_attr($color_code).'; }';
1528
+                $output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1529
+            }
1530 1530
 
1531 1531
 
1532
-			if ( $is_custom ) {
1532
+            if ( $is_custom ) {
1533 1533
 
1534 1534
 //				echo '###'.$type;exit;
1535 1535
 
1536
-				// build rules into each type
1537
-				foreach($selectors as $selector => $types){
1538
-					$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1539
-					$types = array_combine($types,$types);
1540
-					if(isset($types['c'])){$color[] = $selector;}
1541
-					if(isset($types['b'])){$background[] = $selector;}
1542
-					if(isset($types['o'])){$border[] = $selector;}
1543
-					if(isset($types['f'])){$fill[] = $selector;}
1544
-				}
1536
+                // build rules into each type
1537
+                foreach($selectors as $selector => $types){
1538
+                    $selector = $compatibility ? $compatibility . " ".$selector : $selector;
1539
+                    $types = array_combine($types,$types);
1540
+                    if(isset($types['c'])){$color[] = $selector;}
1541
+                    if(isset($types['b'])){$background[] = $selector;}
1542
+                    if(isset($types['o'])){$border[] = $selector;}
1543
+                    if(isset($types['f'])){$fill[] = $selector;}
1544
+                }
1545 1545
 
1546 1546
 //				// build rules into each type
1547 1547
 //				foreach($important_selectors as $selector => $types){
@@ -1553,853 +1553,853 @@  discard block
 block discarded – undo
1553 1553
 //					if(isset($types['f'])){$fill_i[] = $selector;}
1554 1554
 //				}
1555 1555
 
1556
-				// add any color rules
1557
-				if(!empty($color)){
1558
-					$output .= implode(",",$color) . "{color: $color_code;} ";
1559
-				}
1560
-				if(!empty($color_i)){
1561
-					$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1562
-				}
1556
+                // add any color rules
1557
+                if(!empty($color)){
1558
+                    $output .= implode(",",$color) . "{color: $color_code;} ";
1559
+                }
1560
+                if(!empty($color_i)){
1561
+                    $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1562
+                }
1563
+
1564
+                // add any background color rules
1565
+                if(!empty($background)){
1566
+                    $output .= implode(",",$background) . "{background-color: $color_code;} ";
1567
+                }
1568
+                if(!empty($background_i)){
1569
+                    $output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1570
+//				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1571
+                }
1572
+
1573
+                // add any border color rules
1574
+                if(!empty($border)){
1575
+                    $output .= implode(",",$border) . "{border-color: $color_code;} ";
1576
+                }
1577
+                if(!empty($border_i)){
1578
+                    $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1579
+                }
1580
+
1581
+                // add any fill color rules
1582
+                if(!empty($fill)){
1583
+                    $output .= implode(",",$fill) . "{fill: $color_code;} ";
1584
+                }
1585
+                if(!empty($fill_i)){
1586
+                    $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1587
+                }
1588
+
1589
+            }
1590
+
1591
+
1592
+
1593
+
1594
+            $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;' : '';
1595
+            // darken
1596
+            $darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1597
+            $darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1598
+            $darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1599
+            $darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1600
+
1601
+            // lighten
1602
+            $lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1603
+
1604
+            // opacity see https://css-tricks.com/8-digit-hex-codes/
1605
+            $op_25 = $color_code."40"; // 25% opacity
1606
+
1607
+
1608
+            // button states
1609
+            $output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1610
+            $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1611
+//			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1612
+            $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;} ";
1613
+            $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.";} ";
1614
+            $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;} ";
1615
+            $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled):focus {box-shadow: 0 0.25rem 0.25rem 0.125rem rgba(var(--bs-{$type}-rgb), 0.1), 0 0.375rem 0.75rem -0.125rem rgba(var(--bs-{$type}-rgb), 0.4);} ";
1616
+
1617
+            // text
1618
+//			$output .= $prefix .".xxx, .text-{$type} {color: var(--bs-".esc_attr($type).");} ";
1619
+
1620
+
1621
+//			if ( $type == 'primary' ) {
1622
+//				// dropdown's
1623
+//				$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1624
+//
1625
+//				// input states
1626
+//				$output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
1627
+//
1628
+//				// page link
1629
+//				$output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1630
+//			}
1631
+
1632
+            // alerts
1633
+            if ( $aui_bs5 ) {
1634
+//				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1635
+                $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;} ";
1636
+            }
1637
+
1638
+            return $output;
1639
+        }
1640
+
1641
+        /**
1642
+         * Build the CSS to overwrite a bootstrap color variable.
1643
+         *
1644
+         * @param $type
1645
+         * @param $color_code
1646
+         * @param $compatibility
1647
+         *
1648
+         * @return string
1649
+         */
1650
+        public static function css_overwrite($type,$color_code,$compatibility, $hex = '' ){
1651
+            global $aui_bs5;
1652
+
1653
+            $is_var = false;
1654
+            if(!$color_code){return '';}
1655
+            if(strpos($color_code, 'var') !== false){
1656
+                //if(!sanitize_hex_color($color_code)){
1657
+                $color_code = esc_attr($color_code);
1658
+                $is_var = true;
1659
+//				$color_code = "rgba($color_code, 0.5)";
1660
+//                echo '###1'.$color_code.'###';//exit;
1661
+            }
1662
+
1663
+//            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1664
+
1665
+            if(!$color_code){return '';}
1666
+
1667
+            $rgb = self::hex_to_rgb($hex);
1668
+
1669
+            if($compatibility===true || $compatibility===1){
1670
+                $compatibility = '.bsui';
1671
+            }elseif(!$compatibility){
1672
+                $compatibility = '';
1673
+            }else{
1674
+                $compatibility = esc_attr($compatibility);
1675
+            }
1676
+
1677
+
1678
+
1679
+//            echo '####'.$color_code;exit;
1680
+
1681
+            $type = sanitize_html_class($type);
1682
+
1683
+            /**
1684
+             * c = color, b = background color, o = border-color, f = fill
1685
+             */
1686
+            $selectors = array(
1687
+                ".btn-{$type}"                                              => array( 'b', 'o' ),
1688
+                ".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1689
+                ".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1690
+                ".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1691
+                ".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1692
+                ".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1693
+                ".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1694
+                ".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1695
+                ".badge-{$type}"                                            => array( 'b' ),
1696
+                ".alert-{$type}"                                            => array( 'b', 'o' ),
1697
+                ".bg-{$type}"                                               => array( 'b', 'f' ),
1698
+                ".btn-link.btn-{$type}"                                     => array( 'c' ),
1699
+            );
1700
+
1701
+            if ( $aui_bs5 ) {
1702
+                unset($selectors[".alert-{$type}" ]);
1703
+            }
1704
+
1705
+            if ( $type == 'primary' ) {
1706
+                $selectors = $selectors + array(
1707
+                        'a'                                                                                                    => array( 'c' ),
1708
+                        '.btn-link'                                                                                            => array( 'c' ),
1709
+                        '.dropdown-item.active'                                                                                => array( 'b' ),
1710
+                        '.custom-control-input:checked~.custom-control-label::before'                                          => array(
1711
+                            'b',
1712
+                            'o'
1713
+                        ),
1714
+                        '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1715
+                            'b',
1716
+                            'o'
1717
+                        ),
1718
+                        '.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1719
+                        '.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1720
+                        '.page-link'                                                                                           => array( 'c' ),
1721
+                        '.page-item.active .page-link'                                                                         => array(
1722
+                            'b',
1723
+                            'o'
1724
+                        ),
1725
+                        '.progress-bar'                                                                                        => array( 'b' ),
1726
+                        '.list-group-item.active'                                                                              => array(
1727
+                            'b',
1728
+                            'o'
1729
+                        ),
1730
+                        '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1731
+//				    '.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1732
+//				    '.custom-range::-moz-range-thumb' => array('b'),
1733
+//				    '.custom-range::-ms-thumb' => array('b'),
1734
+                    );
1735
+            }
1736
+
1737
+            $important_selectors = array(
1738
+                ".bg-{$type}" => array('b','f'),
1739
+                ".border-{$type}" => array('o'),
1740
+                ".text-{$type}" => array('c'),
1741
+            );
1742
+
1743
+            $color = array();
1744
+            $color_i = array();
1745
+            $background = array();
1746
+            $background_i = array();
1747
+            $border = array();
1748
+            $border_i = array();
1749
+            $fill = array();
1750
+            $fill_i = array();
1751
+
1752
+            $output = '';
1753
+
1754
+            if ( $aui_bs5 ) {
1755
+//				$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).'; }';
1756
+                $output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1757
+            }
1758
+
1759
+            // build rules into each type
1760
+            foreach($selectors as $selector => $types){
1761
+                $selector = $compatibility ? $compatibility . " ".$selector : $selector;
1762
+                $types = array_combine($types,$types);
1763
+                if(isset($types['c'])){$color[] = $selector;}
1764
+                if(isset($types['b'])){$background[] = $selector;}
1765
+                if(isset($types['o'])){$border[] = $selector;}
1766
+                if(isset($types['f'])){$fill[] = $selector;}
1767
+            }
1768
+
1769
+            // build rules into each type
1770
+            foreach($important_selectors as $selector => $types){
1771
+                $selector = $compatibility ? $compatibility . " ".$selector : $selector;
1772
+                $types = array_combine($types,$types);
1773
+                if(isset($types['c'])){$color_i[] = $selector;}
1774
+                if(isset($types['b'])){$background_i[] = $selector;}
1775
+                if(isset($types['o'])){$border_i[] = $selector;}
1776
+                if(isset($types['f'])){$fill_i[] = $selector;}
1777
+            }
1778
+
1779
+            // add any color rules
1780
+            if(!empty($color)){
1781
+                $output .= implode(",",$color) . "{color: $color_code;} ";
1782
+            }
1783
+            if(!empty($color_i)){
1784
+                $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1785
+            }
1786
+
1787
+            // add any background color rules
1788
+            if(!empty($background)){
1789
+                $output .= implode(",",$background) . "{background-color: $color_code;} ";
1790
+            }
1791
+            if(!empty($background_i)){
1792
+                $output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1793
+//				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1794
+            }
1795
+
1796
+            // add any border color rules
1797
+            if(!empty($border)){
1798
+                $output .= implode(",",$border) . "{border-color: $color_code;} ";
1799
+            }
1800
+            if(!empty($border_i)){
1801
+                $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1802
+            }
1803
+
1804
+            // add any fill color rules
1805
+            if(!empty($fill)){
1806
+                $output .= implode(",",$fill) . "{fill: $color_code;} ";
1807
+            }
1808
+            if(!empty($fill_i)){
1809
+                $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1810
+            }
1811
+
1812
+
1813
+            $prefix = $compatibility ? $compatibility . " " : "";
1814
+
1815
+            $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;' : '';
1816
+            // darken
1817
+            $darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1818
+            $darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1819
+            $darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1820
+            $darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1821
+
1822
+            // lighten
1823
+            $lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1824
+
1825
+            // opacity see https://css-tricks.com/8-digit-hex-codes/
1826
+            $op_25 = $color_code."40"; // 25% opacity
1827
+
1828
+
1829
+            // button states
1830
+            $output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1831
+            $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1832
+//			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1833
+            $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;} ";
1834
+            $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.";} ";
1835
+            $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;} ";
1836
+
1837
+            if ( $type == 'primary' ) {
1838
+                // dropdown's
1839
+                $output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1840
+
1841
+                // input states
1842
+                $output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
1843
+
1844
+                // page link
1845
+                $output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1846
+            }
1847
+
1848
+            // alerts
1849
+            if ( $aui_bs5 ) {
1850
+//				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1851
+                $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;} ";
1852
+            }
1853
+
1854
+            return $output;
1855
+        }
1856
+
1857
+        /**
1858
+         *
1859
+         * @deprecated 0.1.76 Use css_overwrite()
1860
+         *
1861
+         * @param $color_code
1862
+         * @param $compatibility
1863
+         * @param $use_variable
1864
+         *
1865
+         * @return string
1866
+         */
1867
+        public static function css_primary($color_code,$compatibility, $use_variable = false){
1868
+
1869
+            if(!$use_variable){
1870
+                $color_code = sanitize_hex_color($color_code);
1871
+                if(!$color_code){return '';}
1872
+            }
1873
+
1874
+            /**
1875
+             * c = color, b = background color, o = border-color, f = fill
1876
+             */
1877
+            $selectors = array(
1878
+                'a' => array('c'),
1879
+                '.btn-primary' => array('b','o'),
1880
+                '.btn-primary.disabled' => array('b','o'),
1881
+                '.btn-primary:disabled' => array('b','o'),
1882
+                '.btn-outline-primary' => array('c','o'),
1883
+                '.btn-outline-primary:hover' => array('b','o'),
1884
+                '.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'),
1885
+                '.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'),
1886
+                '.show>.btn-outline-primary.dropdown-toggle' => array('b','o'),
1887
+                '.btn-link' => array('c'),
1888
+                '.dropdown-item.active' => array('b'),
1889
+                '.custom-control-input:checked~.custom-control-label::before' => array('b','o'),
1890
+                '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'),
1891
+//				'.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1892
+//				'.custom-range::-moz-range-thumb' => array('b'),
1893
+//				'.custom-range::-ms-thumb' => array('b'),
1894
+                '.nav-pills .nav-link.active' => array('b'),
1895
+                '.nav-pills .show>.nav-link' => array('b'),
1896
+                '.page-link' => array('c'),
1897
+                '.page-item.active .page-link' => array('b','o'),
1898
+                '.badge-primary' => array('b'),
1899
+                '.alert-primary' => array('b','o'),
1900
+                '.progress-bar' => array('b'),
1901
+                '.list-group-item.active' => array('b','o'),
1902
+                '.bg-primary' => array('b','f'),
1903
+                '.btn-link.btn-primary' => array('c'),
1904
+                '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1905
+            );
1906
+
1907
+            $important_selectors = array(
1908
+                '.bg-primary' => array('b','f'),
1909
+                '.border-primary' => array('o'),
1910
+                '.text-primary' => array('c'),
1911
+            );
1912
+
1913
+            $color = array();
1914
+            $color_i = array();
1915
+            $background = array();
1916
+            $background_i = array();
1917
+            $border = array();
1918
+            $border_i = array();
1919
+            $fill = array();
1920
+            $fill_i = array();
1921
+
1922
+            $output = '';
1923
+
1924
+            // build rules into each type
1925
+            foreach($selectors as $selector => $types){
1926
+                $selector = $compatibility ? ".bsui ".$selector : $selector;
1927
+                $types = array_combine($types,$types);
1928
+                if(isset($types['c'])){$color[] = $selector;}
1929
+                if(isset($types['b'])){$background[] = $selector;}
1930
+                if(isset($types['o'])){$border[] = $selector;}
1931
+                if(isset($types['f'])){$fill[] = $selector;}
1932
+            }
1933
+
1934
+            // build rules into each type
1935
+            foreach($important_selectors as $selector => $types){
1936
+                $selector = $compatibility ? ".bsui ".$selector : $selector;
1937
+                $types = array_combine($types,$types);
1938
+                if(isset($types['c'])){$color_i[] = $selector;}
1939
+                if(isset($types['b'])){$background_i[] = $selector;}
1940
+                if(isset($types['o'])){$border_i[] = $selector;}
1941
+                if(isset($types['f'])){$fill_i[] = $selector;}
1942
+            }
1943
+
1944
+            // add any color rules
1945
+            if(!empty($color)){
1946
+                $output .= implode(",",$color) . "{color: $color_code;} ";
1947
+            }
1948
+            if(!empty($color_i)){
1949
+                $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1950
+            }
1951
+
1952
+            // add any background color rules
1953
+            if(!empty($background)){
1954
+                $output .= implode(",",$background) . "{background-color: $color_code;} ";
1955
+            }
1956
+            if(!empty($background_i)){
1957
+                $output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1958
+            }
1959
+
1960
+            // add any border color rules
1961
+            if(!empty($border)){
1962
+                $output .= implode(",",$border) . "{border-color: $color_code;} ";
1963
+            }
1964
+            if(!empty($border_i)){
1965
+                $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1966
+            }
1967
+
1968
+            // add any fill color rules
1969
+            if(!empty($fill)){
1970
+                $output .= implode(",",$fill) . "{fill: $color_code;} ";
1971
+            }
1972
+            if(!empty($fill_i)){
1973
+                $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1974
+            }
1975
+
1563 1976
 
1564
-				// add any background color rules
1565
-				if(!empty($background)){
1566
-					$output .= implode(",",$background) . "{background-color: $color_code;} ";
1567
-				}
1568
-				if(!empty($background_i)){
1569
-					$output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1570
-//				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1571
-				}
1977
+            $prefix = $compatibility ? ".bsui " : "";
1572 1978
 
1573
-				// add any border color rules
1574
-				if(!empty($border)){
1575
-					$output .= implode(",",$border) . "{border-color: $color_code;} ";
1576
-				}
1577
-				if(!empty($border_i)){
1578
-					$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1579
-				}
1979
+            // darken
1980
+            $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1981
+            $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1982
+            $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1580 1983
 
1581
-				// add any fill color rules
1582
-				if(!empty($fill)){
1583
-					$output .= implode(",",$fill) . "{fill: $color_code;} ";
1584
-				}
1585
-				if(!empty($fill_i)){
1586
-					$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1587
-				}
1984
+            // lighten
1985
+            $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1588 1986
 
1589
-			}
1987
+            // opacity see https://css-tricks.com/8-digit-hex-codes/
1988
+            $op_25 = $color_code."40"; // 25% opacity
1590 1989
 
1591 1990
 
1991
+            // button states
1992
+            $output .= $prefix ." .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1993
+            $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;} ";
1994
+            $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.";} ";
1995
+            $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;} ";
1592 1996
 
1593 1997
 
1594
-			$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;' : '';
1595
-			// darken
1596
-			$darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1597
-			$darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1598
-			$darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1599
-			$darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1998
+            // dropdown's
1999
+            $output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1600 2000
 
1601
-			// lighten
1602
-			$lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1603 2001
 
1604
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
1605
-			$op_25 = $color_code."40"; // 25% opacity
2002
+            // input states
2003
+            $output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} ";
1606 2004
 
2005
+            // page link
2006
+            $output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1607 2007
 
1608
-			// button states
1609
-			$output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1610
-			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1611
-//			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1612
-			$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;} ";
1613
-			$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.";} ";
1614
-            $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;} ";
1615
-            $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled):focus {box-shadow: 0 0.25rem 0.25rem 0.125rem rgba(var(--bs-{$type}-rgb), 0.1), 0 0.375rem 0.75rem -0.125rem rgba(var(--bs-{$type}-rgb), 0.4);} ";
2008
+            return $output;
2009
+        }
1616 2010
 
1617
-			// text
1618
-//			$output .= $prefix .".xxx, .text-{$type} {color: var(--bs-".esc_attr($type).");} ";
2011
+        /**
2012
+         *
2013
+         * @deprecated 0.1.76 Use css_overwrite()
2014
+         *
2015
+         * @param $color_code
2016
+         * @param $compatibility
2017
+         *
2018
+         * @return string
2019
+         */
2020
+        public static function css_secondary($color_code,$compatibility){;
2021
+            $color_code = sanitize_hex_color($color_code);
2022
+            if(!$color_code){return '';}
2023
+            /**
2024
+             * c = color, b = background color, o = border-color, f = fill
2025
+             */
2026
+            $selectors = array(
2027
+                '.btn-secondary' => array('b','o'),
2028
+                '.btn-secondary.disabled' => array('b','o'),
2029
+                '.btn-secondary:disabled' => array('b','o'),
2030
+                '.btn-outline-secondary' => array('c','o'),
2031
+                '.btn-outline-secondary:hover' => array('b','o'),
2032
+                '.btn-outline-secondary.disabled' => array('c'),
2033
+                '.btn-outline-secondary:disabled' => array('c'),
2034
+                '.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'),
2035
+                '.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'),
2036
+                '.btn-outline-secondary.dropdown-toggle' => array('b','o'),
2037
+                '.badge-secondary' => array('b'),
2038
+                '.alert-secondary' => array('b','o'),
2039
+                '.btn-link.btn-secondary' => array('c'),
2040
+            );
2041
+
2042
+            $important_selectors = array(
2043
+                '.bg-secondary' => array('b','f'),
2044
+                '.border-secondary' => array('o'),
2045
+                '.text-secondary' => array('c'),
2046
+            );
2047
+
2048
+            $color = array();
2049
+            $color_i = array();
2050
+            $background = array();
2051
+            $background_i = array();
2052
+            $border = array();
2053
+            $border_i = array();
2054
+            $fill = array();
2055
+            $fill_i = array();
1619 2056
 
2057
+            $output = '';
1620 2058
 
1621
-//			if ( $type == 'primary' ) {
1622
-//				// dropdown's
1623
-//				$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1624
-//
1625
-//				// input states
1626
-//				$output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
1627
-//
1628
-//				// page link
1629
-//				$output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1630
-//			}
2059
+            // build rules into each type
2060
+            foreach($selectors as $selector => $types){
2061
+                $selector = $compatibility ? ".bsui ".$selector : $selector;
2062
+                $types = array_combine($types,$types);
2063
+                if(isset($types['c'])){$color[] = $selector;}
2064
+                if(isset($types['b'])){$background[] = $selector;}
2065
+                if(isset($types['o'])){$border[] = $selector;}
2066
+                if(isset($types['f'])){$fill[] = $selector;}
2067
+            }
1631 2068
 
1632
-			// alerts
1633
-			if ( $aui_bs5 ) {
1634
-//				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1635
-				$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;} ";
1636
-			}
1637
-
1638
-			return $output;
1639
-		}
1640
-
1641
-		/**
1642
-		 * Build the CSS to overwrite a bootstrap color variable.
1643
-		 *
1644
-		 * @param $type
1645
-		 * @param $color_code
1646
-		 * @param $compatibility
1647
-		 *
1648
-		 * @return string
1649
-		 */
1650
-		public static function css_overwrite($type,$color_code,$compatibility, $hex = '' ){
1651
-            global $aui_bs5;
2069
+            // build rules into each type
2070
+            foreach($important_selectors as $selector => $types){
2071
+                $selector = $compatibility ? ".bsui ".$selector : $selector;
2072
+                $types = array_combine($types,$types);
2073
+                if(isset($types['c'])){$color_i[] = $selector;}
2074
+                if(isset($types['b'])){$background_i[] = $selector;}
2075
+                if(isset($types['o'])){$border_i[] = $selector;}
2076
+                if(isset($types['f'])){$fill_i[] = $selector;}
2077
+            }
1652 2078
 
1653
-			$is_var = false;
1654
-			if(!$color_code){return '';}
1655
-			if(strpos($color_code, 'var') !== false){
1656
-				//if(!sanitize_hex_color($color_code)){
1657
-				$color_code = esc_attr($color_code);
1658
-				$is_var = true;
1659
-//				$color_code = "rgba($color_code, 0.5)";
1660
-//                echo '###1'.$color_code.'###';//exit;
1661
-			}
2079
+            // add any color rules
2080
+            if(!empty($color)){
2081
+                $output .= implode(",",$color) . "{color: $color_code;} ";
2082
+            }
2083
+            if(!empty($color_i)){
2084
+                $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
2085
+            }
1662 2086
 
1663
-//            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
2087
+            // add any background color rules
2088
+            if(!empty($background)){
2089
+                $output .= implode(",",$background) . "{background-color: $color_code;} ";
2090
+            }
2091
+            if(!empty($background_i)){
2092
+                $output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
2093
+            }
1664 2094
 
1665
-			if(!$color_code){return '';}
2095
+            // add any border color rules
2096
+            if(!empty($border)){
2097
+                $output .= implode(",",$border) . "{border-color: $color_code;} ";
2098
+            }
2099
+            if(!empty($border_i)){
2100
+                $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
2101
+            }
1666 2102
 
1667
-            $rgb = self::hex_to_rgb($hex);
2103
+            // add any fill color rules
2104
+            if(!empty($fill)){
2105
+                $output .= implode(",",$fill) . "{fill: $color_code;} ";
2106
+            }
2107
+            if(!empty($fill_i)){
2108
+                $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
2109
+            }
1668 2110
 
1669
-			if($compatibility===true || $compatibility===1){
1670
-				$compatibility = '.bsui';
1671
-			}elseif(!$compatibility){
1672
-				$compatibility = '';
1673
-			}else{
1674
-				$compatibility = esc_attr($compatibility);
1675
-			}
1676 2111
 
2112
+            $prefix = $compatibility ? ".bsui " : "";
1677 2113
 
2114
+            // darken
2115
+            $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
2116
+            $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
2117
+            $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1678 2118
 
1679
-//            echo '####'.$color_code;exit;
2119
+            // lighten
2120
+            $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1680 2121
 
1681
-			$type = sanitize_html_class($type);
2122
+            // opacity see https://css-tricks.com/8-digit-hex-codes/
2123
+            $op_25 = $color_code."40"; // 25% opacity
1682 2124
 
1683
-			/**
1684
-			 * c = color, b = background color, o = border-color, f = fill
1685
-			 */
1686
-			$selectors = array(
1687
-				".btn-{$type}"                                              => array( 'b', 'o' ),
1688
-				".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1689
-				".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1690
-				".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1691
-				".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1692
-				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1693
-				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1694
-				".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1695
-				".badge-{$type}"                                            => array( 'b' ),
1696
-				".alert-{$type}"                                            => array( 'b', 'o' ),
1697
-				".bg-{$type}"                                               => array( 'b', 'f' ),
1698
-				".btn-link.btn-{$type}"                                     => array( 'c' ),
1699
-			);
1700
-
1701
-			if ( $aui_bs5 ) {
1702
-                unset($selectors[".alert-{$type}" ]);
1703
-			}
1704
-
1705
-			if ( $type == 'primary' ) {
1706
-				$selectors = $selectors + array(
1707
-						'a'                                                                                                    => array( 'c' ),
1708
-						'.btn-link'                                                                                            => array( 'c' ),
1709
-						'.dropdown-item.active'                                                                                => array( 'b' ),
1710
-						'.custom-control-input:checked~.custom-control-label::before'                                          => array(
1711
-							'b',
1712
-							'o'
1713
-						),
1714
-						'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1715
-							'b',
1716
-							'o'
1717
-						),
1718
-						'.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1719
-						'.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1720
-						'.page-link'                                                                                           => array( 'c' ),
1721
-						'.page-item.active .page-link'                                                                         => array(
1722
-							'b',
1723
-							'o'
1724
-						),
1725
-						'.progress-bar'                                                                                        => array( 'b' ),
1726
-						'.list-group-item.active'                                                                              => array(
1727
-							'b',
1728
-							'o'
1729
-						),
1730
-						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1731
-//				    '.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1732
-//				    '.custom-range::-moz-range-thumb' => array('b'),
1733
-//				    '.custom-range::-ms-thumb' => array('b'),
1734
-					);
1735
-			}
1736
-
1737
-			$important_selectors = array(
1738
-				".bg-{$type}" => array('b','f'),
1739
-				".border-{$type}" => array('o'),
1740
-				".text-{$type}" => array('c'),
1741
-			);
1742
-
1743
-			$color = array();
1744
-			$color_i = array();
1745
-			$background = array();
1746
-			$background_i = array();
1747
-			$border = array();
1748
-			$border_i = array();
1749
-			$fill = array();
1750
-			$fill_i = array();
1751
-
1752
-			$output = '';
1753
-
1754
-			if ( $aui_bs5 ) {
1755
-//				$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).'; }';
1756
-				$output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1757
-			}
1758
-
1759
-			// build rules into each type
1760
-			foreach($selectors as $selector => $types){
1761
-				$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1762
-				$types = array_combine($types,$types);
1763
-				if(isset($types['c'])){$color[] = $selector;}
1764
-				if(isset($types['b'])){$background[] = $selector;}
1765
-				if(isset($types['o'])){$border[] = $selector;}
1766
-				if(isset($types['f'])){$fill[] = $selector;}
1767
-			}
1768
-
1769
-			// build rules into each type
1770
-			foreach($important_selectors as $selector => $types){
1771
-				$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1772
-				$types = array_combine($types,$types);
1773
-				if(isset($types['c'])){$color_i[] = $selector;}
1774
-				if(isset($types['b'])){$background_i[] = $selector;}
1775
-				if(isset($types['o'])){$border_i[] = $selector;}
1776
-				if(isset($types['f'])){$fill_i[] = $selector;}
1777
-			}
1778
-
1779
-			// add any color rules
1780
-			if(!empty($color)){
1781
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1782
-			}
1783
-			if(!empty($color_i)){
1784
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1785
-			}
1786
-
1787
-			// add any background color rules
1788
-			if(!empty($background)){
1789
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1790
-			}
1791
-			if(!empty($background_i)){
1792
-				$output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1793
-//				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1794
-			}
1795 2125
 
1796
-			// add any border color rules
1797
-			if(!empty($border)){
1798
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1799
-			}
1800
-			if(!empty($border_i)){
1801
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1802
-			}
2126
+            // button states
2127
+            $output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
2128
+            $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;} ";
2129
+            $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.";} ";
2130
+            $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;} ";
1803 2131
 
1804
-			// add any fill color rules
1805
-			if(!empty($fill)){
1806
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1807
-			}
1808
-			if(!empty($fill_i)){
1809
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1810
-			}
1811 2132
 
2133
+            return $output;
2134
+        }
1812 2135
 
1813
-			$prefix = $compatibility ? $compatibility . " " : "";
2136
+        /**
2137
+         * Increases or decreases the brightness of a color by a percentage of the current brightness.
2138
+         *
2139
+         * @param   string  $hexCode        Supported formats: `#FFF`, `#FFFFFF`, `FFF`, `FFFFFF`
2140
+         * @param   float   $adjustPercent  A number between -1 and 1. E.g. 0.3 = 30% lighter; -0.4 = 40% darker.
2141
+         *
2142
+         * @return  string
2143
+         */
2144
+        public static function css_hex_lighten_darken($hexCode, $adjustPercent) {
2145
+            $hexCode = ltrim($hexCode, '#');
1814 2146
 
1815
-			$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;' : '';
1816
-			// darken
1817
-			$darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1818
-			$darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1819
-			$darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1820
-			$darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
2147
+            if ( strpos( $hexCode, 'rgba(' ) !== false || strpos( $hexCode, 'rgb(' ) !== false ) {
2148
+                return $hexCode;
2149
+            }
1821 2150
 
1822
-			// lighten
1823
-			$lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
2151
+            if (strlen($hexCode) == 3) {
2152
+                $hexCode = $hexCode[0] . $hexCode[0] . $hexCode[1] . $hexCode[1] . $hexCode[2] . $hexCode[2];
2153
+            }
1824 2154
 
1825
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
1826
-			$op_25 = $color_code."40"; // 25% opacity
2155
+            $hexCode = array_map('hexdec', str_split($hexCode, 2));
1827 2156
 
2157
+            foreach ($hexCode as & $color) {
2158
+                $adjustableLimit = $adjustPercent < 0 ? $color : 255 - $color;
2159
+                $adjustAmount = ceil($adjustableLimit * $adjustPercent);
1828 2160
 
1829
-			// button states
1830
-			$output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1831
-			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1832
-//			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1833
-			$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;} ";
1834
-			$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.";} ";
1835
-			$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;} ";
2161
+                $color = str_pad(dechex($color + $adjustAmount), 2, '0', STR_PAD_LEFT);
2162
+            }
1836 2163
 
1837
-			if ( $type == 'primary' ) {
1838
-				// dropdown's
1839
-				$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
2164
+            return '#' . implode($hexCode);
2165
+        }
1840 2166
 
1841
-				// input states
1842
-				$output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
2167
+        /**
2168
+         * Check if we should display examples.
2169
+         */
2170
+        public function maybe_show_examples(){
2171
+            if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){
2172
+                echo "<head>";
2173
+                wp_head();
2174
+                echo "</head>";
2175
+                echo "<body>";
2176
+                echo $this->get_examples(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2177
+                echo "</body>";
2178
+                exit;
2179
+            }
2180
+        }
1843 2181
 
1844
-				// page link
1845
-				$output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1846
-			}
2182
+        /**
2183
+         * Get developer examples.
2184
+         *
2185
+         * @return string
2186
+         */
2187
+        public function get_examples(){
2188
+            $output = '';
1847 2189
 
1848
-            // alerts
1849
-			if ( $aui_bs5 ) {
1850
-//				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1851
-				$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;} ";
1852
-			}
1853
-
1854
-			return $output;
1855
-		}
1856
-
1857
-		/**
1858
-		 *
1859
-		 * @deprecated 0.1.76 Use css_overwrite()
1860
-		 *
1861
-		 * @param $color_code
1862
-		 * @param $compatibility
1863
-		 * @param $use_variable
1864
-		 *
1865
-		 * @return string
1866
-		 */
1867
-		public static function css_primary($color_code,$compatibility, $use_variable = false){
1868
-
1869
-			if(!$use_variable){
1870
-				$color_code = sanitize_hex_color($color_code);
1871
-				if(!$color_code){return '';}
1872
-			}
1873
-
1874
-			/**
1875
-			 * c = color, b = background color, o = border-color, f = fill
1876
-			 */
1877
-			$selectors = array(
1878
-				'a' => array('c'),
1879
-				'.btn-primary' => array('b','o'),
1880
-				'.btn-primary.disabled' => array('b','o'),
1881
-				'.btn-primary:disabled' => array('b','o'),
1882
-				'.btn-outline-primary' => array('c','o'),
1883
-				'.btn-outline-primary:hover' => array('b','o'),
1884
-				'.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'),
1885
-				'.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'),
1886
-				'.show>.btn-outline-primary.dropdown-toggle' => array('b','o'),
1887
-				'.btn-link' => array('c'),
1888
-				'.dropdown-item.active' => array('b'),
1889
-				'.custom-control-input:checked~.custom-control-label::before' => array('b','o'),
1890
-				'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'),
1891
-//				'.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1892
-//				'.custom-range::-moz-range-thumb' => array('b'),
1893
-//				'.custom-range::-ms-thumb' => array('b'),
1894
-				'.nav-pills .nav-link.active' => array('b'),
1895
-				'.nav-pills .show>.nav-link' => array('b'),
1896
-				'.page-link' => array('c'),
1897
-				'.page-item.active .page-link' => array('b','o'),
1898
-				'.badge-primary' => array('b'),
1899
-				'.alert-primary' => array('b','o'),
1900
-				'.progress-bar' => array('b'),
1901
-				'.list-group-item.active' => array('b','o'),
1902
-				'.bg-primary' => array('b','f'),
1903
-				'.btn-link.btn-primary' => array('c'),
1904
-				'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1905
-			);
1906
-
1907
-			$important_selectors = array(
1908
-				'.bg-primary' => array('b','f'),
1909
-				'.border-primary' => array('o'),
1910
-				'.text-primary' => array('c'),
1911
-			);
1912
-
1913
-			$color = array();
1914
-			$color_i = array();
1915
-			$background = array();
1916
-			$background_i = array();
1917
-			$border = array();
1918
-			$border_i = array();
1919
-			$fill = array();
1920
-			$fill_i = array();
1921
-
1922
-			$output = '';
1923
-
1924
-			// build rules into each type
1925
-			foreach($selectors as $selector => $types){
1926
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1927
-				$types = array_combine($types,$types);
1928
-				if(isset($types['c'])){$color[] = $selector;}
1929
-				if(isset($types['b'])){$background[] = $selector;}
1930
-				if(isset($types['o'])){$border[] = $selector;}
1931
-				if(isset($types['f'])){$fill[] = $selector;}
1932
-			}
1933
-
1934
-			// build rules into each type
1935
-			foreach($important_selectors as $selector => $types){
1936
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1937
-				$types = array_combine($types,$types);
1938
-				if(isset($types['c'])){$color_i[] = $selector;}
1939
-				if(isset($types['b'])){$background_i[] = $selector;}
1940
-				if(isset($types['o'])){$border_i[] = $selector;}
1941
-				if(isset($types['f'])){$fill_i[] = $selector;}
1942
-			}
1943
-
1944
-			// add any color rules
1945
-			if(!empty($color)){
1946
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1947
-			}
1948
-			if(!empty($color_i)){
1949
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1950
-			}
1951
-
1952
-			// add any background color rules
1953
-			if(!empty($background)){
1954
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1955
-			}
1956
-			if(!empty($background_i)){
1957
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1958
-			}
1959
-
1960
-			// add any border color rules
1961
-			if(!empty($border)){
1962
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1963
-			}
1964
-			if(!empty($border_i)){
1965
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1966
-			}
1967
-
1968
-			// add any fill color rules
1969
-			if(!empty($fill)){
1970
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1971
-			}
1972
-			if(!empty($fill_i)){
1973
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1974
-			}
1975
-
1976
-
1977
-			$prefix = $compatibility ? ".bsui " : "";
1978
-
1979
-			// darken
1980
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1981
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1982
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1983
-
1984
-			// lighten
1985
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1986
-
1987
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
1988
-			$op_25 = $color_code."40"; // 25% opacity
1989
-
1990
-
1991
-			// button states
1992
-			$output .= $prefix ." .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1993
-			$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;} ";
1994
-			$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.";} ";
1995
-			$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;} ";
1996
-
1997
-
1998
-			// dropdown's
1999
-			$output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
2000
-
2001
-
2002
-			// input states
2003
-			$output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} ";
2004
-
2005
-			// page link
2006
-			$output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
2007
-
2008
-			return $output;
2009
-		}
2010
-
2011
-		/**
2012
-		 *
2013
-		 * @deprecated 0.1.76 Use css_overwrite()
2014
-		 *
2015
-		 * @param $color_code
2016
-		 * @param $compatibility
2017
-		 *
2018
-		 * @return string
2019
-		 */
2020
-		public static function css_secondary($color_code,$compatibility){;
2021
-			$color_code = sanitize_hex_color($color_code);
2022
-			if(!$color_code){return '';}
2023
-			/**
2024
-			 * c = color, b = background color, o = border-color, f = fill
2025
-			 */
2026
-			$selectors = array(
2027
-				'.btn-secondary' => array('b','o'),
2028
-				'.btn-secondary.disabled' => array('b','o'),
2029
-				'.btn-secondary:disabled' => array('b','o'),
2030
-				'.btn-outline-secondary' => array('c','o'),
2031
-				'.btn-outline-secondary:hover' => array('b','o'),
2032
-				'.btn-outline-secondary.disabled' => array('c'),
2033
-				'.btn-outline-secondary:disabled' => array('c'),
2034
-				'.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'),
2035
-				'.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'),
2036
-				'.btn-outline-secondary.dropdown-toggle' => array('b','o'),
2037
-				'.badge-secondary' => array('b'),
2038
-				'.alert-secondary' => array('b','o'),
2039
-				'.btn-link.btn-secondary' => array('c'),
2040
-			);
2041
-
2042
-			$important_selectors = array(
2043
-				'.bg-secondary' => array('b','f'),
2044
-				'.border-secondary' => array('o'),
2045
-				'.text-secondary' => array('c'),
2046
-			);
2047
-
2048
-			$color = array();
2049
-			$color_i = array();
2050
-			$background = array();
2051
-			$background_i = array();
2052
-			$border = array();
2053
-			$border_i = array();
2054
-			$fill = array();
2055
-			$fill_i = array();
2056
-
2057
-			$output = '';
2058
-
2059
-			// build rules into each type
2060
-			foreach($selectors as $selector => $types){
2061
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
2062
-				$types = array_combine($types,$types);
2063
-				if(isset($types['c'])){$color[] = $selector;}
2064
-				if(isset($types['b'])){$background[] = $selector;}
2065
-				if(isset($types['o'])){$border[] = $selector;}
2066
-				if(isset($types['f'])){$fill[] = $selector;}
2067
-			}
2068
-
2069
-			// build rules into each type
2070
-			foreach($important_selectors as $selector => $types){
2071
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
2072
-				$types = array_combine($types,$types);
2073
-				if(isset($types['c'])){$color_i[] = $selector;}
2074
-				if(isset($types['b'])){$background_i[] = $selector;}
2075
-				if(isset($types['o'])){$border_i[] = $selector;}
2076
-				if(isset($types['f'])){$fill_i[] = $selector;}
2077
-			}
2078
-
2079
-			// add any color rules
2080
-			if(!empty($color)){
2081
-				$output .= implode(",",$color) . "{color: $color_code;} ";
2082
-			}
2083
-			if(!empty($color_i)){
2084
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
2085
-			}
2086
-
2087
-			// add any background color rules
2088
-			if(!empty($background)){
2089
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
2090
-			}
2091
-			if(!empty($background_i)){
2092
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
2093
-			}
2094
-
2095
-			// add any border color rules
2096
-			if(!empty($border)){
2097
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
2098
-			}
2099
-			if(!empty($border_i)){
2100
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
2101
-			}
2102
-
2103
-			// add any fill color rules
2104
-			if(!empty($fill)){
2105
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
2106
-			}
2107
-			if(!empty($fill_i)){
2108
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
2109
-			}
2110
-
2111
-
2112
-			$prefix = $compatibility ? ".bsui " : "";
2113
-
2114
-			// darken
2115
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
2116
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
2117
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
2118
-
2119
-			// lighten
2120
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
2121
-
2122
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
2123
-			$op_25 = $color_code."40"; // 25% opacity
2124
-
2125
-
2126
-			// button states
2127
-			$output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
2128
-			$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;} ";
2129
-			$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.";} ";
2130
-			$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;} ";
2131
-
2132
-
2133
-			return $output;
2134
-		}
2135
-
2136
-		/**
2137
-		 * Increases or decreases the brightness of a color by a percentage of the current brightness.
2138
-		 *
2139
-		 * @param   string  $hexCode        Supported formats: `#FFF`, `#FFFFFF`, `FFF`, `FFFFFF`
2140
-		 * @param   float   $adjustPercent  A number between -1 and 1. E.g. 0.3 = 30% lighter; -0.4 = 40% darker.
2141
-		 *
2142
-		 * @return  string
2143
-		 */
2144
-		public static function css_hex_lighten_darken($hexCode, $adjustPercent) {
2145
-			$hexCode = ltrim($hexCode, '#');
2146
-
2147
-			if ( strpos( $hexCode, 'rgba(' ) !== false || strpos( $hexCode, 'rgb(' ) !== false ) {
2148
-				return $hexCode;
2149
-			}
2150
-
2151
-			if (strlen($hexCode) == 3) {
2152
-				$hexCode = $hexCode[0] . $hexCode[0] . $hexCode[1] . $hexCode[1] . $hexCode[2] . $hexCode[2];
2153
-			}
2154
-
2155
-			$hexCode = array_map('hexdec', str_split($hexCode, 2));
2156
-
2157
-			foreach ($hexCode as & $color) {
2158
-				$adjustableLimit = $adjustPercent < 0 ? $color : 255 - $color;
2159
-				$adjustAmount = ceil($adjustableLimit * $adjustPercent);
2160
-
2161
-				$color = str_pad(dechex($color + $adjustAmount), 2, '0', STR_PAD_LEFT);
2162
-			}
2163
-
2164
-			return '#' . implode($hexCode);
2165
-		}
2166
-
2167
-		/**
2168
-		 * Check if we should display examples.
2169
-		 */
2170
-		public function maybe_show_examples(){
2171
-			if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){
2172
-				echo "<head>";
2173
-				wp_head();
2174
-				echo "</head>";
2175
-				echo "<body>";
2176
-				echo $this->get_examples(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2177
-				echo "</body>";
2178
-				exit;
2179
-			}
2180
-		}
2181
-
2182
-		/**
2183
-		 * Get developer examples.
2184
-		 *
2185
-		 * @return string
2186
-		 */
2187
-		public function get_examples(){
2188
-			$output = '';
2189
-
2190
-
2191
-			// open form
2192
-			$output .= "<form class='p-5 m-5 border rounded'>";
2193
-
2194
-			// input example
2195
-			$output .= aui()->input(array(
2196
-				'type'  =>  'text',
2197
-				'id'    =>  'text-example',
2198
-				'name'    =>  'text-example',
2199
-				'placeholder'   => 'text placeholder',
2200
-				'title'   => 'Text input example',
2201
-				'value' =>  '',
2202
-				'required'  => false,
2203
-				'help_text' => 'help text',
2204
-				'label' => 'Text input example label'
2205
-			));
2206
-
2207
-			// input example
2208
-			$output .= aui()->input(array(
2209
-				'type'  =>  'url',
2210
-				'id'    =>  'text-example2',
2211
-				'name'    =>  'text-example',
2212
-				'placeholder'   => 'url placeholder',
2213
-				'title'   => 'Text input example',
2214
-				'value' =>  '',
2215
-				'required'  => false,
2216
-				'help_text' => 'help text',
2217
-				'label' => 'Text input example label'
2218
-			));
2219
-
2220
-			// checkbox example
2221
-			$output .= aui()->input(array(
2222
-				'type'  =>  'checkbox',
2223
-				'id'    =>  'checkbox-example',
2224
-				'name'    =>  'checkbox-example',
2225
-				'placeholder'   => 'checkbox-example',
2226
-				'title'   => 'Checkbox example',
2227
-				'value' =>  '1',
2228
-				'checked'   => true,
2229
-				'required'  => false,
2230
-				'help_text' => 'help text',
2231
-				'label' => 'Checkbox checked'
2232
-			));
2233
-
2234
-			// checkbox example
2235
-			$output .= aui()->input(array(
2236
-				'type'  =>  'checkbox',
2237
-				'id'    =>  'checkbox-example2',
2238
-				'name'    =>  'checkbox-example2',
2239
-				'placeholder'   => 'checkbox-example',
2240
-				'title'   => 'Checkbox example',
2241
-				'value' =>  '1',
2242
-				'checked'   => false,
2243
-				'required'  => false,
2244
-				'help_text' => 'help text',
2245
-				'label' => 'Checkbox un-checked'
2246
-			));
2247
-
2248
-			// switch example
2249
-			$output .= aui()->input(array(
2250
-				'type'  =>  'checkbox',
2251
-				'id'    =>  'switch-example',
2252
-				'name'    =>  'switch-example',
2253
-				'placeholder'   => 'checkbox-example',
2254
-				'title'   => 'Switch example',
2255
-				'value' =>  '1',
2256
-				'checked'   => true,
2257
-				'switch'    => true,
2258
-				'required'  => false,
2259
-				'help_text' => 'help text',
2260
-				'label' => 'Switch on'
2261
-			));
2262
-
2263
-			// switch example
2264
-			$output .= aui()->input(array(
2265
-				'type'  =>  'checkbox',
2266
-				'id'    =>  'switch-example2',
2267
-				'name'    =>  'switch-example2',
2268
-				'placeholder'   => 'checkbox-example',
2269
-				'title'   => 'Switch example',
2270
-				'value' =>  '1',
2271
-				'checked'   => false,
2272
-				'switch'    => true,
2273
-				'required'  => false,
2274
-				'help_text' => 'help text',
2275
-				'label' => 'Switch off'
2276
-			));
2277
-
2278
-			// close form
2279
-			$output .= "</form>";
2280
-
2281
-			return $output;
2282
-		}
2283
-
2284
-		/**
2285
-		 * Calendar params.
2286
-		 *
2287
-		 * @since 0.1.44
2288
-		 *
2289
-		 * @return array Calendar params.
2290
-		 */
2291
-		public static function calendar_params() {
2292
-			$params = array(
2293
-				'month_long_1' => __( 'January', 'ayecode-connect' ),
2294
-				'month_long_2' => __( 'February', 'ayecode-connect' ),
2295
-				'month_long_3' => __( 'March', 'ayecode-connect' ),
2296
-				'month_long_4' => __( 'April', 'ayecode-connect' ),
2297
-				'month_long_5' => __( 'May', 'ayecode-connect' ),
2298
-				'month_long_6' => __( 'June', 'ayecode-connect' ),
2299
-				'month_long_7' => __( 'July', 'ayecode-connect' ),
2300
-				'month_long_8' => __( 'August', 'ayecode-connect' ),
2301
-				'month_long_9' => __( 'September', 'ayecode-connect' ),
2302
-				'month_long_10' => __( 'October', 'ayecode-connect' ),
2303
-				'month_long_11' => __( 'November', 'ayecode-connect' ),
2304
-				'month_long_12' => __( 'December', 'ayecode-connect' ),
2305
-				'month_s_1' => _x( 'Jan', 'January abbreviation', 'ayecode-connect' ),
2306
-				'month_s_2' => _x( 'Feb', 'February abbreviation', 'ayecode-connect' ),
2307
-				'month_s_3' => _x( 'Mar', 'March abbreviation', 'ayecode-connect' ),
2308
-				'month_s_4' => _x( 'Apr', 'April abbreviation', 'ayecode-connect' ),
2309
-				'month_s_5' => _x( 'May', 'May abbreviation', 'ayecode-connect' ),
2310
-				'month_s_6' => _x( 'Jun', 'June abbreviation', 'ayecode-connect' ),
2311
-				'month_s_7' => _x( 'Jul', 'July abbreviation', 'ayecode-connect' ),
2312
-				'month_s_8' => _x( 'Aug', 'August abbreviation', 'ayecode-connect' ),
2313
-				'month_s_9' => _x( 'Sep', 'September abbreviation', 'ayecode-connect' ),
2314
-				'month_s_10' => _x( 'Oct', 'October abbreviation', 'ayecode-connect' ),
2315
-				'month_s_11' => _x( 'Nov', 'November abbreviation', 'ayecode-connect' ),
2316
-				'month_s_12' => _x( 'Dec', 'December abbreviation', 'ayecode-connect' ),
2317
-				'day_s1_1' => _x( 'S', 'Sunday initial', 'ayecode-connect' ),
2318
-				'day_s1_2' => _x( 'M', 'Monday initial', 'ayecode-connect' ),
2319
-				'day_s1_3' => _x( 'T', 'Tuesday initial', 'ayecode-connect' ),
2320
-				'day_s1_4' => _x( 'W', 'Wednesday initial', 'ayecode-connect' ),
2321
-				'day_s1_5' => _x( 'T', 'Friday initial', 'ayecode-connect' ),
2322
-				'day_s1_6' => _x( 'F', 'Thursday initial', 'ayecode-connect' ),
2323
-				'day_s1_7' => _x( 'S', 'Saturday initial', 'ayecode-connect' ),
2324
-				'day_s2_1' => __( 'Su', 'ayecode-connect' ),
2325
-				'day_s2_2' => __( 'Mo', 'ayecode-connect' ),
2326
-				'day_s2_3' => __( 'Tu', 'ayecode-connect' ),
2327
-				'day_s2_4' => __( 'We', 'ayecode-connect' ),
2328
-				'day_s2_5' => __( 'Th', 'ayecode-connect' ),
2329
-				'day_s2_6' => __( 'Fr', 'ayecode-connect' ),
2330
-				'day_s2_7' => __( 'Sa', 'ayecode-connect' ),
2331
-				'day_s3_1' => __( 'Sun', 'ayecode-connect' ),
2332
-				'day_s3_2' => __( 'Mon', 'ayecode-connect' ),
2333
-				'day_s3_3' => __( 'Tue', 'ayecode-connect' ),
2334
-				'day_s3_4' => __( 'Wed', 'ayecode-connect' ),
2335
-				'day_s3_5' => __( 'Thu', 'ayecode-connect' ),
2336
-				'day_s3_6' => __( 'Fri', 'ayecode-connect' ),
2337
-				'day_s3_7' => __( 'Sat', 'ayecode-connect' ),
2338
-				'day_s5_1' => __( 'Sunday', 'ayecode-connect' ),
2339
-				'day_s5_2' => __( 'Monday', 'ayecode-connect' ),
2340
-				'day_s5_3' => __( 'Tuesday', 'ayecode-connect' ),
2341
-				'day_s5_4' => __( 'Wednesday', 'ayecode-connect' ),
2342
-				'day_s5_5' => __( 'Thursday', 'ayecode-connect' ),
2343
-				'day_s5_6' => __( 'Friday', 'ayecode-connect' ),
2344
-				'day_s5_7' => __( 'Saturday', 'ayecode-connect' ),
2345
-				'am_lower' => __( 'am', 'ayecode-connect' ),
2346
-				'pm_lower' => __( 'pm', 'ayecode-connect' ),
2347
-				'am_upper' => __( 'AM', 'ayecode-connect' ),
2348
-				'pm_upper' => __( 'PM', 'ayecode-connect' ),
2349
-				'firstDayOfWeek' => (int) get_option( 'start_of_week' ),
2350
-				'time_24hr' => false,
2351
-				'year' => __( 'Year', 'ayecode-connect' ),
2352
-				'hour' => __( 'Hour', 'ayecode-connect' ),
2353
-				'minute' => __( 'Minute', 'ayecode-connect' ),
2354
-				'weekAbbreviation' => __( 'Wk', 'ayecode-connect' ),
2355
-				'rangeSeparator' => __( ' to ', 'ayecode-connect' ),
2356
-				'scrollTitle' => __( 'Scroll to increment', 'ayecode-connect' ),
2357
-				'toggleTitle' => __( 'Click to toggle', 'ayecode-connect' )
2358
-			);
2359
-
2360
-			return apply_filters( 'ayecode_ui_calendar_params', $params );
2361
-		}
2362
-
2363
-		/**
2364
-		 * Flatpickr calendar localize.
2365
-		 *
2366
-		 * @since 0.1.44
2367
-		 *
2368
-		 * @return string Calendar locale.
2369
-		 */
2370
-		public static function flatpickr_locale() {
2371
-			$params = self::calendar_params();
2372
-
2373
-			if ( is_string( $params ) ) {
2374
-				$params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' );
2375
-			} else {
2376
-				foreach ( (array) $params as $key => $value ) {
2377
-					if ( ! is_scalar( $value ) ) {
2378
-						continue;
2379
-					}
2380
-
2381
-					$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2382
-				}
2383
-			}
2384 2190
 
2385
-			$day_s3 = array();
2386
-			$day_s5 = array();
2191
+            // open form
2192
+            $output .= "<form class='p-5 m-5 border rounded'>";
2193
+
2194
+            // input example
2195
+            $output .= aui()->input(array(
2196
+                'type'  =>  'text',
2197
+                'id'    =>  'text-example',
2198
+                'name'    =>  'text-example',
2199
+                'placeholder'   => 'text placeholder',
2200
+                'title'   => 'Text input example',
2201
+                'value' =>  '',
2202
+                'required'  => false,
2203
+                'help_text' => 'help text',
2204
+                'label' => 'Text input example label'
2205
+            ));
2206
+
2207
+            // input example
2208
+            $output .= aui()->input(array(
2209
+                'type'  =>  'url',
2210
+                'id'    =>  'text-example2',
2211
+                'name'    =>  'text-example',
2212
+                'placeholder'   => 'url placeholder',
2213
+                'title'   => 'Text input example',
2214
+                'value' =>  '',
2215
+                'required'  => false,
2216
+                'help_text' => 'help text',
2217
+                'label' => 'Text input example label'
2218
+            ));
2219
+
2220
+            // checkbox example
2221
+            $output .= aui()->input(array(
2222
+                'type'  =>  'checkbox',
2223
+                'id'    =>  'checkbox-example',
2224
+                'name'    =>  'checkbox-example',
2225
+                'placeholder'   => 'checkbox-example',
2226
+                'title'   => 'Checkbox example',
2227
+                'value' =>  '1',
2228
+                'checked'   => true,
2229
+                'required'  => false,
2230
+                'help_text' => 'help text',
2231
+                'label' => 'Checkbox checked'
2232
+            ));
2233
+
2234
+            // checkbox example
2235
+            $output .= aui()->input(array(
2236
+                'type'  =>  'checkbox',
2237
+                'id'    =>  'checkbox-example2',
2238
+                'name'    =>  'checkbox-example2',
2239
+                'placeholder'   => 'checkbox-example',
2240
+                'title'   => 'Checkbox example',
2241
+                'value' =>  '1',
2242
+                'checked'   => false,
2243
+                'required'  => false,
2244
+                'help_text' => 'help text',
2245
+                'label' => 'Checkbox un-checked'
2246
+            ));
2247
+
2248
+            // switch example
2249
+            $output .= aui()->input(array(
2250
+                'type'  =>  'checkbox',
2251
+                'id'    =>  'switch-example',
2252
+                'name'    =>  'switch-example',
2253
+                'placeholder'   => 'checkbox-example',
2254
+                'title'   => 'Switch example',
2255
+                'value' =>  '1',
2256
+                'checked'   => true,
2257
+                'switch'    => true,
2258
+                'required'  => false,
2259
+                'help_text' => 'help text',
2260
+                'label' => 'Switch on'
2261
+            ));
2262
+
2263
+            // switch example
2264
+            $output .= aui()->input(array(
2265
+                'type'  =>  'checkbox',
2266
+                'id'    =>  'switch-example2',
2267
+                'name'    =>  'switch-example2',
2268
+                'placeholder'   => 'checkbox-example',
2269
+                'title'   => 'Switch example',
2270
+                'value' =>  '1',
2271
+                'checked'   => false,
2272
+                'switch'    => true,
2273
+                'required'  => false,
2274
+                'help_text' => 'help text',
2275
+                'label' => 'Switch off'
2276
+            ));
2277
+
2278
+            // close form
2279
+            $output .= "</form>";
2280
+
2281
+            return $output;
2282
+        }
2283
+
2284
+        /**
2285
+         * Calendar params.
2286
+         *
2287
+         * @since 0.1.44
2288
+         *
2289
+         * @return array Calendar params.
2290
+         */
2291
+        public static function calendar_params() {
2292
+            $params = array(
2293
+                'month_long_1' => __( 'January', 'ayecode-connect' ),
2294
+                'month_long_2' => __( 'February', 'ayecode-connect' ),
2295
+                'month_long_3' => __( 'March', 'ayecode-connect' ),
2296
+                'month_long_4' => __( 'April', 'ayecode-connect' ),
2297
+                'month_long_5' => __( 'May', 'ayecode-connect' ),
2298
+                'month_long_6' => __( 'June', 'ayecode-connect' ),
2299
+                'month_long_7' => __( 'July', 'ayecode-connect' ),
2300
+                'month_long_8' => __( 'August', 'ayecode-connect' ),
2301
+                'month_long_9' => __( 'September', 'ayecode-connect' ),
2302
+                'month_long_10' => __( 'October', 'ayecode-connect' ),
2303
+                'month_long_11' => __( 'November', 'ayecode-connect' ),
2304
+                'month_long_12' => __( 'December', 'ayecode-connect' ),
2305
+                'month_s_1' => _x( 'Jan', 'January abbreviation', 'ayecode-connect' ),
2306
+                'month_s_2' => _x( 'Feb', 'February abbreviation', 'ayecode-connect' ),
2307
+                'month_s_3' => _x( 'Mar', 'March abbreviation', 'ayecode-connect' ),
2308
+                'month_s_4' => _x( 'Apr', 'April abbreviation', 'ayecode-connect' ),
2309
+                'month_s_5' => _x( 'May', 'May abbreviation', 'ayecode-connect' ),
2310
+                'month_s_6' => _x( 'Jun', 'June abbreviation', 'ayecode-connect' ),
2311
+                'month_s_7' => _x( 'Jul', 'July abbreviation', 'ayecode-connect' ),
2312
+                'month_s_8' => _x( 'Aug', 'August abbreviation', 'ayecode-connect' ),
2313
+                'month_s_9' => _x( 'Sep', 'September abbreviation', 'ayecode-connect' ),
2314
+                'month_s_10' => _x( 'Oct', 'October abbreviation', 'ayecode-connect' ),
2315
+                'month_s_11' => _x( 'Nov', 'November abbreviation', 'ayecode-connect' ),
2316
+                'month_s_12' => _x( 'Dec', 'December abbreviation', 'ayecode-connect' ),
2317
+                'day_s1_1' => _x( 'S', 'Sunday initial', 'ayecode-connect' ),
2318
+                'day_s1_2' => _x( 'M', 'Monday initial', 'ayecode-connect' ),
2319
+                'day_s1_3' => _x( 'T', 'Tuesday initial', 'ayecode-connect' ),
2320
+                'day_s1_4' => _x( 'W', 'Wednesday initial', 'ayecode-connect' ),
2321
+                'day_s1_5' => _x( 'T', 'Friday initial', 'ayecode-connect' ),
2322
+                'day_s1_6' => _x( 'F', 'Thursday initial', 'ayecode-connect' ),
2323
+                'day_s1_7' => _x( 'S', 'Saturday initial', 'ayecode-connect' ),
2324
+                'day_s2_1' => __( 'Su', 'ayecode-connect' ),
2325
+                'day_s2_2' => __( 'Mo', 'ayecode-connect' ),
2326
+                'day_s2_3' => __( 'Tu', 'ayecode-connect' ),
2327
+                'day_s2_4' => __( 'We', 'ayecode-connect' ),
2328
+                'day_s2_5' => __( 'Th', 'ayecode-connect' ),
2329
+                'day_s2_6' => __( 'Fr', 'ayecode-connect' ),
2330
+                'day_s2_7' => __( 'Sa', 'ayecode-connect' ),
2331
+                'day_s3_1' => __( 'Sun', 'ayecode-connect' ),
2332
+                'day_s3_2' => __( 'Mon', 'ayecode-connect' ),
2333
+                'day_s3_3' => __( 'Tue', 'ayecode-connect' ),
2334
+                'day_s3_4' => __( 'Wed', 'ayecode-connect' ),
2335
+                'day_s3_5' => __( 'Thu', 'ayecode-connect' ),
2336
+                'day_s3_6' => __( 'Fri', 'ayecode-connect' ),
2337
+                'day_s3_7' => __( 'Sat', 'ayecode-connect' ),
2338
+                'day_s5_1' => __( 'Sunday', 'ayecode-connect' ),
2339
+                'day_s5_2' => __( 'Monday', 'ayecode-connect' ),
2340
+                'day_s5_3' => __( 'Tuesday', 'ayecode-connect' ),
2341
+                'day_s5_4' => __( 'Wednesday', 'ayecode-connect' ),
2342
+                'day_s5_5' => __( 'Thursday', 'ayecode-connect' ),
2343
+                'day_s5_6' => __( 'Friday', 'ayecode-connect' ),
2344
+                'day_s5_7' => __( 'Saturday', 'ayecode-connect' ),
2345
+                'am_lower' => __( 'am', 'ayecode-connect' ),
2346
+                'pm_lower' => __( 'pm', 'ayecode-connect' ),
2347
+                'am_upper' => __( 'AM', 'ayecode-connect' ),
2348
+                'pm_upper' => __( 'PM', 'ayecode-connect' ),
2349
+                'firstDayOfWeek' => (int) get_option( 'start_of_week' ),
2350
+                'time_24hr' => false,
2351
+                'year' => __( 'Year', 'ayecode-connect' ),
2352
+                'hour' => __( 'Hour', 'ayecode-connect' ),
2353
+                'minute' => __( 'Minute', 'ayecode-connect' ),
2354
+                'weekAbbreviation' => __( 'Wk', 'ayecode-connect' ),
2355
+                'rangeSeparator' => __( ' to ', 'ayecode-connect' ),
2356
+                'scrollTitle' => __( 'Scroll to increment', 'ayecode-connect' ),
2357
+                'toggleTitle' => __( 'Click to toggle', 'ayecode-connect' )
2358
+            );
2359
+
2360
+            return apply_filters( 'ayecode_ui_calendar_params', $params );
2361
+        }
2362
+
2363
+        /**
2364
+         * Flatpickr calendar localize.
2365
+         *
2366
+         * @since 0.1.44
2367
+         *
2368
+         * @return string Calendar locale.
2369
+         */
2370
+        public static function flatpickr_locale() {
2371
+            $params = self::calendar_params();
2372
+
2373
+            if ( is_string( $params ) ) {
2374
+                $params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' );
2375
+            } else {
2376
+                foreach ( (array) $params as $key => $value ) {
2377
+                    if ( ! is_scalar( $value ) ) {
2378
+                        continue;
2379
+                    }
2380
+
2381
+                    $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2382
+                }
2383
+            }
2387 2384
 
2388
-			for ( $i = 1; $i <= 7; $i ++ ) {
2389
-				$day_s3[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2390
-				$day_s5[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2391
-			}
2385
+            $day_s3 = array();
2386
+            $day_s5 = array();
2387
+
2388
+            for ( $i = 1; $i <= 7; $i ++ ) {
2389
+                $day_s3[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2390
+                $day_s5[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2391
+            }
2392 2392
 
2393
-			$month_s = array();
2394
-			$month_long = array();
2393
+            $month_s = array();
2394
+            $month_long = array();
2395 2395
 
2396
-			for ( $i = 1; $i <= 12; $i ++ ) {
2397
-				$month_s[] = addslashes( $params[ 'month_s_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2398
-				$month_long[] = addslashes( $params[ 'month_long_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2399
-			}
2396
+            for ( $i = 1; $i <= 12; $i ++ ) {
2397
+                $month_s[] = addslashes( $params[ 'month_s_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2398
+                $month_long[] = addslashes( $params[ 'month_long_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2399
+            }
2400 2400
 
2401
-			ob_start();
2402
-		if ( 0 ) { ?><script><?php } ?>
2401
+            ob_start();
2402
+        if ( 0 ) { ?><script><?php } ?>
2403 2403
                 {
2404 2404
                     weekdays: {
2405 2405
                         shorthand: ['<?php echo implode( "','", $day_s3 ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
@@ -2438,189 +2438,189 @@  discard block
 block discarded – undo
2438 2438
                 }
2439 2439
 				<?php if ( 0 ) { ?></script><?php } ?>
2440 2440
 			<?php
2441
-			$locale = ob_get_clean();
2442
-
2443
-			return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) );
2444
-		}
2445
-
2446
-		/**
2447
-		 * Select2 JS params.
2448
-		 *
2449
-		 * @since 0.1.44
2450
-		 *
2451
-		 * @return array Select2 JS params.
2452
-		 */
2453
-		public static function select2_params() {
2454
-			$params = array(
2455
-				'i18n_select_state_text'    => esc_attr__( 'Select an option&hellip;', 'ayecode-connect' ),
2456
-				'i18n_no_matches'           => _x( 'No matches found', 'enhanced select', 'ayecode-connect' ),
2457
-				'i18n_ajax_error'           => _x( 'Loading failed', 'enhanced select', 'ayecode-connect' ),
2458
-				'i18n_input_too_short_1'    => _x( 'Please enter 1 or more characters', 'enhanced select', 'ayecode-connect' ),
2459
-				'i18n_input_too_short_n'    => _x( 'Please enter %item% or more characters', 'enhanced select', 'ayecode-connect' ),
2460
-				'i18n_input_too_long_1'     => _x( 'Please delete 1 character', 'enhanced select', 'ayecode-connect' ),
2461
-				'i18n_input_too_long_n'     => _x( 'Please delete %item% characters', 'enhanced select', 'ayecode-connect' ),
2462
-				'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'ayecode-connect' ),
2463
-				'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'ayecode-connect' ),
2464
-				'i18n_load_more'            => _x( 'Loading more results&hellip;', 'enhanced select', 'ayecode-connect' ),
2465
-				'i18n_searching'            => _x( 'Searching&hellip;', 'enhanced select', 'ayecode-connect' )
2466
-			);
2467
-
2468
-			return apply_filters( 'ayecode_ui_select2_params', $params );
2469
-		}
2470
-
2471
-		/**
2472
-		 * Select2 JS localize.
2473
-		 *
2474
-		 * @since 0.1.44
2475
-		 *
2476
-		 * @return string Select2 JS locale.
2477
-		 */
2478
-		public static function select2_locale() {
2479
-			$params = self::select2_params();
2480
-
2481
-			foreach ( (array) $params as $key => $value ) {
2482
-				if ( ! is_scalar( $value ) ) {
2483
-					continue;
2484
-				}
2441
+            $locale = ob_get_clean();
2485 2442
 
2486
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2487
-			}
2488
-
2489
-			$locale = json_encode( $params );
2490
-
2491
-			return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) );
2492
-		}
2493
-
2494
-		/**
2495
-		 * Time ago JS localize.
2496
-		 *
2497
-		 * @since 0.1.47
2498
-		 *
2499
-		 * @return string Time ago JS locale.
2500
-		 */
2501
-		public static function timeago_locale() {
2502
-			$params = array(
2503
-				'prefix_ago' => '',
2504
-				'suffix_ago' => ' ' . _x( 'ago', 'time ago', 'ayecode-connect' ),
2505
-				'prefix_after' => _x( 'after', 'time ago', 'ayecode-connect' ) . ' ',
2506
-				'suffix_after' => '',
2507
-				'seconds' => _x( 'less than a minute', 'time ago', 'ayecode-connect' ),
2508
-				'minute' => _x( 'about a minute', 'time ago', 'ayecode-connect' ),
2509
-				'minutes' => _x( '%d minutes', 'time ago', 'ayecode-connect' ),
2510
-				'hour' => _x( 'about an hour', 'time ago', 'ayecode-connect' ),
2511
-				'hours' => _x( 'about %d hours', 'time ago', 'ayecode-connect' ),
2512
-				'day' => _x( 'a day', 'time ago', 'ayecode-connect' ),
2513
-				'days' => _x( '%d days', 'time ago', 'ayecode-connect' ),
2514
-				'month' => _x( 'about a month', 'time ago', 'ayecode-connect' ),
2515
-				'months' => _x( '%d months', 'time ago', 'ayecode-connect' ),
2516
-				'year' => _x( 'about a year', 'time ago', 'ayecode-connect' ),
2517
-				'years' => _x( '%d years', 'time ago', 'ayecode-connect' ),
2518
-			);
2519
-
2520
-			$params = apply_filters( 'ayecode_ui_timeago_params', $params );
2521
-
2522
-			foreach ( (array) $params as $key => $value ) {
2523
-				if ( ! is_scalar( $value ) ) {
2524
-					continue;
2525
-				}
2443
+            return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) );
2444
+        }
2445
+
2446
+        /**
2447
+         * Select2 JS params.
2448
+         *
2449
+         * @since 0.1.44
2450
+         *
2451
+         * @return array Select2 JS params.
2452
+         */
2453
+        public static function select2_params() {
2454
+            $params = array(
2455
+                'i18n_select_state_text'    => esc_attr__( 'Select an option&hellip;', 'ayecode-connect' ),
2456
+                'i18n_no_matches'           => _x( 'No matches found', 'enhanced select', 'ayecode-connect' ),
2457
+                'i18n_ajax_error'           => _x( 'Loading failed', 'enhanced select', 'ayecode-connect' ),
2458
+                'i18n_input_too_short_1'    => _x( 'Please enter 1 or more characters', 'enhanced select', 'ayecode-connect' ),
2459
+                'i18n_input_too_short_n'    => _x( 'Please enter %item% or more characters', 'enhanced select', 'ayecode-connect' ),
2460
+                'i18n_input_too_long_1'     => _x( 'Please delete 1 character', 'enhanced select', 'ayecode-connect' ),
2461
+                'i18n_input_too_long_n'     => _x( 'Please delete %item% characters', 'enhanced select', 'ayecode-connect' ),
2462
+                'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'ayecode-connect' ),
2463
+                'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'ayecode-connect' ),
2464
+                'i18n_load_more'            => _x( 'Loading more results&hellip;', 'enhanced select', 'ayecode-connect' ),
2465
+                'i18n_searching'            => _x( 'Searching&hellip;', 'enhanced select', 'ayecode-connect' )
2466
+            );
2467
+
2468
+            return apply_filters( 'ayecode_ui_select2_params', $params );
2469
+        }
2470
+
2471
+        /**
2472
+         * Select2 JS localize.
2473
+         *
2474
+         * @since 0.1.44
2475
+         *
2476
+         * @return string Select2 JS locale.
2477
+         */
2478
+        public static function select2_locale() {
2479
+            $params = self::select2_params();
2480
+
2481
+            foreach ( (array) $params as $key => $value ) {
2482
+                if ( ! is_scalar( $value ) ) {
2483
+                    continue;
2484
+                }
2485
+
2486
+                $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2487
+            }
2488
+
2489
+            $locale = json_encode( $params );
2490
+
2491
+            return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) );
2492
+        }
2493
+
2494
+        /**
2495
+         * Time ago JS localize.
2496
+         *
2497
+         * @since 0.1.47
2498
+         *
2499
+         * @return string Time ago JS locale.
2500
+         */
2501
+        public static function timeago_locale() {
2502
+            $params = array(
2503
+                'prefix_ago' => '',
2504
+                'suffix_ago' => ' ' . _x( 'ago', 'time ago', 'ayecode-connect' ),
2505
+                'prefix_after' => _x( 'after', 'time ago', 'ayecode-connect' ) . ' ',
2506
+                'suffix_after' => '',
2507
+                'seconds' => _x( 'less than a minute', 'time ago', 'ayecode-connect' ),
2508
+                'minute' => _x( 'about a minute', 'time ago', 'ayecode-connect' ),
2509
+                'minutes' => _x( '%d minutes', 'time ago', 'ayecode-connect' ),
2510
+                'hour' => _x( 'about an hour', 'time ago', 'ayecode-connect' ),
2511
+                'hours' => _x( 'about %d hours', 'time ago', 'ayecode-connect' ),
2512
+                'day' => _x( 'a day', 'time ago', 'ayecode-connect' ),
2513
+                'days' => _x( '%d days', 'time ago', 'ayecode-connect' ),
2514
+                'month' => _x( 'about a month', 'time ago', 'ayecode-connect' ),
2515
+                'months' => _x( '%d months', 'time ago', 'ayecode-connect' ),
2516
+                'year' => _x( 'about a year', 'time ago', 'ayecode-connect' ),
2517
+                'years' => _x( '%d years', 'time ago', 'ayecode-connect' ),
2518
+            );
2519
+
2520
+            $params = apply_filters( 'ayecode_ui_timeago_params', $params );
2521
+
2522
+            foreach ( (array) $params as $key => $value ) {
2523
+                if ( ! is_scalar( $value ) ) {
2524
+                    continue;
2525
+                }
2526 2526
 
2527
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2528
-			}
2529
-
2530
-			$locale = json_encode( $params );
2531
-
2532
-			return apply_filters( 'ayecode_ui_timeago_locale', trim( $locale ) );
2533
-		}
2534
-
2535
-		/**
2536
-		 * JavaScript Minifier
2537
-		 *
2538
-		 * @param $input
2539
-		 *
2540
-		 * @return mixed
2541
-		 */
2542
-		public static function minify_js($input) {
2543
-			if(trim($input) === "") return $input;
2544
-			return preg_replace(
2545
-				array(
2546
-					// Remove comment(s)
2547
-					'#\s*("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')\s*|\s*\/\*(?!\!|@cc_on)(?>[\s\S]*?\*\/)\s*|\s*(?<![\:\=])\/\/.*(?=[\n\r]|$)|^\s*|\s*$#',
2548
-					// Remove white-space(s) outside the string and regex
2549
-					'#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/)|\/(?!\/)[^\n\r]*?\/(?=[\s.,;]|[gimuy]|$))|\s*([!%&*\(\)\-=+\[\]\{\}|;:,.<>?\/])\s*#s',
2550
-					// Remove the last semicolon
2551
-					'#;+\}#',
2552
-					// Minify object attribute(s) except JSON attribute(s). From `{'foo':'bar'}` to `{foo:'bar'}`
2553
-					'#([\{,])([\'])(\d+|[a-z_][a-z0-9_]*)\2(?=\:)#i',
2554
-					// --ibid. From `foo['bar']` to `foo.bar`
2555
-					'#([a-z0-9_\)\]])\[([\'"])([a-z_][a-z0-9_]*)\2\]#i'
2556
-				),
2557
-				array(
2558
-					'$1',
2559
-					'$1$2',
2560
-					'}',
2561
-					'$1$3',
2562
-					'$1.$3'
2563
-				),
2564
-				$input);
2565
-		}
2566
-
2567
-		/**
2568
-		 * Minify CSS
2569
-		 *
2570
-		 * @param $input
2571
-		 *
2572
-		 * @return mixed
2573
-		 */
2574
-		public static function minify_css($input) {
2575
-			if(trim($input) === "") return $input;
2576
-			return preg_replace(
2577
-				array(
2578
-					// Remove comment(s)
2579
-					'#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')|\/\*(?!\!)(?>.*?\*\/)|^\s*|\s*$#s',
2580
-					// Remove unused white-space(s)
2581
-					'#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/))|\s*+;\s*+(})\s*+|\s*+([*$~^|]?+=|[{};,>~]|\s(?![0-9\.])|!important\b)\s*+|([[(:])\s++|\s++([])])|\s++(:)\s*+(?!(?>[^{}"\']++|"(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')*+{)|^\s++|\s++\z|(\s)\s+#si',
2582
-					// Replace `0(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)` with `0`
2583
-					'#(?<=[\s:])(0)(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)#si',
2584
-					// Replace `:0 0 0 0` with `:0`
2585
-					'#:(0\s+0|0\s+0\s+0\s+0)(?=[;\}]|\!important)#i',
2586
-					// Replace `background-position:0` with `background-position:0 0`
2587
-					'#(background-position):0(?=[;\}])#si',
2588
-					// Replace `0.6` with `.6`, but only when preceded by `:`, `,`, `-` or a white-space
2589
-					'#(?<=[\s:,\-])0+\.(\d+)#s',
2590
-					// Minify string value
2591
-					'#(\/\*(?>.*?\*\/))|(?<!content\:)([\'"])([a-z_][a-z0-9\-_]*?)\2(?=[\s\{\}\];,])#si',
2592
-					'#(\/\*(?>.*?\*\/))|(\burl\()([\'"])([^\s]+?)\3(\))#si',
2593
-					// Minify HEX color code
2594
-					'#(?<=[\s:,\-]\#)([a-f0-6]+)\1([a-f0-6]+)\2([a-f0-6]+)\3#i',
2595
-					// Replace `(border|outline):none` with `(border|outline):0`
2596
-					'#(?<=[\{;])(border|outline):none(?=[;\}\!])#',
2597
-					// Remove empty selector(s)
2598
-					'#(\/\*(?>.*?\*\/))|(^|[\{\}])(?:[^\s\{\}]+)\{\}#s'
2599
-				),
2600
-				array(
2601
-					'$1',
2602
-					'$1$2$3$4$5$6$7',
2603
-					'$1',
2604
-					':0',
2605
-					'$1:0 0',
2606
-					'.$1',
2607
-					'$1$3',
2608
-					'$1$2$4$5',
2609
-					'$1$2$3',
2610
-					'$1:0',
2611
-					'$1$2'
2612
-				),
2613
-				$input);
2614
-		}
2615
-
2616
-		/**
2617
-		 * Get the conditional fields JavaScript.
2618
-		 *
2619
-		 * @return mixed
2620
-		 */
2621
-		public function conditional_fields_js() {
2622
-			ob_start();
2623
-			?>
2527
+                $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2528
+            }
2529
+
2530
+            $locale = json_encode( $params );
2531
+
2532
+            return apply_filters( 'ayecode_ui_timeago_locale', trim( $locale ) );
2533
+        }
2534
+
2535
+        /**
2536
+         * JavaScript Minifier
2537
+         *
2538
+         * @param $input
2539
+         *
2540
+         * @return mixed
2541
+         */
2542
+        public static function minify_js($input) {
2543
+            if(trim($input) === "") return $input;
2544
+            return preg_replace(
2545
+                array(
2546
+                    // Remove comment(s)
2547
+                    '#\s*("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')\s*|\s*\/\*(?!\!|@cc_on)(?>[\s\S]*?\*\/)\s*|\s*(?<![\:\=])\/\/.*(?=[\n\r]|$)|^\s*|\s*$#',
2548
+                    // Remove white-space(s) outside the string and regex
2549
+                    '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/)|\/(?!\/)[^\n\r]*?\/(?=[\s.,;]|[gimuy]|$))|\s*([!%&*\(\)\-=+\[\]\{\}|;:,.<>?\/])\s*#s',
2550
+                    // Remove the last semicolon
2551
+                    '#;+\}#',
2552
+                    // Minify object attribute(s) except JSON attribute(s). From `{'foo':'bar'}` to `{foo:'bar'}`
2553
+                    '#([\{,])([\'])(\d+|[a-z_][a-z0-9_]*)\2(?=\:)#i',
2554
+                    // --ibid. From `foo['bar']` to `foo.bar`
2555
+                    '#([a-z0-9_\)\]])\[([\'"])([a-z_][a-z0-9_]*)\2\]#i'
2556
+                ),
2557
+                array(
2558
+                    '$1',
2559
+                    '$1$2',
2560
+                    '}',
2561
+                    '$1$3',
2562
+                    '$1.$3'
2563
+                ),
2564
+                $input);
2565
+        }
2566
+
2567
+        /**
2568
+         * Minify CSS
2569
+         *
2570
+         * @param $input
2571
+         *
2572
+         * @return mixed
2573
+         */
2574
+        public static function minify_css($input) {
2575
+            if(trim($input) === "") return $input;
2576
+            return preg_replace(
2577
+                array(
2578
+                    // Remove comment(s)
2579
+                    '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')|\/\*(?!\!)(?>.*?\*\/)|^\s*|\s*$#s',
2580
+                    // Remove unused white-space(s)
2581
+                    '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/))|\s*+;\s*+(})\s*+|\s*+([*$~^|]?+=|[{};,>~]|\s(?![0-9\.])|!important\b)\s*+|([[(:])\s++|\s++([])])|\s++(:)\s*+(?!(?>[^{}"\']++|"(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')*+{)|^\s++|\s++\z|(\s)\s+#si',
2582
+                    // Replace `0(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)` with `0`
2583
+                    '#(?<=[\s:])(0)(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)#si',
2584
+                    // Replace `:0 0 0 0` with `:0`
2585
+                    '#:(0\s+0|0\s+0\s+0\s+0)(?=[;\}]|\!important)#i',
2586
+                    // Replace `background-position:0` with `background-position:0 0`
2587
+                    '#(background-position):0(?=[;\}])#si',
2588
+                    // Replace `0.6` with `.6`, but only when preceded by `:`, `,`, `-` or a white-space
2589
+                    '#(?<=[\s:,\-])0+\.(\d+)#s',
2590
+                    // Minify string value
2591
+                    '#(\/\*(?>.*?\*\/))|(?<!content\:)([\'"])([a-z_][a-z0-9\-_]*?)\2(?=[\s\{\}\];,])#si',
2592
+                    '#(\/\*(?>.*?\*\/))|(\burl\()([\'"])([^\s]+?)\3(\))#si',
2593
+                    // Minify HEX color code
2594
+                    '#(?<=[\s:,\-]\#)([a-f0-6]+)\1([a-f0-6]+)\2([a-f0-6]+)\3#i',
2595
+                    // Replace `(border|outline):none` with `(border|outline):0`
2596
+                    '#(?<=[\{;])(border|outline):none(?=[;\}\!])#',
2597
+                    // Remove empty selector(s)
2598
+                    '#(\/\*(?>.*?\*\/))|(^|[\{\}])(?:[^\s\{\}]+)\{\}#s'
2599
+                ),
2600
+                array(
2601
+                    '$1',
2602
+                    '$1$2$3$4$5$6$7',
2603
+                    '$1',
2604
+                    ':0',
2605
+                    '$1:0 0',
2606
+                    '.$1',
2607
+                    '$1$3',
2608
+                    '$1$2$4$5',
2609
+                    '$1$2$3',
2610
+                    '$1:0',
2611
+                    '$1$2'
2612
+                ),
2613
+                $input);
2614
+        }
2615
+
2616
+        /**
2617
+         * Get the conditional fields JavaScript.
2618
+         *
2619
+         * @return mixed
2620
+         */
2621
+        public function conditional_fields_js() {
2622
+            ob_start();
2623
+            ?>
2624 2624
             <script>
2625 2625
                 /**
2626 2626
                  * Conditional Fields
@@ -3155,237 +3155,237 @@  discard block
 block discarded – undo
3155 3155
 				<?php do_action( 'aui_conditional_fields_js', $this ); ?>
3156 3156
             </script>
3157 3157
 			<?php
3158
-			$output = ob_get_clean();
3159
-
3160
-			return str_replace( array( '<script>', '</script>' ), '', self::minify_js( $output ) );
3161
-		}
3162
-
3163
-		/**
3164
-		 * Check if block editor page.
3165
-		 *
3166
-		 * @since 0.2.27
3167
-		 *
3168
-		 * @return bool
3169
-		 */
3170
-		public static function is_block_editor() {
3171
-			if ( is_admin() ) {
3172
-				$current_screen = function_exists('get_current_screen' ) ? get_current_screen() : array();
3173
-
3174
-				if ( ! empty( $current_screen ) && $current_screen->is_block_editor() ) {
3175
-					return true;
3176
-				}
3177
-			}
3178
-
3179
-			return false;
3180
-		}
3181
-
3182
-		/**
3183
-		 * Checks if the current call is a ajax call to get the block content.
3184
-		 *
3185
-		 * This can be used in your widget to return different content as the block content.
3186
-		 *
3187
-		 * @since 0.2.27
3188
-		 *
3189
-		 * @return bool
3190
-		 */
3191
-		public static function is_block_content_call() {
3192
-			$result = false;
3193
-			if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
3194
-				$result = true;
3195
-			}
3196
-
3197
-			return $result;
3198
-		}
3199
-
3200
-		/**
3201
-		 * Tests if the current output is inside a Divi preview.
3202
-		 *
3203
-		 * @since 0.2.27
3204
-		 *
3205
-		 * @return bool
3206
-		 */
3207
-		public static function is_divi_preview() {
3208
-			$result = false;
3209
-			if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
3210
-				$result = true;
3211
-			}
3212
-
3213
-			return $result;
3214
-		}
3215
-
3216
-		/**
3217
-		 * Tests if the current output is inside a elementor preview.
3218
-		 *
3219
-		 *
3220
-		 * @since 0.2.27
3221
-		 *
3222
-		 * @return bool
3223
-		 */
3224
-		public static function is_elementor_preview() {
3225
-			$result = false;
3226
-			if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
3227
-				$result = true;
3228
-			}
3229
-
3230
-			return $result;
3231
-		}
3232
-
3233
-		/**
3234
-		 * Tests if the current output is inside a Beaver builder preview.
3235
-		 *
3236
-		 * @since 0.2.27
3237
-		 *
3238
-		 * @return bool
3239
-		 */
3240
-		public static function is_beaver_preview() {
3241
-			$result = false;
3242
-			if ( isset( $_REQUEST['fl_builder'] ) ) {
3243
-				$result = true;
3244
-			}
3245
-
3246
-			return $result;
3247
-		}
3248
-
3249
-		/**
3250
-		 * Tests if the current output is inside a siteorigin builder preview.
3251
-		 *
3252
-		 * @since 0.2.27
3253
-		 *
3254
-		 * @return bool
3255
-		 */
3256
-		public static function is_siteorigin_preview() {
3257
-			$result = false;
3258
-			if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
3259
-				$result = true;
3260
-			}
3261
-
3262
-			return $result;
3263
-		}
3264
-
3265
-		/**
3266
-		 * Tests if the current output is inside a cornerstone builder preview.
3267
-		 *
3268
-		 * @since 0.2.27
3269
-		 *
3270
-		 * @return bool
3271
-		 */
3272
-		public static function is_cornerstone_preview() {
3273
-			$result = false;
3274
-			if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
3275
-				$result = true;
3276
-			}
3277
-
3278
-			return $result;
3279
-		}
3280
-
3281
-		/**
3282
-		 * Tests if the current output is inside a fusion builder preview.
3283
-		 *
3284
-		 * @return bool
3285
-		 *@since 1.1.0
3286
-		 */
3287
-		public static function is_fusion_preview() {
3288
-			$result = false;
3289
-			if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
3290
-				$result = true;
3291
-			}
3292
-
3293
-			return $result;
3294
-		}
3295
-
3296
-		/**
3297
-		 * Tests if the current output is inside a Oxygen builder preview.
3298
-		 *
3299
-		 * @return bool
3300
-		 *@since 1.0.18
3301
-		 */
3302
-		public static function is_oxygen_preview() {
3303
-			$result = false;
3304
-			if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
3305
-				$result = true;
3306
-			}
3307
-
3308
-			return $result;
3309
-		}
3310
-
3311
-		/**
3312
-		 * Check for Kallyas theme Zion builder preview.
3313
-		 *
3314
-		 * @since 0.2.27
3315
-		 *
3316
-		 * @return bool
3317
-		 */
3318
-		public static function is_kallyas_zion_preview() {
3319
-			$result = false;
3320
-
3321
-			if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) {
3322
-				$result = true;
3323
-			}
3324
-
3325
-			return $result;
3326
-		}
3327
-
3328
-		/**
3329
-		 * Check for Bricks theme builder preview.
3330
-		 *
3331
-		 * @since 0.2.27
3332
-		 *
3333
-		 * @return bool
3334
-		 */
3335
-		public static function is_bricks_preview() {
3336
-			$result = false;
3337
-
3338
-			if ( function_exists( 'bricks_is_builder' ) && ( bricks_is_builder() || bricks_is_builder_call() ) ) {
3339
-				$result = true;
3340
-			}
3341
-
3342
-			return $result;
3343
-		}
3344
-
3345
-		/**
3346
-		 * General function to check if we are in a preview situation.
3347
-		 *
3348
-		 * @since 0.2.27
3349
-		 *
3350
-		 * @return bool
3351
-		 */
3352
-		public static function is_preview() {
3353
-			$preview = false;
3354
-
3355
-			if ( self::is_block_editor() ) {
3356
-				return true;
3357
-			}
3358
-
3359
-			if( self::is_block_content_call() ) {
3360
-				$preview = true;
3361
-			} elseif ( self::is_divi_preview() ) {
3362
-				$preview = true;
3363
-			} elseif ( self::is_elementor_preview() ) {
3364
-				$preview = true;
3365
-			} elseif ( self::is_beaver_preview() ) {
3366
-				$preview = true;
3367
-			} elseif ( self::is_siteorigin_preview() ) {
3368
-				$preview = true;
3369
-			} elseif ( self::is_cornerstone_preview() ) {
3370
-				$preview = true;
3371
-			} elseif ( self::is_fusion_preview() ) {
3372
-				$preview = true;
3373
-			} elseif ( self::is_oxygen_preview() ) {
3374
-				$preview = true;
3375
-			} elseif( self::is_kallyas_zion_preview() ) {
3376
-				$preview = true;
3377
-			} elseif( self::is_bricks_preview() ) {
3378
-				$preview = true;
3379
-			}
3380
-
3381
-			return $preview;
3382
-		}
3383
-	}
3384
-
3385
-	global $ayecode_ui_settings;
3386
-
3387
-	/**
3388
-	 * Run the class if found.
3389
-	 */
3390
-	$ayecode_ui_settings = AyeCode_UI_Settings::instance();
3158
+            $output = ob_get_clean();
3159
+
3160
+            return str_replace( array( '<script>', '</script>' ), '', self::minify_js( $output ) );
3161
+        }
3162
+
3163
+        /**
3164
+         * Check if block editor page.
3165
+         *
3166
+         * @since 0.2.27
3167
+         *
3168
+         * @return bool
3169
+         */
3170
+        public static function is_block_editor() {
3171
+            if ( is_admin() ) {
3172
+                $current_screen = function_exists('get_current_screen' ) ? get_current_screen() : array();
3173
+
3174
+                if ( ! empty( $current_screen ) && $current_screen->is_block_editor() ) {
3175
+                    return true;
3176
+                }
3177
+            }
3178
+
3179
+            return false;
3180
+        }
3181
+
3182
+        /**
3183
+         * Checks if the current call is a ajax call to get the block content.
3184
+         *
3185
+         * This can be used in your widget to return different content as the block content.
3186
+         *
3187
+         * @since 0.2.27
3188
+         *
3189
+         * @return bool
3190
+         */
3191
+        public static function is_block_content_call() {
3192
+            $result = false;
3193
+            if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
3194
+                $result = true;
3195
+            }
3196
+
3197
+            return $result;
3198
+        }
3199
+
3200
+        /**
3201
+         * Tests if the current output is inside a Divi preview.
3202
+         *
3203
+         * @since 0.2.27
3204
+         *
3205
+         * @return bool
3206
+         */
3207
+        public static function is_divi_preview() {
3208
+            $result = false;
3209
+            if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
3210
+                $result = true;
3211
+            }
3212
+
3213
+            return $result;
3214
+        }
3215
+
3216
+        /**
3217
+         * Tests if the current output is inside a elementor preview.
3218
+         *
3219
+         *
3220
+         * @since 0.2.27
3221
+         *
3222
+         * @return bool
3223
+         */
3224
+        public static function is_elementor_preview() {
3225
+            $result = false;
3226
+            if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
3227
+                $result = true;
3228
+            }
3229
+
3230
+            return $result;
3231
+        }
3232
+
3233
+        /**
3234
+         * Tests if the current output is inside a Beaver builder preview.
3235
+         *
3236
+         * @since 0.2.27
3237
+         *
3238
+         * @return bool
3239
+         */
3240
+        public static function is_beaver_preview() {
3241
+            $result = false;
3242
+            if ( isset( $_REQUEST['fl_builder'] ) ) {
3243
+                $result = true;
3244
+            }
3245
+
3246
+            return $result;
3247
+        }
3248
+
3249
+        /**
3250
+         * Tests if the current output is inside a siteorigin builder preview.
3251
+         *
3252
+         * @since 0.2.27
3253
+         *
3254
+         * @return bool
3255
+         */
3256
+        public static function is_siteorigin_preview() {
3257
+            $result = false;
3258
+            if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
3259
+                $result = true;
3260
+            }
3261
+
3262
+            return $result;
3263
+        }
3264
+
3265
+        /**
3266
+         * Tests if the current output is inside a cornerstone builder preview.
3267
+         *
3268
+         * @since 0.2.27
3269
+         *
3270
+         * @return bool
3271
+         */
3272
+        public static function is_cornerstone_preview() {
3273
+            $result = false;
3274
+            if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
3275
+                $result = true;
3276
+            }
3277
+
3278
+            return $result;
3279
+        }
3280
+
3281
+        /**
3282
+         * Tests if the current output is inside a fusion builder preview.
3283
+         *
3284
+         * @return bool
3285
+         *@since 1.1.0
3286
+         */
3287
+        public static function is_fusion_preview() {
3288
+            $result = false;
3289
+            if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
3290
+                $result = true;
3291
+            }
3292
+
3293
+            return $result;
3294
+        }
3295
+
3296
+        /**
3297
+         * Tests if the current output is inside a Oxygen builder preview.
3298
+         *
3299
+         * @return bool
3300
+         *@since 1.0.18
3301
+         */
3302
+        public static function is_oxygen_preview() {
3303
+            $result = false;
3304
+            if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
3305
+                $result = true;
3306
+            }
3307
+
3308
+            return $result;
3309
+        }
3310
+
3311
+        /**
3312
+         * Check for Kallyas theme Zion builder preview.
3313
+         *
3314
+         * @since 0.2.27
3315
+         *
3316
+         * @return bool
3317
+         */
3318
+        public static function is_kallyas_zion_preview() {
3319
+            $result = false;
3320
+
3321
+            if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) {
3322
+                $result = true;
3323
+            }
3324
+
3325
+            return $result;
3326
+        }
3327
+
3328
+        /**
3329
+         * Check for Bricks theme builder preview.
3330
+         *
3331
+         * @since 0.2.27
3332
+         *
3333
+         * @return bool
3334
+         */
3335
+        public static function is_bricks_preview() {
3336
+            $result = false;
3337
+
3338
+            if ( function_exists( 'bricks_is_builder' ) && ( bricks_is_builder() || bricks_is_builder_call() ) ) {
3339
+                $result = true;
3340
+            }
3341
+
3342
+            return $result;
3343
+        }
3344
+
3345
+        /**
3346
+         * General function to check if we are in a preview situation.
3347
+         *
3348
+         * @since 0.2.27
3349
+         *
3350
+         * @return bool
3351
+         */
3352
+        public static function is_preview() {
3353
+            $preview = false;
3354
+
3355
+            if ( self::is_block_editor() ) {
3356
+                return true;
3357
+            }
3358
+
3359
+            if( self::is_block_content_call() ) {
3360
+                $preview = true;
3361
+            } elseif ( self::is_divi_preview() ) {
3362
+                $preview = true;
3363
+            } elseif ( self::is_elementor_preview() ) {
3364
+                $preview = true;
3365
+            } elseif ( self::is_beaver_preview() ) {
3366
+                $preview = true;
3367
+            } elseif ( self::is_siteorigin_preview() ) {
3368
+                $preview = true;
3369
+            } elseif ( self::is_cornerstone_preview() ) {
3370
+                $preview = true;
3371
+            } elseif ( self::is_fusion_preview() ) {
3372
+                $preview = true;
3373
+            } elseif ( self::is_oxygen_preview() ) {
3374
+                $preview = true;
3375
+            } elseif( self::is_kallyas_zion_preview() ) {
3376
+                $preview = true;
3377
+            } elseif( self::is_bricks_preview() ) {
3378
+                $preview = true;
3379
+            }
3380
+
3381
+            return $preview;
3382
+        }
3383
+    }
3384
+
3385
+    global $ayecode_ui_settings;
3386
+
3387
+    /**
3388
+     * Run the class if found.
3389
+     */
3390
+    $ayecode_ui_settings = AyeCode_UI_Settings::instance();
3391 3391
 }
3392 3392
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +795 added lines, -795 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>'. wp_kses_post( $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>' . wp_kses_post($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,32 +460,32 @@  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 465
 			} else {
466 466
 				$css_setting = current_action() == 'wp_enqueue_scripts' ? 'css' : 'css_backend';
467
-				$rtl = is_rtl() && ! $aui_bs5 ? '-rtl' : '';
467
+				$rtl = is_rtl() && !$aui_bs5 ? '-rtl' : '';
468 468
                 $bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : '';
469 469
 
470
-				if ( $this->settings[ $css_setting ] ) {
471
-					$compatibility = $this->settings[$css_setting]=='core' ? false : true;
472
-					$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';
470
+				if ($this->settings[$css_setting]) {
471
+					$compatibility = $this->settings[$css_setting] == 'core' ? false : true;
472
+					$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';
473 473
 
474
-					wp_register_style( 'ayecode-ui', $url, array(), $this->version );
475
-					wp_enqueue_style( 'ayecode-ui' );
474
+					wp_register_style('ayecode-ui', $url, array(), $this->version);
475
+					wp_enqueue_style('ayecode-ui');
476 476
 
477
-					if ( is_admin() && ( !empty($_REQUEST['postType']) || self::is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) )  ) {
478
-						$url = $this->url.'assets'.$bs_ver.'/css/ayecode-ui-fse.css';
479
-						wp_register_style( 'ayecode-ui-fse', $url, array(), $this->version );
480
-						wp_enqueue_style( 'ayecode-ui-fse' );
477
+					if (is_admin() && (!empty($_REQUEST['postType']) || self::is_block_editor()) && (defined('BLOCKSTRAP_VERSION') || defined('AUI_FSE'))) {
478
+						$url = $this->url . 'assets' . $bs_ver . '/css/ayecode-ui-fse.css';
479
+						wp_register_style('ayecode-ui-fse', $url, array(), $this->version);
480
+						wp_enqueue_style('ayecode-ui-fse');
481 481
 						$load_fse = true;
482 482
 					}
483 483
 
484 484
 					// flatpickr
485
-					wp_register_style( 'flatpickr', $this->url.'assets'.$bs_ver.'/css/flatpickr.min.css', array(), $this->version );
485
+					wp_register_style('flatpickr', $this->url . 'assets' . $bs_ver . '/css/flatpickr.min.css', array(), $this->version);
486 486
 
487 487
 					// fix some wp-admin issues
488
-					if(is_admin()){
488
+					if (is_admin()) {
489 489
 						$custom_css = "
490 490
                 body{
491 491
                     background-color: #f1f1f1;
@@ -532,14 +532,14 @@  discard block
 block discarded – undo
532 532
 						    padding: 0;
533 533
 						}
534 534
 					";
535
-						wp_add_inline_style( 'ayecode-ui', $custom_css );
535
+						wp_add_inline_style('ayecode-ui', $custom_css);
536 536
 					}
537 537
 
538 538
 					// custom changes
539
-					if ( $load_fse ) {
540
-						wp_add_inline_style( 'ayecode-ui-fse', self::custom_css($compatibility, true) );
541
-					}else{
542
-						wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) );
539
+					if ($load_fse) {
540
+						wp_add_inline_style('ayecode-ui-fse', self::custom_css($compatibility, true));
541
+					} else {
542
+						wp_add_inline_style('ayecode-ui', self::custom_css($compatibility));
543 543
 					}
544 544
 				}
545 545
 			}
@@ -556,10 +556,10 @@  discard block
 block discarded – undo
556 556
 			$flatpickr_locale = self::flatpickr_locale();
557 557
 
558 558
 			ob_start();
559
-			if ( $aui_bs5 ) {
560
-				include_once( dirname( __FILE__ ) . '/inc/bs5-js.php' );
561
-			}else{
562
-				include_once( dirname( __FILE__ ) . '/inc/bs4-js.php' );
559
+			if ($aui_bs5) {
560
+				include_once(dirname(__FILE__) . '/inc/bs5-js.php');
561
+			} else {
562
+				include_once(dirname(__FILE__) . '/inc/bs4-js.php');
563 563
             }
564 564
 
565 565
 			$output = ob_get_clean();
@@ -567,10 +567,10 @@  discard block
 block discarded – undo
567 567
 			/*
568 568
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
569 569
 			 */
570
-			return str_replace( array(
570
+			return str_replace(array(
571 571
 				'<script>',
572 572
 				'</script>'
573
-			), '', self::minify_js($output) );
573
+			), '', self::minify_js($output));
574 574
 		}
575 575
 
576 576
 
@@ -584,13 +584,13 @@  discard block
 block discarded – undo
584 584
 			ob_start();
585 585
 			?>
586 586
             <script>
587
-				<?php if( defined( 'FUSION_BUILDER_VERSION' ) ){ ?>
587
+				<?php if (defined('FUSION_BUILDER_VERSION')) { ?>
588 588
                 /* With Avada builder */
589 589
 
590 590
 				<?php } ?>
591 591
             </script>
592 592
 			<?php
593
-			return str_replace( array(
593
+			return str_replace(array(
594 594
 				'<script>',
595 595
 				'</script>'
596 596
 			), '', ob_get_clean());
@@ -601,7 +601,7 @@  discard block
 block discarded – undo
601 601
 		 *
602 602
 		 * If this remains small then its best to use this than to add another JS file.
603 603
 		 */
604
-		public function inline_script_file_browser(){
604
+		public function inline_script_file_browser() {
605 605
 			ob_start();
606 606
 			?>
607 607
             <script>
@@ -616,17 +616,17 @@  discard block
 block discarded – undo
616 616
 			/*
617 617
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
618 618
 			 */
619
-			return str_replace( array(
619
+			return str_replace(array(
620 620
 				'<script>',
621 621
 				'</script>'
622
-			), '', $output );
622
+			), '', $output);
623 623
 		}
624 624
 
625 625
 		/**
626 626
 		 * Adds the Font Awesome JS.
627 627
 		 */
628 628
 		public function enqueue_scripts() {
629
-			if( is_admin() && !$this->is_aui_screen()){
629
+			if (is_admin() && !$this->is_aui_screen()) {
630 630
 				// Don't add wp-admin scripts if not requested to.
631 631
 			} else {
632 632
 				$js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend';
@@ -634,57 +634,57 @@  discard block
 block discarded – undo
634 634
 				$bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : '';
635 635
 
636 636
 				// select2
637
-				wp_register_script( 'select2', $this->url . 'assets/js/select2.min.js', array( 'jquery' ), $this->select2_version );
637
+				wp_register_script('select2', $this->url . 'assets/js/select2.min.js', array('jquery'), $this->select2_version);
638 638
 
639 639
 				// flatpickr
640
-				wp_register_script( 'flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->version );
640
+				wp_register_script('flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->version);
641 641
 
642 642
 				// iconpicker
643
-				if ( defined( 'FAS_ICONPICKER_JS_URL' ) ) {
644
-					wp_register_script( 'iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version );
645
-				}else{
646
-					wp_register_script( 'iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version );
643
+				if (defined('FAS_ICONPICKER_JS_URL')) {
644
+					wp_register_script('iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version);
645
+				} else {
646
+					wp_register_script('iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version);
647 647
 				}
648 648
 
649 649
 				// Bootstrap file browser
650
-				wp_register_script( 'aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array( 'jquery' ), $this->select2_version );
651
-				wp_add_inline_script( 'aui-custom-file-input', $this->inline_script_file_browser() );
650
+				wp_register_script('aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array('jquery'), $this->select2_version);
651
+				wp_add_inline_script('aui-custom-file-input', $this->inline_script_file_browser());
652 652
 
653 653
 				$load_inline = false;
654 654
 
655 655
 				// Load select2 only when required.
656
-				if ( $this->force_load_select2() ) {
657
-					$dependency = array( 'select2', 'jquery' );
656
+				if ($this->force_load_select2()) {
657
+					$dependency = array('select2', 'jquery');
658 658
 				} else {
659
-					$dependency = array( 'jquery' );
659
+					$dependency = array('jquery');
660 660
 				}
661 661
 
662
-				if ( $this->settings[ $js_setting ] == 'core-popper' ) {
662
+				if ($this->settings[$js_setting] == 'core-popper') {
663 663
 					// Bootstrap bundle
664 664
 					$url = $this->url . 'assets' . $bs_ver . '/js/bootstrap.bundle.min.js';
665
-					wp_register_script( 'bootstrap-js-bundle', $url, $dependency, $this->version, $this->is_bs3_compat() );
665
+					wp_register_script('bootstrap-js-bundle', $url, $dependency, $this->version, $this->is_bs3_compat());
666 666
 
667 667
 					// If in admin then add to footer for compatibility.
668
-					is_admin() ? wp_enqueue_script( 'bootstrap-js-bundle', '', null, null, true ) : wp_enqueue_script( 'bootstrap-js-bundle' );
668
+					is_admin() ? wp_enqueue_script('bootstrap-js-bundle', '', null, null, true) : wp_enqueue_script('bootstrap-js-bundle');
669 669
 
670 670
 					$script = $this->inline_script();
671
-					wp_add_inline_script( 'bootstrap-js-bundle', $script );
672
-				} elseif ( $this->settings[ $js_setting ] == 'popper' ) {
671
+					wp_add_inline_script('bootstrap-js-bundle', $script);
672
+				} elseif ($this->settings[$js_setting] == 'popper') {
673 673
 					$url = $this->url . 'assets/js/popper.min.js'; // @todo we need to update this to bs5
674
-					wp_register_script( 'bootstrap-js-popper', $url, $dependency, $this->version );
675
-					wp_enqueue_script( 'bootstrap-js-popper' );
674
+					wp_register_script('bootstrap-js-popper', $url, $dependency, $this->version);
675
+					wp_enqueue_script('bootstrap-js-popper');
676 676
 					$load_inline = true;
677 677
 				} else {
678 678
 					$load_inline = true;
679 679
 				}
680 680
 
681 681
 				// Load needed inline scripts by faking the loading of a script if the main script is not being loaded
682
-				if ( $load_inline ) {
683
-					wp_register_script( 'bootstrap-dummy', '', $dependency );
684
-					wp_enqueue_script( 'bootstrap-dummy' );
682
+				if ($load_inline) {
683
+					wp_register_script('bootstrap-dummy', '', $dependency);
684
+					wp_enqueue_script('bootstrap-dummy');
685 685
 
686 686
 					$script = $this->inline_script();
687
-					wp_add_inline_script( 'bootstrap-dummy', $script );
687
+					wp_add_inline_script('bootstrap-dummy', $script);
688 688
 				}
689 689
 			}
690 690
 		}
@@ -697,15 +697,15 @@  discard block
 block discarded – undo
697 697
 		public function force_load_select2() {
698 698
 			global $aui_select2_enqueued;
699 699
 
700
-			$conditional_select2 = apply_filters( 'aui_is_conditional_select2', true );
700
+			$conditional_select2 = apply_filters('aui_is_conditional_select2', true);
701 701
 
702
-			if ( $conditional_select2 !== true ) {
702
+			if ($conditional_select2 !== true) {
703 703
 				return true;
704 704
 			}
705 705
 
706
-			$load = is_admin() && ! $aui_select2_enqueued;
706
+			$load = is_admin() && !$aui_select2_enqueued;
707 707
 
708
-			return apply_filters( 'aui_force_load_select2', $load );
708
+			return apply_filters('aui_force_load_select2', $load);
709 709
 		}
710 710
 
711 711
 		/**
@@ -714,23 +714,23 @@  discard block
 block discarded – undo
714 714
 		 * @since 0.2.29
715 715
 		 */
716 716
 		public function enqueue_select2() {
717
-			wp_enqueue_script( 'select2' );
717
+			wp_enqueue_script('select2');
718 718
 		}
719 719
 
720 720
 		/**
721 721
 		 * Enqueue flatpickr if called.
722 722
 		 */
723
-		public function enqueue_flatpickr(){
724
-			wp_enqueue_style( 'flatpickr' );
725
-			wp_enqueue_script( 'flatpickr' );
723
+		public function enqueue_flatpickr() {
724
+			wp_enqueue_style('flatpickr');
725
+			wp_enqueue_script('flatpickr');
726 726
 		}
727 727
 
728 728
 		/**
729 729
 		 * Enqueue iconpicker if called.
730 730
 		 */
731
-		public function enqueue_iconpicker(){
732
-			wp_enqueue_style( 'iconpicker' );
733
-			wp_enqueue_script( 'iconpicker' );
731
+		public function enqueue_iconpicker() {
732
+			wp_enqueue_style('iconpicker');
733
+			wp_enqueue_script('iconpicker');
734 734
 		}
735 735
 
736 736
         /**
@@ -742,17 +742,17 @@  discard block
 block discarded – undo
742 742
          * @return string
743 743
          */
744 744
         public function get_url() {
745
-            $content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) );
746
-            $content_url = untrailingslashit( WP_CONTENT_URL );
745
+            $content_dir = wp_normalize_path(untrailingslashit(WP_CONTENT_DIR));
746
+            $content_url = untrailingslashit(WP_CONTENT_URL);
747 747
 
748 748
             // maybe Replace http:// to https://.
749
-            if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) {
750
-                $content_url = str_replace( 'http://', 'https://', $content_url );
749
+            if (strpos($content_url, 'http://') === 0 && strpos(plugins_url(), 'https://') === 0) {
750
+                $content_url = str_replace('http://', 'https://', $content_url);
751 751
             }
752 752
 
753 753
             // First find where in the path our content directory starts
754 754
             $content_basename = basename($content_dir);
755
-            $file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) );
755
+            $file_dir = str_replace("/includes", "", wp_normalize_path(dirname(__FILE__)));
756 756
 
757 757
             // Find the relative path by matching from content directory name
758 758
             $after_content = substr($file_dir, strpos($file_dir, '/' . $content_basename . '/') + strlen('/' . $content_basename . '/'));
@@ -772,15 +772,15 @@  discard block
 block discarded – undo
772 772
 
773 773
 			$url = '';
774 774
 			// check if we are inside a plugin
775
-			$file_dir = str_replace( "/includes","", wp_normalize_path( dirname( __FILE__ ) ) );
775
+			$file_dir = str_replace("/includes", "", wp_normalize_path(dirname(__FILE__)));
776 776
 
777 777
 			// add check in-case user has changed wp-content dir name.
778 778
 			$wp_content_folder_name = basename(WP_CONTENT_DIR);
779
-			$dir_parts = explode("/$wp_content_folder_name/",$file_dir);
780
-			$url_parts = explode("/$wp_content_folder_name/",plugins_url());
779
+			$dir_parts = explode("/$wp_content_folder_name/", $file_dir);
780
+			$url_parts = explode("/$wp_content_folder_name/", plugins_url());
781 781
 
782
-			if(!empty($url_parts[0]) && !empty($dir_parts[1])){
783
-				$url = trailingslashit( $url_parts[0]."/$wp_content_folder_name/".$dir_parts[1] );
782
+			if (!empty($url_parts[0]) && !empty($dir_parts[1])) {
783
+				$url = trailingslashit($url_parts[0] . "/$wp_content_folder_name/" . $dir_parts[1]);
784 784
 			}
785 785
 
786 786
 			return $url;
@@ -790,7 +790,7 @@  discard block
 block discarded – undo
790 790
 		 * Register the database settings with WordPress.
791 791
 		 */
792 792
 		public function register_settings() {
793
-			register_setting( 'ayecode-ui-settings', 'ayecode-ui-settings' );
793
+			register_setting('ayecode-ui-settings', 'ayecode-ui-settings');
794 794
 		}
795 795
 
796 796
 		/**
@@ -799,10 +799,10 @@  discard block
 block discarded – undo
799 799
 		 */
800 800
 		public function menu_item() {
801 801
 			$menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
802
-			call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array(
802
+			call_user_func($menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array(
803 803
 				$this,
804 804
 				'settings_page'
805
-			) );
805
+			));
806 806
 		}
807 807
 
808 808
 		/**
@@ -810,7 +810,7 @@  discard block
 block discarded – undo
810 810
 		 *
811 811
 		 * @return array
812 812
 		 */
813
-		public function theme_js_settings(){
813
+		public function theme_js_settings() {
814 814
 			return array(
815 815
 				'ayetheme' => 'popper',
816 816
 				'listimia' => 'required',
@@ -831,7 +831,7 @@  discard block
 block discarded – undo
831 831
 	        $query = "SELECT MIN(user_registered) AS oldest_registration_date FROM {$wpdb->users}";
832 832
 
833 833
 	        // Execute the query
834
-	        $date = $wpdb->get_var( $query ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
834
+	        $date = $wpdb->get_var($query); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
835 835
 
836 836
 	        return $date ? $date : false;
837 837
         }
@@ -839,11 +839,11 @@  discard block
 block discarded – undo
839 839
 		/**
840 840
 		 * Show admin notice if backend scripts not loaded.
841 841
 		 */
842
-		public function show_admin_version_notice(){
843
-			$fix_url = admin_url("options-general.php?page=ayecode-ui-settings" );
844
-			$button = '<a href="'.esc_url($fix_url).'" class="button-primary">View Settings</a>';
845
-			$message = __( '<b>Style Issue:</b> AyeCode UI has changed its default version from v4 to v5, if you notice unwanted style changes, please revert to v4 (saving the settings page will remove this notice)')." " .$button;
846
-			echo '<div class="notice notice-error aui-settings-error-notice"><p>'. wp_kses_post( $message ).'</p></div>';
842
+		public function show_admin_version_notice() {
843
+			$fix_url = admin_url("options-general.php?page=ayecode-ui-settings");
844
+			$button = '<a href="' . esc_url($fix_url) . '" class="button-primary">View Settings</a>';
845
+			$message = __('<b>Style Issue:</b> AyeCode UI has changed its default version from v4 to v5, if you notice unwanted style changes, please revert to v4 (saving the settings page will remove this notice)') . " " . $button;
846
+			echo '<div class="notice notice-error aui-settings-error-notice"><p>' . wp_kses_post($message) . '</p></div>';
847 847
 		}
848 848
 
849 849
 		/**
@@ -853,32 +853,32 @@  discard block
 block discarded – undo
853 853
 		 */
854 854
 		public function get_settings() {
855 855
 
856
-			$db_settings = get_option( 'ayecode-ui-settings' );
856
+			$db_settings = get_option('ayecode-ui-settings');
857 857
 
858 858
             // Maybe show default version notice
859
-			$site_install_date = new DateTime( self::get_site_install_date() );
859
+			$site_install_date = new DateTime(self::get_site_install_date());
860 860
 			$switch_over_date = new DateTime("2024-02-01");
861
-			if ( empty( $db_settings ) && $site_install_date < $switch_over_date ) {
862
-				add_action( 'admin_notices', array( $this, 'show_admin_version_notice' ) );
861
+			if (empty($db_settings) && $site_install_date < $switch_over_date) {
862
+				add_action('admin_notices', array($this, 'show_admin_version_notice'));
863 863
 			}
864 864
 
865 865
 			$js_default = 'core-popper';
866 866
 			$js_default_backend = $js_default;
867 867
 
868 868
 			// maybe set defaults (if no settings set)
869
-			if(empty($db_settings)){
870
-				$active_theme = strtolower( get_template() ); // active parent theme.
869
+			if (empty($db_settings)) {
870
+				$active_theme = strtolower(get_template()); // active parent theme.
871 871
 				$theme_js_settings = self::theme_js_settings();
872
-				if(isset($theme_js_settings[$active_theme])){
872
+				if (isset($theme_js_settings[$active_theme])) {
873 873
 					$js_default = $theme_js_settings[$active_theme];
874
-					$js_default_backend = isset($theme_js_settings[$active_theme."_backend"]) ? $theme_js_settings[$active_theme."_backend"] : $js_default;
874
+					$js_default_backend = isset($theme_js_settings[$active_theme . "_backend"]) ? $theme_js_settings[$active_theme . "_backend"] : $js_default;
875 875
 				}
876 876
 			}
877 877
 
878 878
 			/**
879 879
 			 * Filter the default settings.
880 880
 			 */
881
-			$defaults = apply_filters( 'ayecode-ui-default-settings', array(
881
+			$defaults = apply_filters('ayecode-ui-default-settings', array(
882 882
 				'css'            => 'compatibility', // core, compatibility
883 883
 				'js'             => $js_default, // js to load, core-popper, popper
884 884
 				'html_font_size' => '16', // js to load, core-popper, popper
@@ -886,16 +886,16 @@  discard block
 block discarded – undo
886 886
 				'js_backend'     => $js_default_backend, // js to load, core-popper, popper
887 887
 				'disable_admin'  => '', // URL snippets to disable loading on admin
888 888
                 'bs_ver'         => '5', // The default bootstrap version to sue by default
889
-			), $db_settings );
889
+			), $db_settings);
890 890
 
891
-			$settings = wp_parse_args( $db_settings, $defaults );
891
+			$settings = wp_parse_args($db_settings, $defaults);
892 892
 
893 893
 			/**
894 894
 			 * Filter the Bootstrap settings.
895 895
 			 *
896 896
 			 * @todo if we add this filer people might use it and then it defeats the purpose of this class :/
897 897
 			 */
898
-			return $this->settings = apply_filters( 'ayecode-ui-settings', $settings, $db_settings, $defaults );
898
+			return $this->settings = apply_filters('ayecode-ui-settings', $settings, $db_settings, $defaults);
899 899
 		}
900 900
 
901 901
 
@@ -903,109 +903,109 @@  discard block
 block discarded – undo
903 903
 		 * The settings page html output.
904 904
 		 */
905 905
 		public function settings_page() {
906
-			if ( ! current_user_can( 'manage_options' ) ) {
907
-				wp_die( esc_attr__( 'You do not have sufficient permissions to access this page.', 'ayecode-connect' ) );
906
+			if (!current_user_can('manage_options')) {
907
+				wp_die(esc_attr__('You do not have sufficient permissions to access this page.', 'ayecode-connect'));
908 908
 			}
909
-            $overrides = apply_filters( 'ayecode-ui-settings', array(), array(), array() );
909
+            $overrides = apply_filters('ayecode-ui-settings', array(), array(), array());
910 910
 
911 911
 			?>
912 912
             <div class="wrap">
913
-                <h1><?php echo esc_attr( $this->name ); ?></h1>
914
-                <p><?php echo esc_html( apply_filters( 'ayecode-ui-settings-message', __("Here you can adjust settings if you are having compatibility issues.", 'ayecode-connect' ) ) );?></p>
913
+                <h1><?php echo esc_attr($this->name); ?></h1>
914
+                <p><?php echo esc_html(apply_filters('ayecode-ui-settings-message', __("Here you can adjust settings if you are having compatibility issues.", 'ayecode-connect'))); ?></p>
915 915
                 <form method="post" action="options.php">
916 916
 					<?php
917
-					settings_fields( 'ayecode-ui-settings' );
918
-					do_settings_sections( 'ayecode-ui-settings' );
917
+					settings_fields('ayecode-ui-settings');
918
+					do_settings_sections('ayecode-ui-settings');
919 919
 					?>
920 920
 
921
-                    <h2><?php esc_html_e( 'BootStrap Version', 'ayecode-connect' ); ?></h2>
922
-                    <p><?php echo esc_html( 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.", 'ayecode-connect' ) ) );?></p>
921
+                    <h2><?php esc_html_e('BootStrap Version', 'ayecode-connect'); ?></h2>
922
+                    <p><?php echo esc_html(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.", 'ayecode-connect'))); ?></p>
923 923
 	                <div class="bsui"><?php
924
-	                if ( ! empty( $overrides ) ) {
924
+	                if (!empty($overrides)) {
925 925
 		                echo aui()->alert(array( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
926 926
 			                'type'=> 'info',
927
-			                'content'=> esc_attr__("Some options are disabled as your current theme is overriding them.", 'ayecode-connect' )
927
+			                'content'=> esc_attr__("Some options are disabled as your current theme is overriding them.", 'ayecode-connect')
928 928
 		                ));
929 929
 	                }
930 930
 	                ?>
931 931
                     </div>
932 932
                     <table class="form-table wpbs-table-version-settings">
933 933
                         <tr valign="top">
934
-                            <th scope="row"><label for="wpbs-css"><?php esc_html_e( 'Version', 'ayecode-connect' ); ?></label></th>
934
+                            <th scope="row"><label for="wpbs-css"><?php esc_html_e('Version', 'ayecode-connect'); ?></label></th>
935 935
                             <td>
936 936
                                 <select name="ayecode-ui-settings[bs_ver]" id="wpbs-css" <?php echo !empty($overrides['bs_ver']) ? 'disabled' : ''; ?>>
937
-                                    <option	value="5" <?php selected( $this->settings['bs_ver'], '5' ); ?>><?php esc_html_e( 'v5 (recommended)', 'ayecode-connect' ); ?></option>
938
-                                    <option value="4" <?php selected( $this->settings['bs_ver'], '4' ); ?>><?php esc_html_e( 'v4 (legacy)', 'ayecode-connect' ); ?></option>
937
+                                    <option	value="5" <?php selected($this->settings['bs_ver'], '5'); ?>><?php esc_html_e('v5 (recommended)', 'ayecode-connect'); ?></option>
938
+                                    <option value="4" <?php selected($this->settings['bs_ver'], '4'); ?>><?php esc_html_e('v4 (legacy)', 'ayecode-connect'); ?></option>
939 939
                                 </select>
940 940
                             </td>
941 941
                         </tr>
942 942
                     </table>
943 943
 
944
-                    <h2><?php esc_html_e( 'Frontend', 'ayecode-connect' ); ?></h2>
944
+                    <h2><?php esc_html_e('Frontend', 'ayecode-connect'); ?></h2>
945 945
                     <table class="form-table wpbs-table-settings">
946 946
                         <tr valign="top">
947
-                            <th scope="row"><label for="wpbs-css"><?php esc_html_e( 'Load CSS', 'ayecode-connect' ); ?></label></th>
947
+                            <th scope="row"><label for="wpbs-css"><?php esc_html_e('Load CSS', 'ayecode-connect'); ?></label></th>
948 948
                             <td>
949 949
                                 <select name="ayecode-ui-settings[css]" id="wpbs-css" <?php echo !empty($overrides['css']) ? 'disabled' : ''; ?>>
950
-                                    <option	value="compatibility" <?php selected( $this->settings['css'], 'compatibility' ); ?>><?php esc_html_e( 'Compatibility Mode (default)', 'ayecode-connect' ); ?></option>
951
-                                    <option value="core" <?php selected( $this->settings['css'], 'core' ); ?>><?php esc_html_e( 'Full Mode', 'ayecode-connect' ); ?></option>
952
-                                    <option	value="" <?php selected( $this->settings['css'], '' ); ?>><?php esc_html_e( 'Disabled', 'ayecode-connect' ); ?></option>
950
+                                    <option	value="compatibility" <?php selected($this->settings['css'], 'compatibility'); ?>><?php esc_html_e('Compatibility Mode (default)', 'ayecode-connect'); ?></option>
951
+                                    <option value="core" <?php selected($this->settings['css'], 'core'); ?>><?php esc_html_e('Full Mode', 'ayecode-connect'); ?></option>
952
+                                    <option	value="" <?php selected($this->settings['css'], ''); ?>><?php esc_html_e('Disabled', 'ayecode-connect'); ?></option>
953 953
                                 </select>
954 954
                             </td>
955 955
                         </tr>
956 956
 
957 957
                         <tr valign="top">
958
-                            <th scope="row"><label for="wpbs-js"><?php esc_html_e( 'Load JS', 'ayecode-connect' ); ?></label></th>
958
+                            <th scope="row"><label for="wpbs-js"><?php esc_html_e('Load JS', 'ayecode-connect'); ?></label></th>
959 959
                             <td>
960 960
                                 <select name="ayecode-ui-settings[js]" id="wpbs-js" <?php echo !empty($overrides['js']) ? 'disabled' : ''; ?>>
961
-                                    <option	value="core-popper" <?php selected( $this->settings['js'], 'core-popper' ); ?>><?php esc_html_e( 'Core + Popper (default)', 'ayecode-connect' ); ?></option>
962
-                                    <option value="popper" <?php selected( $this->settings['js'], 'popper' ); ?>><?php esc_html_e( 'Popper', 'ayecode-connect' ); ?></option>
963
-                                    <option value="required" <?php selected( $this->settings['js'], 'required' ); ?>><?php esc_html_e( 'Required functions only', 'ayecode-connect' ); ?></option>
964
-                                    <option	value="" <?php selected( $this->settings['js'], '' ); ?>><?php esc_html_e( 'Disabled (not recommended)', 'ayecode-connect' ); ?></option>
961
+                                    <option	value="core-popper" <?php selected($this->settings['js'], 'core-popper'); ?>><?php esc_html_e('Core + Popper (default)', 'ayecode-connect'); ?></option>
962
+                                    <option value="popper" <?php selected($this->settings['js'], 'popper'); ?>><?php esc_html_e('Popper', 'ayecode-connect'); ?></option>
963
+                                    <option value="required" <?php selected($this->settings['js'], 'required'); ?>><?php esc_html_e('Required functions only', 'ayecode-connect'); ?></option>
964
+                                    <option	value="" <?php selected($this->settings['js'], ''); ?>><?php esc_html_e('Disabled (not recommended)', 'ayecode-connect'); ?></option>
965 965
                                 </select>
966 966
                             </td>
967 967
                         </tr>
968 968
 
969 969
                         <tr valign="top">
970
-                            <th scope="row"><label for="wpbs-font_size"><?php esc_html_e( 'HTML Font Size (px)', 'ayecode-connect' ); ?></label></th>
970
+                            <th scope="row"><label for="wpbs-font_size"><?php esc_html_e('HTML Font Size (px)', 'ayecode-connect'); ?></label></th>
971 971
                             <td>
972
-                                <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' : ''; ?> />
973
-                                <p class="description" ><?php esc_html_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.", 'ayecode-connect' );?></p>
972
+                                <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' : ''; ?> />
973
+                                <p class="description" ><?php esc_html_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.", 'ayecode-connect'); ?></p>
974 974
                             </td>
975 975
                         </tr>
976 976
 
977 977
                     </table>
978 978
 
979
-                    <h2><?php esc_html_e( 'Backend', 'ayecode-connect' ); ?> (wp-admin)</h2>
979
+                    <h2><?php esc_html_e('Backend', 'ayecode-connect'); ?> (wp-admin)</h2>
980 980
                     <table class="form-table wpbs-table-settings">
981 981
                         <tr valign="top">
982
-                            <th scope="row"><label for="wpbs-css-admin"><?php esc_html_e( 'Load CSS', 'ayecode-connect' ); ?></label></th>
982
+                            <th scope="row"><label for="wpbs-css-admin"><?php esc_html_e('Load CSS', 'ayecode-connect'); ?></label></th>
983 983
                             <td>
984 984
                                 <select name="ayecode-ui-settings[css_backend]" id="wpbs-css-admin" <?php echo !empty($overrides['css_backend']) ? 'disabled' : ''; ?>>
985
-                                    <option	value="compatibility" <?php selected( $this->settings['css_backend'], 'compatibility' ); ?>><?php esc_html_e( 'Compatibility Mode (default)', 'ayecode-connect' ); ?></option>
986
-                                    <option value="core" <?php selected( $this->settings['css_backend'], 'core' ); ?>><?php esc_html_e( 'Full Mode (will cause style issues)', 'ayecode-connect' ); ?></option>
987
-                                    <option	value="" <?php selected( $this->settings['css_backend'], '' ); ?>><?php esc_html_e( 'Disabled', 'ayecode-connect' ); ?></option>
985
+                                    <option	value="compatibility" <?php selected($this->settings['css_backend'], 'compatibility'); ?>><?php esc_html_e('Compatibility Mode (default)', 'ayecode-connect'); ?></option>
986
+                                    <option value="core" <?php selected($this->settings['css_backend'], 'core'); ?>><?php esc_html_e('Full Mode (will cause style issues)', 'ayecode-connect'); ?></option>
987
+                                    <option	value="" <?php selected($this->settings['css_backend'], ''); ?>><?php esc_html_e('Disabled', 'ayecode-connect'); ?></option>
988 988
                                 </select>
989 989
                             </td>
990 990
                         </tr>
991 991
 
992 992
                         <tr valign="top">
993
-                            <th scope="row"><label for="wpbs-js-admin"><?php esc_html_e( 'Load JS', 'ayecode-connect' ); ?></label></th>
993
+                            <th scope="row"><label for="wpbs-js-admin"><?php esc_html_e('Load JS', 'ayecode-connect'); ?></label></th>
994 994
                             <td>
995 995
                                 <select name="ayecode-ui-settings[js_backend]" id="wpbs-js-admin" <?php echo !empty($overrides['js_backend']) ? 'disabled' : ''; ?>>
996
-                                    <option	value="core-popper" <?php selected( $this->settings['js_backend'], 'core-popper' ); ?>><?php esc_html_e( 'Core + Popper (default)', 'ayecode-connect' ); ?></option>
997
-                                    <option value="popper" <?php selected( $this->settings['js_backend'], 'popper' ); ?>><?php esc_html_e( 'Popper', 'ayecode-connect' ); ?></option>
998
-                                    <option value="required" <?php selected( $this->settings['js_backend'], 'required' ); ?>><?php esc_html_e( 'Required functions only', 'ayecode-connect' ); ?></option>
999
-                                    <option	value="" <?php selected( $this->settings['js_backend'], '' ); ?>><?php esc_html_e( 'Disabled (not recommended)', 'ayecode-connect' ); ?></option>
996
+                                    <option	value="core-popper" <?php selected($this->settings['js_backend'], 'core-popper'); ?>><?php esc_html_e('Core + Popper (default)', 'ayecode-connect'); ?></option>
997
+                                    <option value="popper" <?php selected($this->settings['js_backend'], 'popper'); ?>><?php esc_html_e('Popper', 'ayecode-connect'); ?></option>
998
+                                    <option value="required" <?php selected($this->settings['js_backend'], 'required'); ?>><?php esc_html_e('Required functions only', 'ayecode-connect'); ?></option>
999
+                                    <option	value="" <?php selected($this->settings['js_backend'], ''); ?>><?php esc_html_e('Disabled (not recommended)', 'ayecode-connect'); ?></option>
1000 1000
                                 </select>
1001 1001
                             </td>
1002 1002
                         </tr>
1003 1003
 
1004 1004
                         <tr valign="top">
1005
-                            <th scope="row"><label for="wpbs-disable-admin"><?php esc_html_e( 'Disable load on URL', 'ayecode-connect' ); ?></label></th>
1005
+                            <th scope="row"><label for="wpbs-disable-admin"><?php esc_html_e('Disable load on URL', 'ayecode-connect'); ?></label></th>
1006 1006
                             <td>
1007
-                                <p><?php esc_html_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.', 'ayecode-connect' ); ?></p>
1008
-                                <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 esc_textarea( $this->settings['disable_admin'] );?></textarea>
1007
+                                <p><?php esc_html_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.', 'ayecode-connect'); ?></p>
1008
+                                <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 esc_textarea($this->settings['disable_admin']); ?></textarea>
1009 1009
                             </td>
1010 1010
                         </tr>
1011 1011
                     </table>
@@ -1014,33 +1014,33 @@  discard block
 block discarded – undo
1014 1014
 					submit_button();
1015 1015
 					?>
1016 1016
                 </form>
1017
-                <div id="wpbs-version" data-aui-source="<?php echo esc_attr( $this->get_load_source() ); ?>"><?php echo esc_html( $this->version ); ?></div>
1017
+                <div id="wpbs-version" data-aui-source="<?php echo esc_attr($this->get_load_source()); ?>"><?php echo esc_html($this->version); ?></div>
1018 1018
             </div>
1019 1019
 			<?php
1020 1020
 		}
1021 1021
 
1022
-        public function get_load_source(){
1023
-	        $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
1024
-	        $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
1022
+        public function get_load_source() {
1023
+	        $file = str_replace(array("/", "\\"), "/", realpath(__FILE__));
1024
+	        $plugins_dir = str_replace(array("/", "\\"), "/", realpath(WP_PLUGIN_DIR));
1025 1025
 
1026 1026
 	        // Find source plugin/theme of SD
1027 1027
 	        $source = array();
1028
-	        if ( strpos( $file, $plugins_dir ) !== false ) {
1029
-		        $source = explode( "/", plugin_basename( $file ) );
1030
-	        } else if ( function_exists( 'get_theme_root' ) ) {
1031
-		        $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
1028
+	        if (strpos($file, $plugins_dir) !== false) {
1029
+		        $source = explode("/", plugin_basename($file));
1030
+	        } else if (function_exists('get_theme_root')) {
1031
+		        $themes_dir = str_replace(array("/", "\\"), "/", realpath(get_theme_root()));
1032 1032
 
1033
-		        if ( strpos( $file, $themes_dir ) !== false ) {
1034
-			        $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
1033
+		        if (strpos($file, $themes_dir) !== false) {
1034
+			        $source = explode("/", ltrim(str_replace($themes_dir, "", $file), "/"));
1035 1035
 		        }
1036 1036
 	        }
1037 1037
 
1038 1038
             return isset($source[0]) ? esc_attr($source[0]) : '';
1039 1039
         }
1040 1040
 
1041
-		public function customizer_settings($wp_customize){
1041
+		public function customizer_settings($wp_customize) {
1042 1042
 			$wp_customize->add_section('aui_settings', array(
1043
-				'title'    => __('AyeCode UI', 'ayecode-connect' ),
1043
+				'title'    => __('AyeCode UI', 'ayecode-connect'),
1044 1044
 				'priority' => 120,
1045 1045
 			));
1046 1046
 
@@ -1054,8 +1054,8 @@  discard block
 block discarded – undo
1054 1054
 				'type'              => 'option',
1055 1055
 				'transport'         => 'refresh',
1056 1056
 			));
1057
-			$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_primary', array(
1058
-				'label'    => __('Primary Color', 'ayecode-connect' ),
1057
+			$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'color_primary', array(
1058
+				'label'    => __('Primary Color', 'ayecode-connect'),
1059 1059
 				'section'  => 'aui_settings',
1060 1060
 				'settings' => 'aui_options[color_primary]',
1061 1061
 			)));
@@ -1067,8 +1067,8 @@  discard block
 block discarded – undo
1067 1067
 				'type'              => 'option',
1068 1068
 				'transport'         => 'refresh',
1069 1069
 			));
1070
-			$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_secondary', array(
1071
-				'label'    => __('Secondary Color', 'ayecode-connect' ),
1070
+			$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'color_secondary', array(
1071
+				'label'    => __('Secondary Color', 'ayecode-connect'),
1072 1072
 				'section'  => 'aui_settings',
1073 1073
 				'settings' => 'aui_options[color_secondary]',
1074 1074
 			)));
@@ -1094,12 +1094,12 @@  discard block
 block discarded – undo
1094 1094
                 .collapse.show:not(.in){display: inherit;}
1095 1095
                 .fade.show{opacity: 1;}
1096 1096
 
1097
-                <?php if( defined( 'SVQ_THEME_VERSION' ) ){ ?>
1097
+                <?php if (defined('SVQ_THEME_VERSION')) { ?>
1098 1098
                 /* KLEO theme specific */
1099 1099
                 .kleo-main-header .navbar-collapse.collapse.show:not(.in){display: block !important;}
1100 1100
                 <?php } ?>
1101 1101
 
1102
-                <?php if( defined( 'FUSION_BUILDER_VERSION' ) ){ ?>
1102
+                <?php if (defined('FUSION_BUILDER_VERSION')) { ?>
1103 1103
                 /* With Avada builder */
1104 1104
                 body.modal-open .modal.in  {opacity:1;z-index: 99999}
1105 1105
                 body.modal-open .modal.bsui.in .modal-content  {box-shadow: none;}
@@ -1110,44 +1110,44 @@  discard block
 block discarded – undo
1110 1110
                 <?php } ?>
1111 1111
             </style>
1112 1112
 			<?php
1113
-			return str_replace( array(
1113
+			return str_replace(array(
1114 1114
 				'<style>',
1115 1115
 				'</style>'
1116
-			), '', self::minify_css( ob_get_clean() ) );
1116
+			), '', self::minify_css(ob_get_clean()));
1117 1117
 		}
1118 1118
 
1119
-		public static function custom_css( $compatibility = true, $is_fse = false ) {
1119
+		public static function custom_css($compatibility = true, $is_fse = false) {
1120 1120
 			global $aui_bs5;
1121 1121
 
1122 1122
 			$colors = array();
1123 1123
 
1124
-			if ( defined( 'BLOCKSTRAP_VERSION' ) ) {
1124
+			if (defined('BLOCKSTRAP_VERSION')) {
1125 1125
 				$setting = wp_get_global_settings();
1126 1126
 
1127
-				if ( ! empty( $setting['color']['palette']['theme'] ) ) {
1128
-					foreach ( $setting['color']['palette']['theme'] as $color ) {
1129
-						$colors[$color['slug']] = esc_attr( $color['color'] );
1127
+				if (!empty($setting['color']['palette']['theme'])) {
1128
+					foreach ($setting['color']['palette']['theme'] as $color) {
1129
+						$colors[$color['slug']] = esc_attr($color['color']);
1130 1130
 					}
1131 1131
 				}
1132 1132
 
1133
-				if ( ! empty( $setting['color']['palette']['custom'] ) ) {
1134
-					foreach ( $setting['color']['palette']['custom'] as $color ) {
1135
-						$colors[$color['slug']] = esc_attr( $color['color'] );
1133
+				if (!empty($setting['color']['palette']['custom'])) {
1134
+					foreach ($setting['color']['palette']['custom'] as $color) {
1135
+						$colors[$color['slug']] = esc_attr($color['color']);
1136 1136
 					}
1137 1137
 				}
1138 1138
 			} else {
1139
-				$settings = get_option( 'aui_options' );
1139
+				$settings = get_option('aui_options');
1140 1140
 
1141 1141
 				$colors = array(
1142
-					'primary'   => ! empty( $settings['color_primary'] ) ? $settings['color_primary'] : AUI_PRIMARY_COLOR,
1143
-					'secondary' => ! empty( $settings['color_secondary'] ) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR
1142
+					'primary'   => !empty($settings['color_primary']) ? $settings['color_primary'] : AUI_PRIMARY_COLOR,
1143
+					'secondary' => !empty($settings['color_secondary']) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR
1144 1144
 				);
1145 1145
 			}
1146 1146
 
1147 1147
 			ob_start();
1148 1148
 			?><style><?php
1149 1149
 			// BS v3 compat
1150
-			if( self::is_bs3_compat() ){
1150
+			if (self::is_bs3_compat()) {
1151 1151
 				echo self::bs3_compat_css(); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1152 1152
 			}
1153 1153
 
@@ -1156,147 +1156,147 @@  discard block
 block discarded – undo
1156 1156
 				//$is_fse = true;
1157 1157
 			//}
1158 1158
 
1159
-			$custom_front = ! is_admin() ? true : apply_filters('ayecode_ui_custom_front', false );
1160
-			$custom_admin = $is_fse || self::is_preview() ? true : apply_filters('ayecode_ui_custom_admin', false );
1161
-            $bs_custom_css = apply_filters( 'ayecode_ui_bs_custom_css', $custom_admin || $custom_front );
1159
+			$custom_front = !is_admin() ? true : apply_filters('ayecode_ui_custom_front', false);
1160
+			$custom_admin = $is_fse || self::is_preview() ? true : apply_filters('ayecode_ui_custom_admin', false);
1161
+            $bs_custom_css = apply_filters('ayecode_ui_bs_custom_css', $custom_admin || $custom_front);
1162 1162
 			//$bs_custom_css = true; // Force true to fix any color issue.
1163 1163
 
1164 1164
 			$colors_css = '';
1165
-			if ( ! empty( $colors ) && $bs_custom_css ) {
1165
+			if (!empty($colors) && $bs_custom_css) {
1166 1166
 				$d_colors = self::get_colors(true);
1167 1167
 
1168
-				foreach ( $colors as $key => $color ) {
1169
-					if ( ( empty( $d_colors[$key]) || $d_colors[$key] != $color) || $is_fse ) {
1168
+				foreach ($colors as $key => $color) {
1169
+					if ((empty($d_colors[$key]) || $d_colors[$key] != $color) || $is_fse) {
1170 1170
 						$var = $is_fse ? "var(--wp--preset--color--$key)" : $color;
1171 1171
 						$compat = $is_fse ? '.editor-styles-wrapper' : $compatibility;
1172 1172
 
1173
-						$colors_css .= $aui_bs5 ? self::css_overwrite_bs5( $key,$var, $compat, $color ) : self::css_overwrite( $key, $var, $compat, $color );
1173
+						$colors_css .= $aui_bs5 ? self::css_overwrite_bs5($key, $var, $compat, $color) : self::css_overwrite($key, $var, $compat, $color);
1174 1174
 					}
1175 1175
 				}
1176 1176
 			}
1177 1177
 
1178
-			if ( $colors_css ) {
1178
+			if ($colors_css) {
1179 1179
 				echo $colors_css; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1180 1180
 			}
1181 1181
 
1182 1182
 			// Set admin bar z-index lower when modal is open.
1183 1183
 			echo ' body.modal-open #wpadminbar{z-index:999}.embed-responsive-16by9 .fluid-width-video-wrapper{padding:0 !important;position:initial}';
1184 1184
 
1185
-			if ( is_admin() ) {
1185
+			if (is_admin()) {
1186 1186
 				echo ' body.modal-open #adminmenuwrap{z-index:999} body.modal-open #wpadminbar{z-index:1025}';
1187 1187
 			}
1188 1188
 
1189 1189
 			$custom_css = '';
1190 1190
 
1191
-			if ( $aui_bs5 && defined( 'BLOCKSTRAP_VERSION' ) && $bs_custom_css ) {
1191
+			if ($aui_bs5 && defined('BLOCKSTRAP_VERSION') && $bs_custom_css) {
1192 1192
 				$css = '';
1193 1193
 				$theme_settings = wp_get_global_styles();
1194 1194
 
1195 1195
 				// Font face
1196
-				if( !empty( $theme_settings['typography']['fontFamily'] ) ){
1197
-					$t_fontface = str_replace( array('var:preset|','font-family|'), array('--wp--preset--','font-family--'), $theme_settings['typography']['fontFamily']  ); //var(--wp--preset--font-family--poppins)
1196
+				if (!empty($theme_settings['typography']['fontFamily'])) {
1197
+					$t_fontface = str_replace(array('var:preset|', 'font-family|'), array('--wp--preset--', 'font-family--'), $theme_settings['typography']['fontFamily']); //var(--wp--preset--font-family--poppins)
1198 1198
 					$css .= '--bs-body-font-family: ' . esc_attr($t_fontface) . ';';
1199 1199
 				}
1200 1200
 
1201 1201
 				// font size
1202
-				if( !empty( $theme_settings['typography']['fontSize'] ) ){
1203
-					$css .= '--bs-body-font-size: ' . esc_attr( $theme_settings['typography']['fontSize'] ) . ' ;';
1202
+				if (!empty($theme_settings['typography']['fontSize'])) {
1203
+					$css .= '--bs-body-font-size: ' . esc_attr($theme_settings['typography']['fontSize']) . ' ;';
1204 1204
 				}
1205 1205
 
1206 1206
 				// line height
1207
-				 if( !empty( $theme_settings['typography']['lineHeight'] ) ){
1208
-					$css .= '--bs-body-line-height: ' . esc_attr( $theme_settings['typography']['lineHeight'] ) . ';';
1207
+				 if (!empty($theme_settings['typography']['lineHeight'])) {
1208
+					$css .= '--bs-body-line-height: ' . esc_attr($theme_settings['typography']['lineHeight']) . ';';
1209 1209
 				}
1210 1210
 
1211 1211
 
1212 1212
 				   // font weight
1213
-				 if( !empty( $theme_settings['typography']['fontWeight'] ) ){
1214
-					$css .= '--bs-body-font-weight: ' . esc_attr( $theme_settings['typography']['fontWeight'] ) . ';';
1213
+				 if (!empty($theme_settings['typography']['fontWeight'])) {
1214
+					$css .= '--bs-body-font-weight: ' . esc_attr($theme_settings['typography']['fontWeight']) . ';';
1215 1215
 				}
1216 1216
 
1217 1217
 				// Background
1218
-				 if( !empty( $theme_settings['color']['background'] ) ){
1219
-					$css .= '--bs-body-bg: ' . esc_attr( $theme_settings['color']['background'] ) . ';';
1218
+				 if (!empty($theme_settings['color']['background'])) {
1219
+					$css .= '--bs-body-bg: ' . esc_attr($theme_settings['color']['background']) . ';';
1220 1220
 				}
1221 1221
 
1222 1222
 				 // Background Gradient
1223
-				 if( !empty( $theme_settings['color']['gradient'] ) ){
1224
-					$css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';';
1223
+				 if (!empty($theme_settings['color']['gradient'])) {
1224
+					$css .= 'background: ' . esc_attr($theme_settings['color']['gradient']) . ';';
1225 1225
 				}
1226 1226
 
1227 1227
 				   // Background Gradient
1228
-				 if( !empty( $theme_settings['color']['gradient'] ) ){
1229
-					$css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';';
1228
+				 if (!empty($theme_settings['color']['gradient'])) {
1229
+					$css .= 'background: ' . esc_attr($theme_settings['color']['gradient']) . ';';
1230 1230
 				}
1231 1231
 
1232 1232
 				// text color
1233
-				if( !empty( $theme_settings['color']['text'] ) ){
1234
-					$css .= '--bs-body-color: ' . esc_attr( $theme_settings['color']['text'] ) . ';';
1233
+				if (!empty($theme_settings['color']['text'])) {
1234
+					$css .= '--bs-body-color: ' . esc_attr($theme_settings['color']['text']) . ';';
1235 1235
 				}
1236 1236
 
1237 1237
 
1238 1238
 				// link colors
1239
-				if( !empty( $theme_settings['elements']['link']['color']['text'] ) ){
1240
-					$css .= '--bs-link-color: ' . esc_attr( $theme_settings['elements']['link']['color']['text'] ) . ';';
1239
+				if (!empty($theme_settings['elements']['link']['color']['text'])) {
1240
+					$css .= '--bs-link-color: ' . esc_attr($theme_settings['elements']['link']['color']['text']) . ';';
1241 1241
 				}
1242
-				if( !empty( $theme_settings['elements']['link'][':hover']['color']['text'] ) ){
1243
-					$css .= '--bs-link-hover-color: ' . esc_attr( $theme_settings['elements']['link'][':hover']['color']['text'] ) . ';';
1242
+				if (!empty($theme_settings['elements']['link'][':hover']['color']['text'])) {
1243
+					$css .= '--bs-link-hover-color: ' . esc_attr($theme_settings['elements']['link'][':hover']['color']['text']) . ';';
1244 1244
 				}
1245 1245
 
1246
-				if($css){
1247
-					$custom_css .= $is_fse ? 'body.editor-styles-wrapper{' . esc_attr( $css ) . '}' : 'body{' . esc_attr( $css ) . '}';
1246
+				if ($css) {
1247
+					$custom_css .= $is_fse ? 'body.editor-styles-wrapper{' . esc_attr($css) . '}' : 'body{' . esc_attr($css) . '}';
1248 1248
 				}
1249 1249
 
1250 1250
 				$bep = $is_fse ? 'body.editor-styles-wrapper ' : '';
1251 1251
 
1252 1252
 				// Headings
1253 1253
 				$headings_css = '';
1254
-				if( !empty( $theme_settings['elements']['heading']['color']['text'] ) ){
1255
-					$headings_css .= "color: " . esc_attr( $theme_settings['elements']['heading']['color']['text'] ) . ";";
1254
+				if (!empty($theme_settings['elements']['heading']['color']['text'])) {
1255
+					$headings_css .= "color: " . esc_attr($theme_settings['elements']['heading']['color']['text']) . ";";
1256 1256
 				}
1257 1257
 
1258 1258
 				// heading background
1259
-				if( !empty( $theme_settings['elements']['heading']['color']['background'] ) ){
1260
-					$headings_css .= 'background: ' . esc_attr( $theme_settings['elements']['heading']['color']['background'] ) . ';';
1259
+				if (!empty($theme_settings['elements']['heading']['color']['background'])) {
1260
+					$headings_css .= 'background: ' . esc_attr($theme_settings['elements']['heading']['color']['background']) . ';';
1261 1261
 				}
1262 1262
 
1263 1263
 				 // heading font family
1264
-				if( !empty( $theme_settings['elements']['heading']['typography']['fontFamily'] ) ){
1265
-					$headings_css .= 'font-family: ' . esc_attr( $theme_settings['elements']['heading']['typography']['fontFamily']  ) . ';';
1264
+				if (!empty($theme_settings['elements']['heading']['typography']['fontFamily'])) {
1265
+					$headings_css .= 'font-family: ' . esc_attr($theme_settings['elements']['heading']['typography']['fontFamily']) . ';';
1266 1266
 				}
1267 1267
 
1268
-				if( $headings_css ){
1269
-					$custom_css .= "$bep h1,$bep h2,$bep h3, $bep h4,$bep h5,$bep h6{ " . esc_attr( $headings_css ) . "}";
1268
+				if ($headings_css) {
1269
+					$custom_css .= "$bep h1,$bep h2,$bep h3, $bep h4,$bep h5,$bep h6{ " . esc_attr($headings_css) . "}";
1270 1270
 				}
1271 1271
 
1272
-				$hs = array('h1','h2','h3','h4','h5','h6');
1272
+				$hs = array('h1', 'h2', 'h3', 'h4', 'h5', 'h6');
1273 1273
 
1274
-				foreach($hs as $hn){
1274
+				foreach ($hs as $hn) {
1275 1275
 					$h_css = '';
1276
-					 if( !empty( $theme_settings['elements'][$hn]['color']['text'] ) ){
1277
-						$h_css .= 'color: ' . esc_attr( $theme_settings['elements'][$hn]['color']['text'] ) . ';';
1276
+					 if (!empty($theme_settings['elements'][$hn]['color']['text'])) {
1277
+						$h_css .= 'color: ' . esc_attr($theme_settings['elements'][$hn]['color']['text']) . ';';
1278 1278
 					 }
1279 1279
 
1280
-					  if( !empty( $theme_settings['elements'][$hn]['typography']['fontSize'] ) ){
1281
-						$h_css .= 'font-size: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontSize']  ) . ';';
1280
+					  if (!empty($theme_settings['elements'][$hn]['typography']['fontSize'])) {
1281
+						$h_css .= 'font-size: ' . esc_attr($theme_settings['elements'][$hn]['typography']['fontSize']) . ';';
1282 1282
 					 }
1283 1283
 
1284
-					  if( !empty( $theme_settings['elements'][$hn]['typography']['fontFamily'] ) ){
1285
-						$h_css .= 'font-family: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontFamily']  ) . ';';
1284
+					  if (!empty($theme_settings['elements'][$hn]['typography']['fontFamily'])) {
1285
+						$h_css .= 'font-family: ' . esc_attr($theme_settings['elements'][$hn]['typography']['fontFamily']) . ';';
1286 1286
 					 }
1287 1287
 
1288
-					 if($h_css){
1289
-						$custom_css .= esc_attr( $bep  . $hn ) . '{'.esc_attr( $h_css ).'}';
1288
+					 if ($h_css) {
1289
+						$custom_css .= esc_attr($bep . $hn) . '{' . esc_attr($h_css) . '}';
1290 1290
 					 }
1291 1291
 				}
1292 1292
 			}
1293 1293
 			
1294
-			if ( $custom_css ) {
1294
+			if ($custom_css) {
1295 1295
 				echo $custom_css; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1296 1296
 			}
1297 1297
 
1298 1298
 			// Pagination on Hello Elementor theme.
1299
-			if ( function_exists( 'hello_elementor_setup' ) ) {
1299
+			if (function_exists('hello_elementor_setup')) {
1300 1300
 				echo '.aui-nav-links .pagination{justify-content:inherit}';
1301 1301
 			}
1302 1302
 			?></style><?php
@@ -1305,10 +1305,10 @@  discard block
 block discarded – undo
1305 1305
 			/*
1306 1306
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1307 1307
 			 */
1308
-			return str_replace( array(
1308
+			return str_replace(array(
1309 1309
 				'<style>',
1310 1310
 				'</style>'
1311
-			), '', self::minify_css( $custom_css ) );
1311
+			), '', self::minify_css($custom_css));
1312 1312
 		}
1313 1313
 
1314 1314
 		/**
@@ -1316,34 +1316,34 @@  discard block
 block discarded – undo
1316 1316
 		 *
1317 1317
 		 * @return bool
1318 1318
 		 */
1319
-		public static function is_bs3_compat(){
1319
+		public static function is_bs3_compat() {
1320 1320
 			return defined('AYECODE_UI_BS3_COMPAT') || defined('SVQ_THEME_VERSION') || defined('FUSION_BUILDER_VERSION');
1321 1321
 		}
1322 1322
 
1323
-		public static function hex_to_rgb( $hex ) {
1323
+		public static function hex_to_rgb($hex) {
1324 1324
 			// Remove '#' if present
1325
-			$hex = str_replace( '#', '', $hex );
1325
+			$hex = str_replace('#', '', $hex);
1326 1326
 
1327 1327
 			// Check if input is RGB
1328
-			if ( strpos( $hex, 'rgba(' ) === 0 || strpos( $hex, 'rgb(' ) === 0 ) {
1329
-				$_rgb = explode( ',', str_replace( array( 'rgba(', 'rgb(', ')' ), '', $hex ) );
1328
+			if (strpos($hex, 'rgba(') === 0 || strpos($hex, 'rgb(') === 0) {
1329
+				$_rgb = explode(',', str_replace(array('rgba(', 'rgb(', ')'), '', $hex));
1330 1330
 
1331
-				$rgb = ( isset( $_rgb[0] ) ? (int) trim( $_rgb[0] ) : '0' ) . ',';
1332
-				$rgb .= ( isset( $_rgb[1] ) ? (int) trim( $_rgb[1] ) : '0' ) . ',';
1333
-				$rgb .= ( isset( $_rgb[2] ) ? (int) trim( $_rgb[2] ) : '0' );
1331
+				$rgb = (isset($_rgb[0]) ? (int) trim($_rgb[0]) : '0') . ',';
1332
+				$rgb .= (isset($_rgb[1]) ? (int) trim($_rgb[1]) : '0') . ',';
1333
+				$rgb .= (isset($_rgb[2]) ? (int) trim($_rgb[2]) : '0');
1334 1334
 
1335 1335
 				return $rgb;
1336 1336
 			}
1337 1337
 
1338 1338
 			// Convert 3-digit hex to 6-digit hex
1339
-			if ( strlen( $hex ) == 3 ) {
1340
-				$hex = str_repeat( substr( $hex, 0, 1 ), 2 ) . str_repeat( substr( $hex, 1, 1 ), 2 ) . str_repeat( substr( $hex, 2, 1 ), 2 );
1339
+			if (strlen($hex) == 3) {
1340
+				$hex = str_repeat(substr($hex, 0, 1), 2) . str_repeat(substr($hex, 1, 1), 2) . str_repeat(substr($hex, 2, 1), 2);
1341 1341
 			}
1342 1342
 
1343 1343
 			// Convert hex to RGB
1344
-			$r = hexdec( substr( $hex, 0, 2 ) );
1345
-			$g = hexdec( substr( $hex, 2, 2 ) );
1346
-			$b = hexdec( substr( $hex, 4, 2 ) );
1344
+			$r = hexdec(substr($hex, 0, 2));
1345
+			$g = hexdec(substr($hex, 2, 2));
1346
+			$b = hexdec(substr($hex, 4, 2));
1347 1347
 
1348 1348
 			// Return RGB values as an array
1349 1349
 			return $r . ',' . $g . ',' . $b;
@@ -1358,13 +1358,13 @@  discard block
 block discarded – undo
1358 1358
 		 *
1359 1359
 		 * @return string
1360 1360
 		 */
1361
-		public static function css_overwrite_bs5($type,$color_code,$compatibility, $hex = '' ){
1361
+		public static function css_overwrite_bs5($type, $color_code, $compatibility, $hex = '') {
1362 1362
 			global $aui_bs5;
1363 1363
 
1364 1364
 			$is_var = false;
1365 1365
 			$is_custom = strpos($type, 'custom-') !== false ? true : false;
1366
-			if(!$color_code){return '';}
1367
-			if(strpos($color_code, 'var') !== false){
1366
+			if (!$color_code) {return ''; }
1367
+			if (strpos($color_code, 'var') !== false) {
1368 1368
 				//if(!sanitize_hex_color($color_code)){
1369 1369
 				$color_code = esc_attr($color_code);
1370 1370
 				$is_var = true;
@@ -1374,15 +1374,15 @@  discard block
 block discarded – undo
1374 1374
 
1375 1375
 //            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1376 1376
 
1377
-			if(!$color_code){return '';}
1377
+			if (!$color_code) {return ''; }
1378 1378
 
1379 1379
 			$rgb = self::hex_to_rgb($hex);
1380 1380
 
1381
-			if($compatibility===true || $compatibility===1){
1381
+			if ($compatibility === true || $compatibility === 1) {
1382 1382
 				$compatibility = '.bsui';
1383
-			}elseif(!$compatibility){
1383
+			}elseif (!$compatibility) {
1384 1384
 				$compatibility = '';
1385
-			}else{
1385
+			} else {
1386 1386
 				$compatibility = esc_attr($compatibility);
1387 1387
 			}
1388 1388
 
@@ -1399,30 +1399,30 @@  discard block
 block discarded – undo
1399 1399
 			 * c = color, b = background color, o = border-color, f = fill
1400 1400
 			 */
1401 1401
 			$selectors = array(
1402
-				".btn-{$type}"                                              => array( 'b', 'o' ),
1403
-				".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1404
-				".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1405
-				".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1406
-				".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1407
-				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1408
-				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1409
-				".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1410
-				".badge-{$type}"                                            => array( 'b' ),
1411
-				".alert-{$type}"                                            => array( 'b', 'o' ),
1412
-				".bg-{$type}"                                               => array( 'b', 'f' ),
1413
-				".btn-link.btn-{$type}"                                     => array( 'c' ),
1414
-				".text-{$type}"                                     => array( 'c' ),
1402
+				".btn-{$type}"                                              => array('b', 'o'),
1403
+				".btn-{$type}.disabled"                                     => array('b', 'o'),
1404
+				".btn-{$type}:disabled"                                     => array('b', 'o'),
1405
+				".btn-outline-{$type}"                                      => array('c', 'o'),
1406
+				".btn-outline-{$type}:hover"                                => array('b', 'o'),
1407
+				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array('b', 'o'),
1408
+				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array('b', 'o'),
1409
+				".show>.btn-outline-{$type}.dropdown-toggle"                => array('b', 'o'),
1410
+				".badge-{$type}"                                            => array('b'),
1411
+				".alert-{$type}"                                            => array('b', 'o'),
1412
+				".bg-{$type}"                                               => array('b', 'f'),
1413
+				".btn-link.btn-{$type}"                                     => array('c'),
1414
+				".text-{$type}"                                     => array('c'),
1415 1415
 			);
1416 1416
 
1417
-			if ( $aui_bs5 ) {
1418
-				unset($selectors[".alert-{$type}" ]);
1417
+			if ($aui_bs5) {
1418
+				unset($selectors[".alert-{$type}"]);
1419 1419
 			}
1420 1420
 
1421
-			if ( $type == 'primary' ) {
1421
+			if ($type == 'primary') {
1422 1422
 				$selectors = $selectors + array(
1423
-						'a'                                                                                                    => array( 'c' ),
1424
-						'.btn-link'                                                                                            => array( 'c' ),
1425
-						'.dropdown-item.active'                                                                                => array( 'b' ),
1423
+						'a'                                                                                                    => array('c'),
1424
+						'.btn-link'                                                                                            => array('c'),
1425
+						'.dropdown-item.active'                                                                                => array('b'),
1426 1426
 						'.custom-control-input:checked~.custom-control-label::before'                                          => array(
1427 1427
 							'b',
1428 1428
 							'o'
@@ -1431,57 +1431,57 @@  discard block
 block discarded – undo
1431 1431
 							'b',
1432 1432
 							'o'
1433 1433
 						),
1434
-						'.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1435
-						'.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1436
-						'.page-link'                                                                                           => array( 'c' ),
1434
+						'.nav-pills .nav-link.active'                                                                          => array('b'),
1435
+						'.nav-pills .show>.nav-link'                                                                           => array('b'),
1436
+						'.page-link'                                                                                           => array('c'),
1437 1437
 						'.page-item.active .page-link'                                                                         => array(
1438 1438
 							'b',
1439 1439
 							'o'
1440 1440
 						),
1441
-						'.progress-bar'                                                                                        => array( 'b' ),
1441
+						'.progress-bar'                                                                                        => array('b'),
1442 1442
 						'.list-group-item.active'                                                                              => array(
1443 1443
 							'b',
1444 1444
 							'o'
1445 1445
 						),
1446
-						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1446
+						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1447 1447
 					);
1448 1448
 			}
1449 1449
 
1450 1450
 
1451 1451
 
1452 1452
             // link
1453
-			if ( $type === 'primary' ) {
1454
-				$output .= 'html body {--bs-link-hover-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .75); --bs-link-color: var(--bs-'.esc_attr($type).'); }';
1455
-				$output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: '.esc_attr($color_code).';  }';
1456
-				$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).'; }';
1453
+			if ($type === 'primary') {
1454
+				$output .= 'html body {--bs-link-hover-color: rgba(var(--bs-' . esc_attr($type) . '-rgb), .75); --bs-link-color: var(--bs-' . esc_attr($type) . '); }';
1455
+				$output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: ' . esc_attr($color_code) . ';  }';
1456
+				$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) . '; }';
1457 1457
 
1458
-				$output .= $prefix . ' a{color: var(--bs-'.esc_attr($type).');}';
1459
-				$output .= $prefix . ' .text-primary{color: var(--bs-'.esc_attr($type).') !important;}';
1458
+				$output .= $prefix . ' a{color: var(--bs-' . esc_attr($type) . ');}';
1459
+				$output .= $prefix . ' .text-primary{color: var(--bs-' . esc_attr($type) . ') !important;}';
1460 1460
 
1461 1461
                 // dropdown
1462
-				$output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-'.esc_attr($type).'); --bs-dropdown-link-active-color: var(--bs-'.esc_attr($type).');}';
1462
+				$output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-' . esc_attr($type) . '); --bs-dropdown-link-active-color: var(--bs-' . esc_attr($type) . ');}';
1463 1463
 
1464 1464
                 // pagination
1465
-				$output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-'.esc_attr($type).'); --bs-pagination-active-bg: var(--bs-'.esc_attr($type).');}';
1465
+				$output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-' . esc_attr($type) . '); --bs-pagination-active-bg: var(--bs-' . esc_attr($type) . ');}';
1466 1466
 
1467 1467
 			}
1468 1468
 
1469
-			$output .= $prefix . ' .link-'.esc_attr($type).' {color: var(--bs-'.esc_attr($type).'-rgb) !important;}';
1470
-			$output .= $prefix . ' .link-'.esc_attr($type).':hover {color: rgba(var(--bs-'.esc_attr($type).'-rgb), .8) !important;}';
1469
+			$output .= $prefix . ' .link-' . esc_attr($type) . ' {color: var(--bs-' . esc_attr($type) . '-rgb) !important;}';
1470
+			$output .= $prefix . ' .link-' . esc_attr($type) . ':hover {color: rgba(var(--bs-' . esc_attr($type) . '-rgb), .8) !important;}';
1471 1471
 
1472 1472
 			//  buttons
1473
-			$output .= $prefix . ' .btn-'.esc_attr($type).'{';
1473
+			$output .= $prefix . ' .btn-' . esc_attr($type) . '{';
1474 1474
 			$output .= ' 
1475
-            --bs-btn-bg: '.esc_attr($color_code).';
1476
-            --bs-btn-border-color: '.esc_attr($color_code).';
1477
-            --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1478
-            --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1479
-            --bs-btn-focus-shadow-rgb: --bs-'.esc_attr($type).'-rgb;
1480
-            --bs-btn-active-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1481
-            --bs-btn-active-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1475
+            --bs-btn-bg: '.esc_attr($color_code) . ';
1476
+            --bs-btn-border-color: '.esc_attr($color_code) . ';
1477
+            --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1478
+            --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1479
+            --bs-btn-focus-shadow-rgb: --bs-'.esc_attr($type) . '-rgb;
1480
+            --bs-btn-active-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1481
+            --bs-btn-active-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1482 1482
             --bs-btn-active-shadow: unset;
1483
-            --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .5);
1484
-            --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .1);
1483
+            --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .5);
1484
+            --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .1);
1485 1485
             ';
1486 1486
 //			$output .= '
1487 1487
 //		    --bs-btn-color: #fff;
@@ -1492,18 +1492,18 @@  discard block
 block discarded – undo
1492 1492
 			$output .= '}';
1493 1493
 
1494 1494
 			//  buttons outline
1495
-			$output .= $prefix . ' .btn-outline-'.esc_attr($type).'{';
1495
+			$output .= $prefix . ' .btn-outline-' . esc_attr($type) . '{';
1496 1496
 			$output .= ' 
1497
-			--bs-btn-color: '.esc_attr($color_code).';
1498
-            --bs-btn-border-color: '.esc_attr($color_code).';
1499
-            --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1500
-            --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1501
-            --bs-btn-focus-shadow-rgb: --bs-'.esc_attr($type).'-rgb;
1502
-            --bs-btn-active-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1503
-            --bs-btn-active-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
1497
+			--bs-btn-color: '.esc_attr($color_code) . ';
1498
+            --bs-btn-border-color: '.esc_attr($color_code) . ';
1499
+            --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1500
+            --bs-btn-hover-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1501
+            --bs-btn-focus-shadow-rgb: --bs-'.esc_attr($type) . '-rgb;
1502
+            --bs-btn-active-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1503
+            --bs-btn-active-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .9);
1504 1504
             --bs-btn-active-shadow: unset;
1505
-            --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .5);
1506
-            --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .1);
1505
+            --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type) . '-rgb), .5);
1506
+            --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type) . '-rgb), .1);
1507 1507
             ';
1508 1508
 //			$output .= '
1509 1509
 //		    --bs-btn-color: #fff;
@@ -1515,32 +1515,32 @@  discard block
 block discarded – undo
1515 1515
 
1516 1516
 
1517 1517
             // button hover
1518
-			$output .= $prefix . ' .btn-'.esc_attr($type).':hover{';
1518
+			$output .= $prefix . ' .btn-' . esc_attr($type) . ':hover{';
1519 1519
 			$output .= ' 
1520
-            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);
1520
+            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);
1521 1521
             }
1522 1522
             ';
1523 1523
 
1524 1524
 
1525
-			if ( $aui_bs5 ) {
1525
+			if ($aui_bs5) {
1526 1526
 //				$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).'; }';
1527
-				$output .= 'html body {--bs-'.esc_attr($type).': '.esc_attr($color_code).'; }';
1528
-				$output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1527
+				$output .= 'html body {--bs-' . esc_attr($type) . ': ' . esc_attr($color_code) . '; }';
1528
+				$output .= 'html body {--bs-' . esc_attr($type) . '-rgb: ' . $rgb . '; }';
1529 1529
 			}
1530 1530
 
1531 1531
 
1532
-			if ( $is_custom ) {
1532
+			if ($is_custom) {
1533 1533
 
1534 1534
 //				echo '###'.$type;exit;
1535 1535
 
1536 1536
 				// build rules into each type
1537
-				foreach($selectors as $selector => $types){
1538
-					$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1539
-					$types = array_combine($types,$types);
1540
-					if(isset($types['c'])){$color[] = $selector;}
1541
-					if(isset($types['b'])){$background[] = $selector;}
1542
-					if(isset($types['o'])){$border[] = $selector;}
1543
-					if(isset($types['f'])){$fill[] = $selector;}
1537
+				foreach ($selectors as $selector => $types) {
1538
+					$selector = $compatibility ? $compatibility . " " . $selector : $selector;
1539
+					$types = array_combine($types, $types);
1540
+					if (isset($types['c'])) {$color[] = $selector; }
1541
+					if (isset($types['b'])) {$background[] = $selector; }
1542
+					if (isset($types['o'])) {$border[] = $selector; }
1543
+					if (isset($types['f'])) {$fill[] = $selector; }
1544 1544
 				}
1545 1545
 
1546 1546
 //				// build rules into each type
@@ -1554,36 +1554,36 @@  discard block
 block discarded – undo
1554 1554
 //				}
1555 1555
 
1556 1556
 				// add any color rules
1557
-				if(!empty($color)){
1558
-					$output .= implode(",",$color) . "{color: $color_code;} ";
1557
+				if (!empty($color)) {
1558
+					$output .= implode(",", $color) . "{color: $color_code;} ";
1559 1559
 				}
1560
-				if(!empty($color_i)){
1561
-					$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1560
+				if (!empty($color_i)) {
1561
+					$output .= implode(",", $color_i) . "{color: $color_code !important;} ";
1562 1562
 				}
1563 1563
 
1564 1564
 				// add any background color rules
1565
-				if(!empty($background)){
1566
-					$output .= implode(",",$background) . "{background-color: $color_code;} ";
1565
+				if (!empty($background)) {
1566
+					$output .= implode(",", $background) . "{background-color: $color_code;} ";
1567 1567
 				}
1568
-				if(!empty($background_i)){
1569
-					$output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1568
+				if (!empty($background_i)) {
1569
+					$output .= $aui_bs5 ? '' : implode(",", $background_i) . "{background-color: $color_code !important;} ";
1570 1570
 //				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1571 1571
 				}
1572 1572
 
1573 1573
 				// add any border color rules
1574
-				if(!empty($border)){
1575
-					$output .= implode(",",$border) . "{border-color: $color_code;} ";
1574
+				if (!empty($border)) {
1575
+					$output .= implode(",", $border) . "{border-color: $color_code;} ";
1576 1576
 				}
1577
-				if(!empty($border_i)){
1578
-					$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1577
+				if (!empty($border_i)) {
1578
+					$output .= implode(",", $border_i) . "{border-color: $color_code !important;} ";
1579 1579
 				}
1580 1580
 
1581 1581
 				// add any fill color rules
1582
-				if(!empty($fill)){
1583
-					$output .= implode(",",$fill) . "{fill: $color_code;} ";
1582
+				if (!empty($fill)) {
1583
+					$output .= implode(",", $fill) . "{fill: $color_code;} ";
1584 1584
 				}
1585
-				if(!empty($fill_i)){
1586
-					$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1585
+				if (!empty($fill_i)) {
1586
+					$output .= implode(",", $fill_i) . "{fill: $color_code !important;} ";
1587 1587
 				}
1588 1588
 
1589 1589
 			}
@@ -1593,26 +1593,26 @@  discard block
 block discarded – undo
1593 1593
 
1594 1594
 			$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;' : '';
1595 1595
 			// darken
1596
-			$darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1597
-			$darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1598
-			$darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1599
-			$darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1596
+			$darker_075 = $is_var ? $color_code . ';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code, "-0.075");
1597
+			$darker_10 = $is_var ? $color_code . ';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code, "-0.10");
1598
+			$darker_125 = $is_var ? $color_code . ';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code, "-0.125");
1599
+			$darker_40 = $is_var ? $color_code . ';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code, "-0.4");
1600 1600
 
1601 1601
 			// lighten
1602
-			$lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1602
+			$lighten_25 = $is_var ? $color_code . ';filter:brightness(1.25)' : self::css_hex_lighten_darken($color_code, "0.25");
1603 1603
 
1604 1604
 			// opacity see https://css-tricks.com/8-digit-hex-codes/
1605
-			$op_25 = $color_code."40"; // 25% opacity
1605
+			$op_25 = $color_code . "40"; // 25% opacity
1606 1606
 
1607 1607
 
1608 1608
 			// button states
1609
-			$output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1610
-			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1609
+			$output .= $is_var ? $prefix . " .btn-{$type}{{$transition }} " : '';
1610
+			$output .= $prefix . " .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: " . $darker_075 . ";    border-color: " . $darker_10 . ";} ";
1611 1611
 //			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1612
-			$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;} ";
1613
-			$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.";} ";
1614
-            $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;} ";
1615
-            $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled):focus {box-shadow: 0 0.25rem 0.25rem 0.125rem rgba(var(--bs-{$type}-rgb), 0.1), 0 0.375rem 0.75rem -0.125rem rgba(var(--bs-{$type}-rgb), 0.4);} ";
1612
+			$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;} ";
1613
+			$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 . ";} ";
1614
+            $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;} ";
1615
+            $output .= $prefix . " .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled):focus {box-shadow: 0 0.25rem 0.25rem 0.125rem rgba(var(--bs-{$type}-rgb), 0.1), 0 0.375rem 0.75rem -0.125rem rgba(var(--bs-{$type}-rgb), 0.4);} ";
1616 1616
 
1617 1617
 			// text
1618 1618
 //			$output .= $prefix .".xxx, .text-{$type} {color: var(--bs-".esc_attr($type).");} ";
@@ -1630,9 +1630,9 @@  discard block
 block discarded – undo
1630 1630
 //			}
1631 1631
 
1632 1632
 			// alerts
1633
-			if ( $aui_bs5 ) {
1633
+			if ($aui_bs5) {
1634 1634
 //				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1635
-				$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;} ";
1635
+				$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;} ";
1636 1636
 			}
1637 1637
 
1638 1638
 			return $output;
@@ -1647,12 +1647,12 @@  discard block
 block discarded – undo
1647 1647
 		 *
1648 1648
 		 * @return string
1649 1649
 		 */
1650
-		public static function css_overwrite($type,$color_code,$compatibility, $hex = '' ){
1650
+		public static function css_overwrite($type, $color_code, $compatibility, $hex = '') {
1651 1651
             global $aui_bs5;
1652 1652
 
1653 1653
 			$is_var = false;
1654
-			if(!$color_code){return '';}
1655
-			if(strpos($color_code, 'var') !== false){
1654
+			if (!$color_code) {return ''; }
1655
+			if (strpos($color_code, 'var') !== false) {
1656 1656
 				//if(!sanitize_hex_color($color_code)){
1657 1657
 				$color_code = esc_attr($color_code);
1658 1658
 				$is_var = true;
@@ -1662,15 +1662,15 @@  discard block
 block discarded – undo
1662 1662
 
1663 1663
 //            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1664 1664
 
1665
-			if(!$color_code){return '';}
1665
+			if (!$color_code) {return ''; }
1666 1666
 
1667 1667
             $rgb = self::hex_to_rgb($hex);
1668 1668
 
1669
-			if($compatibility===true || $compatibility===1){
1669
+			if ($compatibility === true || $compatibility === 1) {
1670 1670
 				$compatibility = '.bsui';
1671
-			}elseif(!$compatibility){
1671
+			}elseif (!$compatibility) {
1672 1672
 				$compatibility = '';
1673
-			}else{
1673
+			} else {
1674 1674
 				$compatibility = esc_attr($compatibility);
1675 1675
 			}
1676 1676
 
@@ -1684,29 +1684,29 @@  discard block
 block discarded – undo
1684 1684
 			 * c = color, b = background color, o = border-color, f = fill
1685 1685
 			 */
1686 1686
 			$selectors = array(
1687
-				".btn-{$type}"                                              => array( 'b', 'o' ),
1688
-				".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1689
-				".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1690
-				".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1691
-				".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1692
-				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1693
-				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1694
-				".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1695
-				".badge-{$type}"                                            => array( 'b' ),
1696
-				".alert-{$type}"                                            => array( 'b', 'o' ),
1697
-				".bg-{$type}"                                               => array( 'b', 'f' ),
1698
-				".btn-link.btn-{$type}"                                     => array( 'c' ),
1687
+				".btn-{$type}"                                              => array('b', 'o'),
1688
+				".btn-{$type}.disabled"                                     => array('b', 'o'),
1689
+				".btn-{$type}:disabled"                                     => array('b', 'o'),
1690
+				".btn-outline-{$type}"                                      => array('c', 'o'),
1691
+				".btn-outline-{$type}:hover"                                => array('b', 'o'),
1692
+				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array('b', 'o'),
1693
+				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array('b', 'o'),
1694
+				".show>.btn-outline-{$type}.dropdown-toggle"                => array('b', 'o'),
1695
+				".badge-{$type}"                                            => array('b'),
1696
+				".alert-{$type}"                                            => array('b', 'o'),
1697
+				".bg-{$type}"                                               => array('b', 'f'),
1698
+				".btn-link.btn-{$type}"                                     => array('c'),
1699 1699
 			);
1700 1700
 
1701
-			if ( $aui_bs5 ) {
1702
-                unset($selectors[".alert-{$type}" ]);
1701
+			if ($aui_bs5) {
1702
+                unset($selectors[".alert-{$type}"]);
1703 1703
 			}
1704 1704
 
1705
-			if ( $type == 'primary' ) {
1705
+			if ($type == 'primary') {
1706 1706
 				$selectors = $selectors + array(
1707
-						'a'                                                                                                    => array( 'c' ),
1708
-						'.btn-link'                                                                                            => array( 'c' ),
1709
-						'.dropdown-item.active'                                                                                => array( 'b' ),
1707
+						'a'                                                                                                    => array('c'),
1708
+						'.btn-link'                                                                                            => array('c'),
1709
+						'.dropdown-item.active'                                                                                => array('b'),
1710 1710
 						'.custom-control-input:checked~.custom-control-label::before'                                          => array(
1711 1711
 							'b',
1712 1712
 							'o'
@@ -1715,19 +1715,19 @@  discard block
 block discarded – undo
1715 1715
 							'b',
1716 1716
 							'o'
1717 1717
 						),
1718
-						'.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1719
-						'.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1720
-						'.page-link'                                                                                           => array( 'c' ),
1718
+						'.nav-pills .nav-link.active'                                                                          => array('b'),
1719
+						'.nav-pills .show>.nav-link'                                                                           => array('b'),
1720
+						'.page-link'                                                                                           => array('c'),
1721 1721
 						'.page-item.active .page-link'                                                                         => array(
1722 1722
 							'b',
1723 1723
 							'o'
1724 1724
 						),
1725
-						'.progress-bar'                                                                                        => array( 'b' ),
1725
+						'.progress-bar'                                                                                        => array('b'),
1726 1726
 						'.list-group-item.active'                                                                              => array(
1727 1727
 							'b',
1728 1728
 							'o'
1729 1729
 						),
1730
-						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1730
+						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1731 1731
 //				    '.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1732 1732
 //				    '.custom-range::-moz-range-thumb' => array('b'),
1733 1733
 //				    '.custom-range::-ms-thumb' => array('b'),
@@ -1735,7 +1735,7 @@  discard block
 block discarded – undo
1735 1735
 			}
1736 1736
 
1737 1737
 			$important_selectors = array(
1738
-				".bg-{$type}" => array('b','f'),
1738
+				".bg-{$type}" => array('b', 'f'),
1739 1739
 				".border-{$type}" => array('o'),
1740 1740
 				".text-{$type}" => array('c'),
1741 1741
 			);
@@ -1751,62 +1751,62 @@  discard block
 block discarded – undo
1751 1751
 
1752 1752
 			$output = '';
1753 1753
 
1754
-			if ( $aui_bs5 ) {
1754
+			if ($aui_bs5) {
1755 1755
 //				$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).'; }';
1756
-				$output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1756
+				$output .= 'html body {--bs-' . esc_attr($type) . '-rgb: ' . $rgb . '; }';
1757 1757
 			}
1758 1758
 
1759 1759
 			// build rules into each type
1760
-			foreach($selectors as $selector => $types){
1761
-				$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1762
-				$types = array_combine($types,$types);
1763
-				if(isset($types['c'])){$color[] = $selector;}
1764
-				if(isset($types['b'])){$background[] = $selector;}
1765
-				if(isset($types['o'])){$border[] = $selector;}
1766
-				if(isset($types['f'])){$fill[] = $selector;}
1760
+			foreach ($selectors as $selector => $types) {
1761
+				$selector = $compatibility ? $compatibility . " " . $selector : $selector;
1762
+				$types = array_combine($types, $types);
1763
+				if (isset($types['c'])) {$color[] = $selector; }
1764
+				if (isset($types['b'])) {$background[] = $selector; }
1765
+				if (isset($types['o'])) {$border[] = $selector; }
1766
+				if (isset($types['f'])) {$fill[] = $selector; }
1767 1767
 			}
1768 1768
 
1769 1769
 			// build rules into each type
1770
-			foreach($important_selectors as $selector => $types){
1771
-				$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1772
-				$types = array_combine($types,$types);
1773
-				if(isset($types['c'])){$color_i[] = $selector;}
1774
-				if(isset($types['b'])){$background_i[] = $selector;}
1775
-				if(isset($types['o'])){$border_i[] = $selector;}
1776
-				if(isset($types['f'])){$fill_i[] = $selector;}
1770
+			foreach ($important_selectors as $selector => $types) {
1771
+				$selector = $compatibility ? $compatibility . " " . $selector : $selector;
1772
+				$types = array_combine($types, $types);
1773
+				if (isset($types['c'])) {$color_i[] = $selector; }
1774
+				if (isset($types['b'])) {$background_i[] = $selector; }
1775
+				if (isset($types['o'])) {$border_i[] = $selector; }
1776
+				if (isset($types['f'])) {$fill_i[] = $selector; }
1777 1777
 			}
1778 1778
 
1779 1779
 			// add any color rules
1780
-			if(!empty($color)){
1781
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1780
+			if (!empty($color)) {
1781
+				$output .= implode(",", $color) . "{color: $color_code;} ";
1782 1782
 			}
1783
-			if(!empty($color_i)){
1784
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1783
+			if (!empty($color_i)) {
1784
+				$output .= implode(",", $color_i) . "{color: $color_code !important;} ";
1785 1785
 			}
1786 1786
 
1787 1787
 			// add any background color rules
1788
-			if(!empty($background)){
1789
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1788
+			if (!empty($background)) {
1789
+				$output .= implode(",", $background) . "{background-color: $color_code;} ";
1790 1790
 			}
1791
-			if(!empty($background_i)){
1792
-				$output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1791
+			if (!empty($background_i)) {
1792
+				$output .= $aui_bs5 ? '' : implode(",", $background_i) . "{background-color: $color_code !important;} ";
1793 1793
 //				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1794 1794
 			}
1795 1795
 
1796 1796
 			// add any border color rules
1797
-			if(!empty($border)){
1798
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1797
+			if (!empty($border)) {
1798
+				$output .= implode(",", $border) . "{border-color: $color_code;} ";
1799 1799
 			}
1800
-			if(!empty($border_i)){
1801
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1800
+			if (!empty($border_i)) {
1801
+				$output .= implode(",", $border_i) . "{border-color: $color_code !important;} ";
1802 1802
 			}
1803 1803
 
1804 1804
 			// add any fill color rules
1805
-			if(!empty($fill)){
1806
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1805
+			if (!empty($fill)) {
1806
+				$output .= implode(",", $fill) . "{fill: $color_code;} ";
1807 1807
 			}
1808
-			if(!empty($fill_i)){
1809
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1808
+			if (!empty($fill_i)) {
1809
+				$output .= implode(",", $fill_i) . "{fill: $color_code !important;} ";
1810 1810
 			}
1811 1811
 
1812 1812
 
@@ -1814,27 +1814,27 @@  discard block
 block discarded – undo
1814 1814
 
1815 1815
 			$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;' : '';
1816 1816
 			// darken
1817
-			$darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1818
-			$darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1819
-			$darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1820
-			$darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1817
+			$darker_075 = $is_var ? $color_code . ';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code, "-0.075");
1818
+			$darker_10 = $is_var ? $color_code . ';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code, "-0.10");
1819
+			$darker_125 = $is_var ? $color_code . ';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code, "-0.125");
1820
+			$darker_40 = $is_var ? $color_code . ';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code, "-0.4");
1821 1821
 
1822 1822
 			// lighten
1823
-			$lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1823
+			$lighten_25 = $is_var ? $color_code . ';filter:brightness(1.25)' : self::css_hex_lighten_darken($color_code, "0.25");
1824 1824
 
1825 1825
 			// opacity see https://css-tricks.com/8-digit-hex-codes/
1826
-			$op_25 = $color_code."40"; // 25% opacity
1826
+			$op_25 = $color_code . "40"; // 25% opacity
1827 1827
 
1828 1828
 
1829 1829
 			// button states
1830
-			$output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1831
-			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1830
+			$output .= $is_var ? $prefix . " .btn-{$type}{{$transition }} " : '';
1831
+			$output .= $prefix . " .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: " . $darker_075 . ";    border-color: " . $darker_10 . ";} ";
1832 1832
 //			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1833
-			$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;} ";
1834
-			$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.";} ";
1835
-			$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;} ";
1833
+			$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;} ";
1834
+			$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 . ";} ";
1835
+			$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;} ";
1836 1836
 
1837
-			if ( $type == 'primary' ) {
1837
+			if ($type == 'primary') {
1838 1838
 				// dropdown's
1839 1839
 				$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1840 1840
 
@@ -1846,9 +1846,9 @@  discard block
 block discarded – undo
1846 1846
 			}
1847 1847
 
1848 1848
             // alerts
1849
-			if ( $aui_bs5 ) {
1849
+			if ($aui_bs5) {
1850 1850
 //				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1851
-				$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;} ";
1851
+				$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;} ";
1852 1852
 			}
1853 1853
 
1854 1854
 			return $output;
@@ -1864,11 +1864,11 @@  discard block
 block discarded – undo
1864 1864
 		 *
1865 1865
 		 * @return string
1866 1866
 		 */
1867
-		public static function css_primary($color_code,$compatibility, $use_variable = false){
1867
+		public static function css_primary($color_code, $compatibility, $use_variable = false) {
1868 1868
 
1869
-			if(!$use_variable){
1869
+			if (!$use_variable) {
1870 1870
 				$color_code = sanitize_hex_color($color_code);
1871
-				if(!$color_code){return '';}
1871
+				if (!$color_code) {return ''; }
1872 1872
 			}
1873 1873
 
1874 1874
 			/**
@@ -1876,36 +1876,36 @@  discard block
 block discarded – undo
1876 1876
 			 */
1877 1877
 			$selectors = array(
1878 1878
 				'a' => array('c'),
1879
-				'.btn-primary' => array('b','o'),
1880
-				'.btn-primary.disabled' => array('b','o'),
1881
-				'.btn-primary:disabled' => array('b','o'),
1882
-				'.btn-outline-primary' => array('c','o'),
1883
-				'.btn-outline-primary:hover' => array('b','o'),
1884
-				'.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'),
1885
-				'.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'),
1886
-				'.show>.btn-outline-primary.dropdown-toggle' => array('b','o'),
1879
+				'.btn-primary' => array('b', 'o'),
1880
+				'.btn-primary.disabled' => array('b', 'o'),
1881
+				'.btn-primary:disabled' => array('b', 'o'),
1882
+				'.btn-outline-primary' => array('c', 'o'),
1883
+				'.btn-outline-primary:hover' => array('b', 'o'),
1884
+				'.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b', 'o'),
1885
+				'.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b', 'o'),
1886
+				'.show>.btn-outline-primary.dropdown-toggle' => array('b', 'o'),
1887 1887
 				'.btn-link' => array('c'),
1888 1888
 				'.dropdown-item.active' => array('b'),
1889
-				'.custom-control-input:checked~.custom-control-label::before' => array('b','o'),
1890
-				'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'),
1889
+				'.custom-control-input:checked~.custom-control-label::before' => array('b', 'o'),
1890
+				'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b', 'o'),
1891 1891
 //				'.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1892 1892
 //				'.custom-range::-moz-range-thumb' => array('b'),
1893 1893
 //				'.custom-range::-ms-thumb' => array('b'),
1894 1894
 				'.nav-pills .nav-link.active' => array('b'),
1895 1895
 				'.nav-pills .show>.nav-link' => array('b'),
1896 1896
 				'.page-link' => array('c'),
1897
-				'.page-item.active .page-link' => array('b','o'),
1897
+				'.page-item.active .page-link' => array('b', 'o'),
1898 1898
 				'.badge-primary' => array('b'),
1899
-				'.alert-primary' => array('b','o'),
1899
+				'.alert-primary' => array('b', 'o'),
1900 1900
 				'.progress-bar' => array('b'),
1901
-				'.list-group-item.active' => array('b','o'),
1902
-				'.bg-primary' => array('b','f'),
1901
+				'.list-group-item.active' => array('b', 'o'),
1902
+				'.bg-primary' => array('b', 'f'),
1903 1903
 				'.btn-link.btn-primary' => array('c'),
1904 1904
 				'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1905 1905
 			);
1906 1906
 
1907 1907
 			$important_selectors = array(
1908
-				'.bg-primary' => array('b','f'),
1908
+				'.bg-primary' => array('b', 'f'),
1909 1909
 				'.border-primary' => array('o'),
1910 1910
 				'.text-primary' => array('c'),
1911 1911
 			);
@@ -1922,88 +1922,88 @@  discard block
 block discarded – undo
1922 1922
 			$output = '';
1923 1923
 
1924 1924
 			// build rules into each type
1925
-			foreach($selectors as $selector => $types){
1926
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1927
-				$types = array_combine($types,$types);
1928
-				if(isset($types['c'])){$color[] = $selector;}
1929
-				if(isset($types['b'])){$background[] = $selector;}
1930
-				if(isset($types['o'])){$border[] = $selector;}
1931
-				if(isset($types['f'])){$fill[] = $selector;}
1925
+			foreach ($selectors as $selector => $types) {
1926
+				$selector = $compatibility ? ".bsui " . $selector : $selector;
1927
+				$types = array_combine($types, $types);
1928
+				if (isset($types['c'])) {$color[] = $selector; }
1929
+				if (isset($types['b'])) {$background[] = $selector; }
1930
+				if (isset($types['o'])) {$border[] = $selector; }
1931
+				if (isset($types['f'])) {$fill[] = $selector; }
1932 1932
 			}
1933 1933
 
1934 1934
 			// build rules into each type
1935
-			foreach($important_selectors as $selector => $types){
1936
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1937
-				$types = array_combine($types,$types);
1938
-				if(isset($types['c'])){$color_i[] = $selector;}
1939
-				if(isset($types['b'])){$background_i[] = $selector;}
1940
-				if(isset($types['o'])){$border_i[] = $selector;}
1941
-				if(isset($types['f'])){$fill_i[] = $selector;}
1935
+			foreach ($important_selectors as $selector => $types) {
1936
+				$selector = $compatibility ? ".bsui " . $selector : $selector;
1937
+				$types = array_combine($types, $types);
1938
+				if (isset($types['c'])) {$color_i[] = $selector; }
1939
+				if (isset($types['b'])) {$background_i[] = $selector; }
1940
+				if (isset($types['o'])) {$border_i[] = $selector; }
1941
+				if (isset($types['f'])) {$fill_i[] = $selector; }
1942 1942
 			}
1943 1943
 
1944 1944
 			// add any color rules
1945
-			if(!empty($color)){
1946
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1945
+			if (!empty($color)) {
1946
+				$output .= implode(",", $color) . "{color: $color_code;} ";
1947 1947
 			}
1948
-			if(!empty($color_i)){
1949
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1948
+			if (!empty($color_i)) {
1949
+				$output .= implode(",", $color_i) . "{color: $color_code !important;} ";
1950 1950
 			}
1951 1951
 
1952 1952
 			// add any background color rules
1953
-			if(!empty($background)){
1954
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1953
+			if (!empty($background)) {
1954
+				$output .= implode(",", $background) . "{background-color: $color_code;} ";
1955 1955
 			}
1956
-			if(!empty($background_i)){
1957
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1956
+			if (!empty($background_i)) {
1957
+				$output .= implode(",", $background_i) . "{background-color: $color_code !important;} ";
1958 1958
 			}
1959 1959
 
1960 1960
 			// add any border color rules
1961
-			if(!empty($border)){
1962
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1961
+			if (!empty($border)) {
1962
+				$output .= implode(",", $border) . "{border-color: $color_code;} ";
1963 1963
 			}
1964
-			if(!empty($border_i)){
1965
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1964
+			if (!empty($border_i)) {
1965
+				$output .= implode(",", $border_i) . "{border-color: $color_code !important;} ";
1966 1966
 			}
1967 1967
 
1968 1968
 			// add any fill color rules
1969
-			if(!empty($fill)){
1970
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1969
+			if (!empty($fill)) {
1970
+				$output .= implode(",", $fill) . "{fill: $color_code;} ";
1971 1971
 			}
1972
-			if(!empty($fill_i)){
1973
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1972
+			if (!empty($fill_i)) {
1973
+				$output .= implode(",", $fill_i) . "{fill: $color_code !important;} ";
1974 1974
 			}
1975 1975
 
1976 1976
 
1977 1977
 			$prefix = $compatibility ? ".bsui " : "";
1978 1978
 
1979 1979
 			// darken
1980
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1981
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1982
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1980
+			$darker_075 = self::css_hex_lighten_darken($color_code, "-0.075");
1981
+			$darker_10 = self::css_hex_lighten_darken($color_code, "-0.10");
1982
+			$darker_125 = self::css_hex_lighten_darken($color_code, "-0.125");
1983 1983
 
1984 1984
 			// lighten
1985
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1985
+			$lighten_25 = self::css_hex_lighten_darken($color_code, "0.25");
1986 1986
 
1987 1987
 			// opacity see https://css-tricks.com/8-digit-hex-codes/
1988
-			$op_25 = $color_code."40"; // 25% opacity
1988
+			$op_25 = $color_code . "40"; // 25% opacity
1989 1989
 
1990 1990
 
1991 1991
 			// button states
1992
-			$output .= $prefix ." .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1993
-			$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;} ";
1994
-			$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.";} ";
1995
-			$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;} ";
1992
+			$output .= $prefix . " .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: " . $darker_075 . ";    border-color: " . $darker_10 . ";} ";
1993
+			$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;} ";
1994
+			$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 . ";} ";
1995
+			$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;} ";
1996 1996
 
1997 1997
 
1998 1998
 			// dropdown's
1999
-			$output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1999
+			$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
2000 2000
 
2001 2001
 
2002 2002
 			// input states
2003
-			$output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} ";
2003
+			$output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
2004 2004
 
2005 2005
 			// page link
2006
-			$output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
2006
+			$output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
2007 2007
 
2008 2008
 			return $output;
2009 2009
 		}
@@ -2017,30 +2017,30 @@  discard block
 block discarded – undo
2017 2017
 		 *
2018 2018
 		 * @return string
2019 2019
 		 */
2020
-		public static function css_secondary($color_code,$compatibility){;
2020
+		public static function css_secondary($color_code, $compatibility) {;
2021 2021
 			$color_code = sanitize_hex_color($color_code);
2022
-			if(!$color_code){return '';}
2022
+			if (!$color_code) {return ''; }
2023 2023
 			/**
2024 2024
 			 * c = color, b = background color, o = border-color, f = fill
2025 2025
 			 */
2026 2026
 			$selectors = array(
2027
-				'.btn-secondary' => array('b','o'),
2028
-				'.btn-secondary.disabled' => array('b','o'),
2029
-				'.btn-secondary:disabled' => array('b','o'),
2030
-				'.btn-outline-secondary' => array('c','o'),
2031
-				'.btn-outline-secondary:hover' => array('b','o'),
2027
+				'.btn-secondary' => array('b', 'o'),
2028
+				'.btn-secondary.disabled' => array('b', 'o'),
2029
+				'.btn-secondary:disabled' => array('b', 'o'),
2030
+				'.btn-outline-secondary' => array('c', 'o'),
2031
+				'.btn-outline-secondary:hover' => array('b', 'o'),
2032 2032
 				'.btn-outline-secondary.disabled' => array('c'),
2033 2033
 				'.btn-outline-secondary:disabled' => array('c'),
2034
-				'.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'),
2035
-				'.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'),
2036
-				'.btn-outline-secondary.dropdown-toggle' => array('b','o'),
2034
+				'.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b', 'o'),
2035
+				'.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b', 'o'),
2036
+				'.btn-outline-secondary.dropdown-toggle' => array('b', 'o'),
2037 2037
 				'.badge-secondary' => array('b'),
2038
-				'.alert-secondary' => array('b','o'),
2038
+				'.alert-secondary' => array('b', 'o'),
2039 2039
 				'.btn-link.btn-secondary' => array('c'),
2040 2040
 			);
2041 2041
 
2042 2042
 			$important_selectors = array(
2043
-				'.bg-secondary' => array('b','f'),
2043
+				'.bg-secondary' => array('b', 'f'),
2044 2044
 				'.border-secondary' => array('o'),
2045 2045
 				'.text-secondary' => array('c'),
2046 2046
 			);
@@ -2057,77 +2057,77 @@  discard block
 block discarded – undo
2057 2057
 			$output = '';
2058 2058
 
2059 2059
 			// build rules into each type
2060
-			foreach($selectors as $selector => $types){
2061
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
2062
-				$types = array_combine($types,$types);
2063
-				if(isset($types['c'])){$color[] = $selector;}
2064
-				if(isset($types['b'])){$background[] = $selector;}
2065
-				if(isset($types['o'])){$border[] = $selector;}
2066
-				if(isset($types['f'])){$fill[] = $selector;}
2060
+			foreach ($selectors as $selector => $types) {
2061
+				$selector = $compatibility ? ".bsui " . $selector : $selector;
2062
+				$types = array_combine($types, $types);
2063
+				if (isset($types['c'])) {$color[] = $selector; }
2064
+				if (isset($types['b'])) {$background[] = $selector; }
2065
+				if (isset($types['o'])) {$border[] = $selector; }
2066
+				if (isset($types['f'])) {$fill[] = $selector; }
2067 2067
 			}
2068 2068
 
2069 2069
 			// build rules into each type
2070
-			foreach($important_selectors as $selector => $types){
2071
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
2072
-				$types = array_combine($types,$types);
2073
-				if(isset($types['c'])){$color_i[] = $selector;}
2074
-				if(isset($types['b'])){$background_i[] = $selector;}
2075
-				if(isset($types['o'])){$border_i[] = $selector;}
2076
-				if(isset($types['f'])){$fill_i[] = $selector;}
2070
+			foreach ($important_selectors as $selector => $types) {
2071
+				$selector = $compatibility ? ".bsui " . $selector : $selector;
2072
+				$types = array_combine($types, $types);
2073
+				if (isset($types['c'])) {$color_i[] = $selector; }
2074
+				if (isset($types['b'])) {$background_i[] = $selector; }
2075
+				if (isset($types['o'])) {$border_i[] = $selector; }
2076
+				if (isset($types['f'])) {$fill_i[] = $selector; }
2077 2077
 			}
2078 2078
 
2079 2079
 			// add any color rules
2080
-			if(!empty($color)){
2081
-				$output .= implode(",",$color) . "{color: $color_code;} ";
2080
+			if (!empty($color)) {
2081
+				$output .= implode(",", $color) . "{color: $color_code;} ";
2082 2082
 			}
2083
-			if(!empty($color_i)){
2084
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
2083
+			if (!empty($color_i)) {
2084
+				$output .= implode(",", $color_i) . "{color: $color_code !important;} ";
2085 2085
 			}
2086 2086
 
2087 2087
 			// add any background color rules
2088
-			if(!empty($background)){
2089
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
2088
+			if (!empty($background)) {
2089
+				$output .= implode(",", $background) . "{background-color: $color_code;} ";
2090 2090
 			}
2091
-			if(!empty($background_i)){
2092
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
2091
+			if (!empty($background_i)) {
2092
+				$output .= implode(",", $background_i) . "{background-color: $color_code !important;} ";
2093 2093
 			}
2094 2094
 
2095 2095
 			// add any border color rules
2096
-			if(!empty($border)){
2097
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
2096
+			if (!empty($border)) {
2097
+				$output .= implode(",", $border) . "{border-color: $color_code;} ";
2098 2098
 			}
2099
-			if(!empty($border_i)){
2100
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
2099
+			if (!empty($border_i)) {
2100
+				$output .= implode(",", $border_i) . "{border-color: $color_code !important;} ";
2101 2101
 			}
2102 2102
 
2103 2103
 			// add any fill color rules
2104
-			if(!empty($fill)){
2105
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
2104
+			if (!empty($fill)) {
2105
+				$output .= implode(",", $fill) . "{fill: $color_code;} ";
2106 2106
 			}
2107
-			if(!empty($fill_i)){
2108
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
2107
+			if (!empty($fill_i)) {
2108
+				$output .= implode(",", $fill_i) . "{fill: $color_code !important;} ";
2109 2109
 			}
2110 2110
 
2111 2111
 
2112 2112
 			$prefix = $compatibility ? ".bsui " : "";
2113 2113
 
2114 2114
 			// darken
2115
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
2116
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
2117
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
2115
+			$darker_075 = self::css_hex_lighten_darken($color_code, "-0.075");
2116
+			$darker_10 = self::css_hex_lighten_darken($color_code, "-0.10");
2117
+			$darker_125 = self::css_hex_lighten_darken($color_code, "-0.125");
2118 2118
 
2119 2119
 			// lighten
2120
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
2120
+			$lighten_25 = self::css_hex_lighten_darken($color_code, "0.25");
2121 2121
 
2122 2122
 			// opacity see https://css-tricks.com/8-digit-hex-codes/
2123
-			$op_25 = $color_code."40"; // 25% opacity
2123
+			$op_25 = $color_code . "40"; // 25% opacity
2124 2124
 
2125 2125
 
2126 2126
 			// button states
2127
-			$output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
2128
-			$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;} ";
2129
-			$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.";} ";
2130
-			$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;} ";
2127
+			$output .= $prefix . " .btn-secondary:hover{background-color: " . $darker_075 . ";    border-color: " . $darker_10 . ";} ";
2128
+			$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;} ";
2129
+			$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 . ";} ";
2130
+			$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;} ";
2131 2131
 
2132 2132
 
2133 2133
 			return $output;
@@ -2144,7 +2144,7 @@  discard block
 block discarded – undo
2144 2144
 		public static function css_hex_lighten_darken($hexCode, $adjustPercent) {
2145 2145
 			$hexCode = ltrim($hexCode, '#');
2146 2146
 
2147
-			if ( strpos( $hexCode, 'rgba(' ) !== false || strpos( $hexCode, 'rgb(' ) !== false ) {
2147
+			if (strpos($hexCode, 'rgba(') !== false || strpos($hexCode, 'rgb(') !== false) {
2148 2148
 				return $hexCode;
2149 2149
 			}
2150 2150
 
@@ -2167,8 +2167,8 @@  discard block
 block discarded – undo
2167 2167
 		/**
2168 2168
 		 * Check if we should display examples.
2169 2169
 		 */
2170
-		public function maybe_show_examples(){
2171
-			if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){
2170
+		public function maybe_show_examples() {
2171
+			if (current_user_can('manage_options') && isset($_REQUEST['preview-aui'])) {
2172 2172
 				echo "<head>";
2173 2173
 				wp_head();
2174 2174
 				echo "</head>";
@@ -2184,7 +2184,7 @@  discard block
 block discarded – undo
2184 2184
 		 *
2185 2185
 		 * @return string
2186 2186
 		 */
2187
-		public function get_examples(){
2187
+		public function get_examples() {
2188 2188
 			$output = '';
2189 2189
 
2190 2190
 
@@ -2290,74 +2290,74 @@  discard block
 block discarded – undo
2290 2290
 		 */
2291 2291
 		public static function calendar_params() {
2292 2292
 			$params = array(
2293
-				'month_long_1' => __( 'January', 'ayecode-connect' ),
2294
-				'month_long_2' => __( 'February', 'ayecode-connect' ),
2295
-				'month_long_3' => __( 'March', 'ayecode-connect' ),
2296
-				'month_long_4' => __( 'April', 'ayecode-connect' ),
2297
-				'month_long_5' => __( 'May', 'ayecode-connect' ),
2298
-				'month_long_6' => __( 'June', 'ayecode-connect' ),
2299
-				'month_long_7' => __( 'July', 'ayecode-connect' ),
2300
-				'month_long_8' => __( 'August', 'ayecode-connect' ),
2301
-				'month_long_9' => __( 'September', 'ayecode-connect' ),
2302
-				'month_long_10' => __( 'October', 'ayecode-connect' ),
2303
-				'month_long_11' => __( 'November', 'ayecode-connect' ),
2304
-				'month_long_12' => __( 'December', 'ayecode-connect' ),
2305
-				'month_s_1' => _x( 'Jan', 'January abbreviation', 'ayecode-connect' ),
2306
-				'month_s_2' => _x( 'Feb', 'February abbreviation', 'ayecode-connect' ),
2307
-				'month_s_3' => _x( 'Mar', 'March abbreviation', 'ayecode-connect' ),
2308
-				'month_s_4' => _x( 'Apr', 'April abbreviation', 'ayecode-connect' ),
2309
-				'month_s_5' => _x( 'May', 'May abbreviation', 'ayecode-connect' ),
2310
-				'month_s_6' => _x( 'Jun', 'June abbreviation', 'ayecode-connect' ),
2311
-				'month_s_7' => _x( 'Jul', 'July abbreviation', 'ayecode-connect' ),
2312
-				'month_s_8' => _x( 'Aug', 'August abbreviation', 'ayecode-connect' ),
2313
-				'month_s_9' => _x( 'Sep', 'September abbreviation', 'ayecode-connect' ),
2314
-				'month_s_10' => _x( 'Oct', 'October abbreviation', 'ayecode-connect' ),
2315
-				'month_s_11' => _x( 'Nov', 'November abbreviation', 'ayecode-connect' ),
2316
-				'month_s_12' => _x( 'Dec', 'December abbreviation', 'ayecode-connect' ),
2317
-				'day_s1_1' => _x( 'S', 'Sunday initial', 'ayecode-connect' ),
2318
-				'day_s1_2' => _x( 'M', 'Monday initial', 'ayecode-connect' ),
2319
-				'day_s1_3' => _x( 'T', 'Tuesday initial', 'ayecode-connect' ),
2320
-				'day_s1_4' => _x( 'W', 'Wednesday initial', 'ayecode-connect' ),
2321
-				'day_s1_5' => _x( 'T', 'Friday initial', 'ayecode-connect' ),
2322
-				'day_s1_6' => _x( 'F', 'Thursday initial', 'ayecode-connect' ),
2323
-				'day_s1_7' => _x( 'S', 'Saturday initial', 'ayecode-connect' ),
2324
-				'day_s2_1' => __( 'Su', 'ayecode-connect' ),
2325
-				'day_s2_2' => __( 'Mo', 'ayecode-connect' ),
2326
-				'day_s2_3' => __( 'Tu', 'ayecode-connect' ),
2327
-				'day_s2_4' => __( 'We', 'ayecode-connect' ),
2328
-				'day_s2_5' => __( 'Th', 'ayecode-connect' ),
2329
-				'day_s2_6' => __( 'Fr', 'ayecode-connect' ),
2330
-				'day_s2_7' => __( 'Sa', 'ayecode-connect' ),
2331
-				'day_s3_1' => __( 'Sun', 'ayecode-connect' ),
2332
-				'day_s3_2' => __( 'Mon', 'ayecode-connect' ),
2333
-				'day_s3_3' => __( 'Tue', 'ayecode-connect' ),
2334
-				'day_s3_4' => __( 'Wed', 'ayecode-connect' ),
2335
-				'day_s3_5' => __( 'Thu', 'ayecode-connect' ),
2336
-				'day_s3_6' => __( 'Fri', 'ayecode-connect' ),
2337
-				'day_s3_7' => __( 'Sat', 'ayecode-connect' ),
2338
-				'day_s5_1' => __( 'Sunday', 'ayecode-connect' ),
2339
-				'day_s5_2' => __( 'Monday', 'ayecode-connect' ),
2340
-				'day_s5_3' => __( 'Tuesday', 'ayecode-connect' ),
2341
-				'day_s5_4' => __( 'Wednesday', 'ayecode-connect' ),
2342
-				'day_s5_5' => __( 'Thursday', 'ayecode-connect' ),
2343
-				'day_s5_6' => __( 'Friday', 'ayecode-connect' ),
2344
-				'day_s5_7' => __( 'Saturday', 'ayecode-connect' ),
2345
-				'am_lower' => __( 'am', 'ayecode-connect' ),
2346
-				'pm_lower' => __( 'pm', 'ayecode-connect' ),
2347
-				'am_upper' => __( 'AM', 'ayecode-connect' ),
2348
-				'pm_upper' => __( 'PM', 'ayecode-connect' ),
2349
-				'firstDayOfWeek' => (int) get_option( 'start_of_week' ),
2293
+				'month_long_1' => __('January', 'ayecode-connect'),
2294
+				'month_long_2' => __('February', 'ayecode-connect'),
2295
+				'month_long_3' => __('March', 'ayecode-connect'),
2296
+				'month_long_4' => __('April', 'ayecode-connect'),
2297
+				'month_long_5' => __('May', 'ayecode-connect'),
2298
+				'month_long_6' => __('June', 'ayecode-connect'),
2299
+				'month_long_7' => __('July', 'ayecode-connect'),
2300
+				'month_long_8' => __('August', 'ayecode-connect'),
2301
+				'month_long_9' => __('September', 'ayecode-connect'),
2302
+				'month_long_10' => __('October', 'ayecode-connect'),
2303
+				'month_long_11' => __('November', 'ayecode-connect'),
2304
+				'month_long_12' => __('December', 'ayecode-connect'),
2305
+				'month_s_1' => _x('Jan', 'January abbreviation', 'ayecode-connect'),
2306
+				'month_s_2' => _x('Feb', 'February abbreviation', 'ayecode-connect'),
2307
+				'month_s_3' => _x('Mar', 'March abbreviation', 'ayecode-connect'),
2308
+				'month_s_4' => _x('Apr', 'April abbreviation', 'ayecode-connect'),
2309
+				'month_s_5' => _x('May', 'May abbreviation', 'ayecode-connect'),
2310
+				'month_s_6' => _x('Jun', 'June abbreviation', 'ayecode-connect'),
2311
+				'month_s_7' => _x('Jul', 'July abbreviation', 'ayecode-connect'),
2312
+				'month_s_8' => _x('Aug', 'August abbreviation', 'ayecode-connect'),
2313
+				'month_s_9' => _x('Sep', 'September abbreviation', 'ayecode-connect'),
2314
+				'month_s_10' => _x('Oct', 'October abbreviation', 'ayecode-connect'),
2315
+				'month_s_11' => _x('Nov', 'November abbreviation', 'ayecode-connect'),
2316
+				'month_s_12' => _x('Dec', 'December abbreviation', 'ayecode-connect'),
2317
+				'day_s1_1' => _x('S', 'Sunday initial', 'ayecode-connect'),
2318
+				'day_s1_2' => _x('M', 'Monday initial', 'ayecode-connect'),
2319
+				'day_s1_3' => _x('T', 'Tuesday initial', 'ayecode-connect'),
2320
+				'day_s1_4' => _x('W', 'Wednesday initial', 'ayecode-connect'),
2321
+				'day_s1_5' => _x('T', 'Friday initial', 'ayecode-connect'),
2322
+				'day_s1_6' => _x('F', 'Thursday initial', 'ayecode-connect'),
2323
+				'day_s1_7' => _x('S', 'Saturday initial', 'ayecode-connect'),
2324
+				'day_s2_1' => __('Su', 'ayecode-connect'),
2325
+				'day_s2_2' => __('Mo', 'ayecode-connect'),
2326
+				'day_s2_3' => __('Tu', 'ayecode-connect'),
2327
+				'day_s2_4' => __('We', 'ayecode-connect'),
2328
+				'day_s2_5' => __('Th', 'ayecode-connect'),
2329
+				'day_s2_6' => __('Fr', 'ayecode-connect'),
2330
+				'day_s2_7' => __('Sa', 'ayecode-connect'),
2331
+				'day_s3_1' => __('Sun', 'ayecode-connect'),
2332
+				'day_s3_2' => __('Mon', 'ayecode-connect'),
2333
+				'day_s3_3' => __('Tue', 'ayecode-connect'),
2334
+				'day_s3_4' => __('Wed', 'ayecode-connect'),
2335
+				'day_s3_5' => __('Thu', 'ayecode-connect'),
2336
+				'day_s3_6' => __('Fri', 'ayecode-connect'),
2337
+				'day_s3_7' => __('Sat', 'ayecode-connect'),
2338
+				'day_s5_1' => __('Sunday', 'ayecode-connect'),
2339
+				'day_s5_2' => __('Monday', 'ayecode-connect'),
2340
+				'day_s5_3' => __('Tuesday', 'ayecode-connect'),
2341
+				'day_s5_4' => __('Wednesday', 'ayecode-connect'),
2342
+				'day_s5_5' => __('Thursday', 'ayecode-connect'),
2343
+				'day_s5_6' => __('Friday', 'ayecode-connect'),
2344
+				'day_s5_7' => __('Saturday', 'ayecode-connect'),
2345
+				'am_lower' => __('am', 'ayecode-connect'),
2346
+				'pm_lower' => __('pm', 'ayecode-connect'),
2347
+				'am_upper' => __('AM', 'ayecode-connect'),
2348
+				'pm_upper' => __('PM', 'ayecode-connect'),
2349
+				'firstDayOfWeek' => (int) get_option('start_of_week'),
2350 2350
 				'time_24hr' => false,
2351
-				'year' => __( 'Year', 'ayecode-connect' ),
2352
-				'hour' => __( 'Hour', 'ayecode-connect' ),
2353
-				'minute' => __( 'Minute', 'ayecode-connect' ),
2354
-				'weekAbbreviation' => __( 'Wk', 'ayecode-connect' ),
2355
-				'rangeSeparator' => __( ' to ', 'ayecode-connect' ),
2356
-				'scrollTitle' => __( 'Scroll to increment', 'ayecode-connect' ),
2357
-				'toggleTitle' => __( 'Click to toggle', 'ayecode-connect' )
2351
+				'year' => __('Year', 'ayecode-connect'),
2352
+				'hour' => __('Hour', 'ayecode-connect'),
2353
+				'minute' => __('Minute', 'ayecode-connect'),
2354
+				'weekAbbreviation' => __('Wk', 'ayecode-connect'),
2355
+				'rangeSeparator' => __(' to ', 'ayecode-connect'),
2356
+				'scrollTitle' => __('Scroll to increment', 'ayecode-connect'),
2357
+				'toggleTitle' => __('Click to toggle', 'ayecode-connect')
2358 2358
 			);
2359 2359
 
2360
-			return apply_filters( 'ayecode_ui_calendar_params', $params );
2360
+			return apply_filters('ayecode_ui_calendar_params', $params);
2361 2361
 		}
2362 2362
 
2363 2363
 		/**
@@ -2370,47 +2370,47 @@  discard block
 block discarded – undo
2370 2370
 		public static function flatpickr_locale() {
2371 2371
 			$params = self::calendar_params();
2372 2372
 
2373
-			if ( is_string( $params ) ) {
2374
-				$params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' );
2373
+			if (is_string($params)) {
2374
+				$params = html_entity_decode($params, ENT_QUOTES, 'UTF-8');
2375 2375
 			} else {
2376
-				foreach ( (array) $params as $key => $value ) {
2377
-					if ( ! is_scalar( $value ) ) {
2376
+				foreach ((array) $params as $key => $value) {
2377
+					if (!is_scalar($value)) {
2378 2378
 						continue;
2379 2379
 					}
2380 2380
 
2381
-					$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2381
+					$params[$key] = html_entity_decode((string) $value, ENT_QUOTES, 'UTF-8');
2382 2382
 				}
2383 2383
 			}
2384 2384
 
2385 2385
 			$day_s3 = array();
2386 2386
 			$day_s5 = array();
2387 2387
 
2388
-			for ( $i = 1; $i <= 7; $i ++ ) {
2389
-				$day_s3[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2390
-				$day_s5[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2388
+			for ($i = 1; $i <= 7; $i++) {
2389
+				$day_s3[] = addslashes($params['day_s3_' . $i]); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2390
+				$day_s5[] = addslashes($params['day_s3_' . $i]); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2391 2391
 			}
2392 2392
 
2393 2393
 			$month_s = array();
2394 2394
 			$month_long = array();
2395 2395
 
2396
-			for ( $i = 1; $i <= 12; $i ++ ) {
2397
-				$month_s[] = addslashes( $params[ 'month_s_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2398
-				$month_long[] = addslashes( $params[ 'month_long_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2396
+			for ($i = 1; $i <= 12; $i++) {
2397
+				$month_s[] = addslashes($params['month_s_' . $i]); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2398
+				$month_long[] = addslashes($params['month_long_' . $i]); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2399 2399
 			}
2400 2400
 
2401 2401
 			ob_start();
2402
-		if ( 0 ) { ?><script><?php } ?>
2402
+		if (0) { ?><script><?php } ?>
2403 2403
                 {
2404 2404
                     weekdays: {
2405
-                        shorthand: ['<?php echo implode( "','", $day_s3 ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
2406
-                            longhand: ['<?php echo implode( "','", $day_s5 ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
2405
+                        shorthand: ['<?php echo implode("','", $day_s3); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
2406
+                            longhand: ['<?php echo implode("','", $day_s5); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
2407 2407
                     },
2408 2408
                     months: {
2409
-                        shorthand: ['<?php echo implode( "','", $month_s ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
2410
-                            longhand: ['<?php echo implode( "','", $month_long ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
2409
+                        shorthand: ['<?php echo implode("','", $month_s); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
2410
+                            longhand: ['<?php echo implode("','", $month_long); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
2411 2411
                     },
2412 2412
                     daysInMonth: [31,28,31,30,31,30,31,31,30,31,30,31],
2413
-                        firstDayOfWeek: <?php echo (int) $params[ 'firstDayOfWeek' ]; ?>,
2413
+                        firstDayOfWeek: <?php echo (int) $params['firstDayOfWeek']; ?>,
2414 2414
                     ordinal: function (nth) {
2415 2415
                         var s = nth % 100;
2416 2416
                         if (s > 3 && s < 21)
@@ -2426,21 +2426,21 @@  discard block
 block discarded – undo
2426 2426
                                 return "th";
2427 2427
                         }
2428 2428
                     },
2429
-                    rangeSeparator: '<?php echo esc_attr( $params[ 'rangeSeparator' ] ); ?>',
2430
-                        weekAbbreviation: '<?php echo esc_attr( $params[ 'weekAbbreviation' ] ); ?>',
2431
-                    scrollTitle: '<?php echo esc_attr( $params[ 'scrollTitle' ] ); ?>',
2432
-                    toggleTitle: '<?php echo esc_attr( $params[ 'toggleTitle' ] ); ?>',
2433
-                    amPM: ['<?php echo esc_attr( $params[ 'am_upper' ] ); ?>','<?php echo esc_attr( $params[ 'pm_upper' ] ); ?>'],
2434
-                    yearAriaLabel: '<?php echo esc_attr( $params[ 'year' ] ); ?>',
2435
-                    hourAriaLabel: '<?php echo esc_attr( $params[ 'hour' ] ); ?>',
2436
-                    minuteAriaLabel: '<?php echo esc_attr( $params[ 'minute' ] ); ?>',
2437
-                    time_24hr: <?php echo ( $params[ 'time_24hr' ] ? 'true' : 'false' ) ; ?>
2429
+                    rangeSeparator: '<?php echo esc_attr($params['rangeSeparator']); ?>',
2430
+                        weekAbbreviation: '<?php echo esc_attr($params['weekAbbreviation']); ?>',
2431
+                    scrollTitle: '<?php echo esc_attr($params['scrollTitle']); ?>',
2432
+                    toggleTitle: '<?php echo esc_attr($params['toggleTitle']); ?>',
2433
+                    amPM: ['<?php echo esc_attr($params['am_upper']); ?>','<?php echo esc_attr($params['pm_upper']); ?>'],
2434
+                    yearAriaLabel: '<?php echo esc_attr($params['year']); ?>',
2435
+                    hourAriaLabel: '<?php echo esc_attr($params['hour']); ?>',
2436
+                    minuteAriaLabel: '<?php echo esc_attr($params['minute']); ?>',
2437
+                    time_24hr: <?php echo ($params['time_24hr'] ? 'true' : 'false'); ?>
2438 2438
                 }
2439
-				<?php if ( 0 ) { ?></script><?php } ?>
2439
+				<?php if (0) { ?></script><?php } ?>
2440 2440
 			<?php
2441 2441
 			$locale = ob_get_clean();
2442 2442
 
2443
-			return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) );
2443
+			return apply_filters('ayecode_ui_flatpickr_locale', trim($locale));
2444 2444
 		}
2445 2445
 
2446 2446
 		/**
@@ -2452,20 +2452,20 @@  discard block
 block discarded – undo
2452 2452
 		 */
2453 2453
 		public static function select2_params() {
2454 2454
 			$params = array(
2455
-				'i18n_select_state_text'    => esc_attr__( 'Select an option&hellip;', 'ayecode-connect' ),
2456
-				'i18n_no_matches'           => _x( 'No matches found', 'enhanced select', 'ayecode-connect' ),
2457
-				'i18n_ajax_error'           => _x( 'Loading failed', 'enhanced select', 'ayecode-connect' ),
2458
-				'i18n_input_too_short_1'    => _x( 'Please enter 1 or more characters', 'enhanced select', 'ayecode-connect' ),
2459
-				'i18n_input_too_short_n'    => _x( 'Please enter %item% or more characters', 'enhanced select', 'ayecode-connect' ),
2460
-				'i18n_input_too_long_1'     => _x( 'Please delete 1 character', 'enhanced select', 'ayecode-connect' ),
2461
-				'i18n_input_too_long_n'     => _x( 'Please delete %item% characters', 'enhanced select', 'ayecode-connect' ),
2462
-				'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'ayecode-connect' ),
2463
-				'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'ayecode-connect' ),
2464
-				'i18n_load_more'            => _x( 'Loading more results&hellip;', 'enhanced select', 'ayecode-connect' ),
2465
-				'i18n_searching'            => _x( 'Searching&hellip;', 'enhanced select', 'ayecode-connect' )
2455
+				'i18n_select_state_text'    => esc_attr__('Select an option&hellip;', 'ayecode-connect'),
2456
+				'i18n_no_matches'           => _x('No matches found', 'enhanced select', 'ayecode-connect'),
2457
+				'i18n_ajax_error'           => _x('Loading failed', 'enhanced select', 'ayecode-connect'),
2458
+				'i18n_input_too_short_1'    => _x('Please enter 1 or more characters', 'enhanced select', 'ayecode-connect'),
2459
+				'i18n_input_too_short_n'    => _x('Please enter %item% or more characters', 'enhanced select', 'ayecode-connect'),
2460
+				'i18n_input_too_long_1'     => _x('Please delete 1 character', 'enhanced select', 'ayecode-connect'),
2461
+				'i18n_input_too_long_n'     => _x('Please delete %item% characters', 'enhanced select', 'ayecode-connect'),
2462
+				'i18n_selection_too_long_1' => _x('You can only select 1 item', 'enhanced select', 'ayecode-connect'),
2463
+				'i18n_selection_too_long_n' => _x('You can only select %item% items', 'enhanced select', 'ayecode-connect'),
2464
+				'i18n_load_more'            => _x('Loading more results&hellip;', 'enhanced select', 'ayecode-connect'),
2465
+				'i18n_searching'            => _x('Searching&hellip;', 'enhanced select', 'ayecode-connect')
2466 2466
 			);
2467 2467
 
2468
-			return apply_filters( 'ayecode_ui_select2_params', $params );
2468
+			return apply_filters('ayecode_ui_select2_params', $params);
2469 2469
 		}
2470 2470
 
2471 2471
 		/**
@@ -2478,17 +2478,17 @@  discard block
 block discarded – undo
2478 2478
 		public static function select2_locale() {
2479 2479
 			$params = self::select2_params();
2480 2480
 
2481
-			foreach ( (array) $params as $key => $value ) {
2482
-				if ( ! is_scalar( $value ) ) {
2481
+			foreach ((array) $params as $key => $value) {
2482
+				if (!is_scalar($value)) {
2483 2483
 					continue;
2484 2484
 				}
2485 2485
 
2486
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2486
+				$params[$key] = html_entity_decode((string) $value, ENT_QUOTES, 'UTF-8');
2487 2487
 			}
2488 2488
 
2489
-			$locale = json_encode( $params );
2489
+			$locale = json_encode($params);
2490 2490
 
2491
-			return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) );
2491
+			return apply_filters('ayecode_ui_select2_locale', trim($locale));
2492 2492
 		}
2493 2493
 
2494 2494
 		/**
@@ -2501,35 +2501,35 @@  discard block
 block discarded – undo
2501 2501
 		public static function timeago_locale() {
2502 2502
 			$params = array(
2503 2503
 				'prefix_ago' => '',
2504
-				'suffix_ago' => ' ' . _x( 'ago', 'time ago', 'ayecode-connect' ),
2505
-				'prefix_after' => _x( 'after', 'time ago', 'ayecode-connect' ) . ' ',
2504
+				'suffix_ago' => ' ' . _x('ago', 'time ago', 'ayecode-connect'),
2505
+				'prefix_after' => _x('after', 'time ago', 'ayecode-connect') . ' ',
2506 2506
 				'suffix_after' => '',
2507
-				'seconds' => _x( 'less than a minute', 'time ago', 'ayecode-connect' ),
2508
-				'minute' => _x( 'about a minute', 'time ago', 'ayecode-connect' ),
2509
-				'minutes' => _x( '%d minutes', 'time ago', 'ayecode-connect' ),
2510
-				'hour' => _x( 'about an hour', 'time ago', 'ayecode-connect' ),
2511
-				'hours' => _x( 'about %d hours', 'time ago', 'ayecode-connect' ),
2512
-				'day' => _x( 'a day', 'time ago', 'ayecode-connect' ),
2513
-				'days' => _x( '%d days', 'time ago', 'ayecode-connect' ),
2514
-				'month' => _x( 'about a month', 'time ago', 'ayecode-connect' ),
2515
-				'months' => _x( '%d months', 'time ago', 'ayecode-connect' ),
2516
-				'year' => _x( 'about a year', 'time ago', 'ayecode-connect' ),
2517
-				'years' => _x( '%d years', 'time ago', 'ayecode-connect' ),
2507
+				'seconds' => _x('less than a minute', 'time ago', 'ayecode-connect'),
2508
+				'minute' => _x('about a minute', 'time ago', 'ayecode-connect'),
2509
+				'minutes' => _x('%d minutes', 'time ago', 'ayecode-connect'),
2510
+				'hour' => _x('about an hour', 'time ago', 'ayecode-connect'),
2511
+				'hours' => _x('about %d hours', 'time ago', 'ayecode-connect'),
2512
+				'day' => _x('a day', 'time ago', 'ayecode-connect'),
2513
+				'days' => _x('%d days', 'time ago', 'ayecode-connect'),
2514
+				'month' => _x('about a month', 'time ago', 'ayecode-connect'),
2515
+				'months' => _x('%d months', 'time ago', 'ayecode-connect'),
2516
+				'year' => _x('about a year', 'time ago', 'ayecode-connect'),
2517
+				'years' => _x('%d years', 'time ago', 'ayecode-connect'),
2518 2518
 			);
2519 2519
 
2520
-			$params = apply_filters( 'ayecode_ui_timeago_params', $params );
2520
+			$params = apply_filters('ayecode_ui_timeago_params', $params);
2521 2521
 
2522
-			foreach ( (array) $params as $key => $value ) {
2523
-				if ( ! is_scalar( $value ) ) {
2522
+			foreach ((array) $params as $key => $value) {
2523
+				if (!is_scalar($value)) {
2524 2524
 					continue;
2525 2525
 				}
2526 2526
 
2527
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2527
+				$params[$key] = html_entity_decode((string) $value, ENT_QUOTES, 'UTF-8');
2528 2528
 			}
2529 2529
 
2530
-			$locale = json_encode( $params );
2530
+			$locale = json_encode($params);
2531 2531
 
2532
-			return apply_filters( 'ayecode_ui_timeago_locale', trim( $locale ) );
2532
+			return apply_filters('ayecode_ui_timeago_locale', trim($locale));
2533 2533
 		}
2534 2534
 
2535 2535
 		/**
@@ -2540,7 +2540,7 @@  discard block
 block discarded – undo
2540 2540
 		 * @return mixed
2541 2541
 		 */
2542 2542
 		public static function minify_js($input) {
2543
-			if(trim($input) === "") return $input;
2543
+			if (trim($input) === "") return $input;
2544 2544
 			return preg_replace(
2545 2545
 				array(
2546 2546
 					// Remove comment(s)
@@ -2572,7 +2572,7 @@  discard block
 block discarded – undo
2572 2572
 		 * @return mixed
2573 2573
 		 */
2574 2574
 		public static function minify_css($input) {
2575
-			if(trim($input) === "") return $input;
2575
+			if (trim($input) === "") return $input;
2576 2576
 			return preg_replace(
2577 2577
 				array(
2578 2578
 					// Remove comment(s)
@@ -3152,12 +3152,12 @@  discard block
 block discarded – undo
3152 3152
                         });
3153 3153
                     }
3154 3154
                 }
3155
-				<?php do_action( 'aui_conditional_fields_js', $this ); ?>
3155
+				<?php do_action('aui_conditional_fields_js', $this); ?>
3156 3156
             </script>
3157 3157
 			<?php
3158 3158
 			$output = ob_get_clean();
3159 3159
 
3160
-			return str_replace( array( '<script>', '</script>' ), '', self::minify_js( $output ) );
3160
+			return str_replace(array('<script>', '</script>'), '', self::minify_js($output));
3161 3161
 		}
3162 3162
 
3163 3163
 		/**
@@ -3168,10 +3168,10 @@  discard block
 block discarded – undo
3168 3168
 		 * @return bool
3169 3169
 		 */
3170 3170
 		public static function is_block_editor() {
3171
-			if ( is_admin() ) {
3172
-				$current_screen = function_exists('get_current_screen' ) ? get_current_screen() : array();
3171
+			if (is_admin()) {
3172
+				$current_screen = function_exists('get_current_screen') ? get_current_screen() : array();
3173 3173
 
3174
-				if ( ! empty( $current_screen ) && $current_screen->is_block_editor() ) {
3174
+				if (!empty($current_screen) && $current_screen->is_block_editor()) {
3175 3175
 					return true;
3176 3176
 				}
3177 3177
 			}
@@ -3190,7 +3190,7 @@  discard block
 block discarded – undo
3190 3190
 		 */
3191 3191
 		public static function is_block_content_call() {
3192 3192
 			$result = false;
3193
-			if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
3193
+			if (wp_doing_ajax() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'super_duper_output_shortcode') {
3194 3194
 				$result = true;
3195 3195
 			}
3196 3196
 
@@ -3206,7 +3206,7 @@  discard block
 block discarded – undo
3206 3206
 		 */
3207 3207
 		public static function is_divi_preview() {
3208 3208
 			$result = false;
3209
-			if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
3209
+			if (isset($_REQUEST['et_fb']) || isset($_REQUEST['et_pb_preview']) || (is_admin() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor')) {
3210 3210
 				$result = true;
3211 3211
 			}
3212 3212
 
@@ -3223,7 +3223,7 @@  discard block
 block discarded – undo
3223 3223
 		 */
3224 3224
 		public static function is_elementor_preview() {
3225 3225
 			$result = false;
3226
-			if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
3226
+			if (isset($_REQUEST['elementor-preview']) || (is_admin() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor') || (isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor_ajax')) {
3227 3227
 				$result = true;
3228 3228
 			}
3229 3229
 
@@ -3239,7 +3239,7 @@  discard block
 block discarded – undo
3239 3239
 		 */
3240 3240
 		public static function is_beaver_preview() {
3241 3241
 			$result = false;
3242
-			if ( isset( $_REQUEST['fl_builder'] ) ) {
3242
+			if (isset($_REQUEST['fl_builder'])) {
3243 3243
 				$result = true;
3244 3244
 			}
3245 3245
 
@@ -3255,7 +3255,7 @@  discard block
 block discarded – undo
3255 3255
 		 */
3256 3256
 		public static function is_siteorigin_preview() {
3257 3257
 			$result = false;
3258
-			if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
3258
+			if (!empty($_REQUEST['siteorigin_panels_live_editor'])) {
3259 3259
 				$result = true;
3260 3260
 			}
3261 3261
 
@@ -3271,7 +3271,7 @@  discard block
 block discarded – undo
3271 3271
 		 */
3272 3272
 		public static function is_cornerstone_preview() {
3273 3273
 			$result = false;
3274
-			if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
3274
+			if (!empty($_REQUEST['cornerstone_preview']) || basename($_SERVER['REQUEST_URI']) == 'cornerstone-endpoint') {
3275 3275
 				$result = true;
3276 3276
 			}
3277 3277
 
@@ -3286,7 +3286,7 @@  discard block
 block discarded – undo
3286 3286
 		 */
3287 3287
 		public static function is_fusion_preview() {
3288 3288
 			$result = false;
3289
-			if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
3289
+			if (!empty($_REQUEST['fb-edit']) || !empty($_REQUEST['fusion_load_nonce'])) {
3290 3290
 				$result = true;
3291 3291
 			}
3292 3292
 
@@ -3301,7 +3301,7 @@  discard block
 block discarded – undo
3301 3301
 		 */
3302 3302
 		public static function is_oxygen_preview() {
3303 3303
 			$result = false;
3304
-			if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
3304
+			if (!empty($_REQUEST['ct_builder']) || (!empty($_REQUEST['action']) && (substr($_REQUEST['action'], 0, 11) === "oxy_render_" || substr($_REQUEST['action'], 0, 10) === "ct_render_"))) {
3305 3305
 				$result = true;
3306 3306
 			}
3307 3307
 
@@ -3318,7 +3318,7 @@  discard block
 block discarded – undo
3318 3318
 		public static function is_kallyas_zion_preview() {
3319 3319
 			$result = false;
3320 3320
 
3321
-			if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) {
3321
+			if (function_exists('znhg_kallyas_theme_config') && !empty($_REQUEST['zn_pb_edit'])) {
3322 3322
 				$result = true;
3323 3323
 			}
3324 3324
 
@@ -3335,7 +3335,7 @@  discard block
 block discarded – undo
3335 3335
 		public static function is_bricks_preview() {
3336 3336
 			$result = false;
3337 3337
 
3338
-			if ( function_exists( 'bricks_is_builder' ) && ( bricks_is_builder() || bricks_is_builder_call() ) ) {
3338
+			if (function_exists('bricks_is_builder') && (bricks_is_builder() || bricks_is_builder_call())) {
3339 3339
 				$result = true;
3340 3340
 			}
3341 3341
 
@@ -3352,29 +3352,29 @@  discard block
 block discarded – undo
3352 3352
 		public static function is_preview() {
3353 3353
 			$preview = false;
3354 3354
 
3355
-			if ( self::is_block_editor() ) {
3355
+			if (self::is_block_editor()) {
3356 3356
 				return true;
3357 3357
 			}
3358 3358
 
3359
-			if( self::is_block_content_call() ) {
3359
+			if (self::is_block_content_call()) {
3360 3360
 				$preview = true;
3361
-			} elseif ( self::is_divi_preview() ) {
3361
+			} elseif (self::is_divi_preview()) {
3362 3362
 				$preview = true;
3363
-			} elseif ( self::is_elementor_preview() ) {
3363
+			} elseif (self::is_elementor_preview()) {
3364 3364
 				$preview = true;
3365
-			} elseif ( self::is_beaver_preview() ) {
3365
+			} elseif (self::is_beaver_preview()) {
3366 3366
 				$preview = true;
3367
-			} elseif ( self::is_siteorigin_preview() ) {
3367
+			} elseif (self::is_siteorigin_preview()) {
3368 3368
 				$preview = true;
3369
-			} elseif ( self::is_cornerstone_preview() ) {
3369
+			} elseif (self::is_cornerstone_preview()) {
3370 3370
 				$preview = true;
3371
-			} elseif ( self::is_fusion_preview() ) {
3371
+			} elseif (self::is_fusion_preview()) {
3372 3372
 				$preview = true;
3373
-			} elseif ( self::is_oxygen_preview() ) {
3373
+			} elseif (self::is_oxygen_preview()) {
3374 3374
 				$preview = true;
3375
-			} elseif( self::is_kallyas_zion_preview() ) {
3375
+			} elseif (self::is_kallyas_zion_preview()) {
3376 3376
 				$preview = true;
3377
-			} elseif( self::is_bricks_preview() ) {
3377
+			} elseif (self::is_bricks_preview()) {
3378 3378
 				$preview = true;
3379 3379
 			}
3380 3380
 
Please login to merge, or discard this patch.
Switch Indentation   +2085 added lines, -2085 removed lines patch added patch discarded remove patch
@@ -1,4 +1,4 @@  discard block
 block discarded – undo
1
-<?php
1
+    <?php
2 2
 /**
3 3
  * A class for adjusting AyeCode UI settings on WordPress
4 4
  *
@@ -12,84 +12,84 @@  discard block
 block discarded – undo
12 12
 /**
13 13
  * Bail if we are not in WP.
14 14
  */
15
-if ( ! defined( 'ABSPATH' ) ) {
16
-	exit;
15
+    if ( ! defined( 'ABSPATH' ) ) {
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.
26 26
 	 *
27 27
 	 * Class AyeCode_UI_Settings
28 28
 	 * @ver 1.0.0
29 29
 	 * @todo decide how to implement textdomain
30 30
 	 */
31
-	class AyeCode_UI_Settings {
31
+	    class AyeCode_UI_Settings {
32 32
 
33
-		/**
33
+		    /**
34 34
 		 * Class version version.
35 35
 		 *
36 36
 		 * @var string
37 37
 		 */
38
-		public $version = '0.2.31';
38
+		    public $version = '0.2.31';
39 39
 
40
-		/**
40
+		    /**
41 41
 		 * Class textdomain.
42 42
 		 *
43 43
 		 * @var string
44 44
 		 */
45
-		public $textdomain = 'aui';
45
+		    public $textdomain = 'aui';
46 46
 
47
-		/**
47
+		    /**
48 48
 		 * Latest version of Bootstrap at time of publish published.
49 49
 		 *
50 50
 		 * @var string
51 51
 		 */
52
-		public $latest = "5.2.2";
52
+		    public $latest = "5.2.2";
53 53
 
54
-		/**
54
+		    /**
55 55
 		 * Current version of select2 being used.
56 56
 		 *
57 57
 		 * @var string
58 58
 		 */
59
-		public $select2_version = "4.0.11";
59
+		    public $select2_version = "4.0.11";
60 60
 
61
-		/**
61
+		    /**
62 62
 		 * The title.
63 63
 		 *
64 64
 		 * @var string
65 65
 		 */
66
-		public $name = 'AyeCode UI';
66
+		    public $name = 'AyeCode UI';
67 67
 
68
-		/**
68
+		    /**
69 69
 		 * The relative url to the assets.
70 70
 		 *
71 71
 		 * @var string
72 72
 		 */
73
-		public $url = '';
73
+		    public $url = '';
74 74
 
75
-		/**
75
+		    /**
76 76
 		 * Holds the settings values.
77 77
 		 *
78 78
 		 * @var array
79 79
 		 */
80
-		private $settings;
80
+		    private $settings;
81 81
 
82
-		/**
82
+		    /**
83 83
 		 * AyeCode_UI_Settings instance.
84 84
 		 *
85 85
 		 * @access private
86 86
 		 * @since  1.0.0
87 87
 		 * @var    AyeCode_UI_Settings There can be only one!
88 88
 		 */
89
-		private static $instance = null;
89
+		    private static $instance = null;
90 90
 
91 91
 
92
-		/**
92
+		    /**
93 93
 		 * Main AyeCode_UI_Settings Instance.
94 94
 		 *
95 95
 		 * Ensures only one instance of AyeCode_UI_Settings is loaded or can be loaded.
@@ -98,34 +98,34 @@  discard block
 block discarded – undo
98 98
 		 * @static
99 99
 		 * @return AyeCode_UI_Settings - Main instance.
100 100
 		 */
101
-		public static function instance() {
102
-			if ( ! isset( self::$instance ) && ! ( self::$instance instanceof AyeCode_UI_Settings ) ) {
101
+		    public static function instance() {
102
+			    if ( ! isset( self::$instance ) && ! ( self::$instance instanceof AyeCode_UI_Settings ) ) {
103 103
 
104
-				self::$instance = new AyeCode_UI_Settings;
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
-					// Maybe show example page
113
-					add_action( 'template_redirect', array( self::$instance,'maybe_show_examples' ) );
112
+					    // Maybe show example page
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 );
117
-					}
118
-				}
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
-		/**
128
+		    /**
129 129
 		 * Add custom colors to the color selector.
130 130
 		 *
131 131
 		 * @param $theme_colors
@@ -134,359 +134,359 @@  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
-			$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
-			}
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 147
 
148
-			return $theme_colors;
149
-		}
148
+			    return $theme_colors;
149
+		    }
150 150
 
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' );
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
-		/**
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 270
 		 * Add admin body class to show when BS5 is active.
271 271
 		 *
272 272
 		 * @param $classes
273 273
 		 *
274 274
 		 * @return mixed
275 275
 		 */
276
-		public function add_bs5_admin_body_class( $classes = '' ) {
277
-			$classes .= ' aui_bs5';
276
+		    public function add_bs5_admin_body_class( $classes = '' ) {
277
+			    $classes .= ' aui_bs5';
278 278
 
279
-			return $classes;
280
-		}
279
+			    return $classes;
280
+		    }
281 281
 
282
-		/**
282
+		    /**
283 283
 		 * Add a body class to show when BS5 is active.
284 284
 		 *
285 285
 		 * @param $classes
286 286
 		 *
287 287
 		 * @return mixed
288 288
 		 */
289
-		public function add_bs5_body_class( $classes ) {
290
-			$classes[] = 'aui_bs5';
289
+		    public function add_bs5_body_class( $classes ) {
290
+			    $classes[] = 'aui_bs5';
291 291
 
292
-			return $classes;
293
-		}
292
+			    return $classes;
293
+		    }
294 294
 
295
-		/**
295
+		    /**
296 296
 		 * Initiate the settings and add the required action hooks.
297 297
 		 */
298
-		public function init() {
299
-            global $aui_bs5;
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
-			}
311
-
312
-			$this->constants();
313
-			$this->settings = $this->get_settings();
314
-			$this->url = $this->get_url();
315
-
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
-			/**
298
+		    public function init() {
299
+                global $aui_bs5;
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
+			    }
311
+
312
+			    $this->constants();
313
+			    $this->settings = $this->get_settings();
314
+			    $this->url = $this->get_url();
315
+
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 326
 			 * Maybe load CSS
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'] ) {
331
-				$priority = $this->is_bs3_compat() ? 100 : 1;
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
-		/**
330
+			    if ( $this->settings['css'] ) {
331
+				    $priority = $this->is_bs3_compat() ? 100 : 1;
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 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>'. wp_kses_post( $message ).'</p></div>';
368
-		}
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>'. wp_kses_post( $message ).'</p></div>';
368
+		    }
369 369
 
370
-		/**
370
+		    /**
371 371
 		 * Check if we should load the admin scripts or not.
372 372
 		 *
373 373
 		 * @return bool
374 374
 		 */
375
-		public function load_admin_scripts(){
376
-			$result = true;
375
+		    public function load_admin_scripts(){
376
+			    $result = true;
377 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
-			}
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 387
 
388
-			return $result;
389
-		}
388
+			    return $result;
389
+		    }
390 390
 
391
-		/**
391
+		    /**
392 392
 		 * Add a html font size to the footer.
393 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
-		}
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 398
 
399
-		/**
399
+		    /**
400 400
 		 * Check if the current admin screen should load scripts.
401 401
 		 *
402 402
 		 * @return bool
403 403
 		 */
404
-		public function is_aui_screen(){
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',
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 );
421
-
422
-				$screen = get_current_screen();
423
-
424
-//				echo '###'.$screen->id;
425
-
426
-				// check if we are on a AUI screen
427
-				if ( $screen && in_array( $screen->id, $screen_ids ) ) {
428
-					$load = true;
429
-				}
430
-
431
-				//load for widget previews in WP 5.8
432
-				if( !empty($_REQUEST['legacy-widget-preview'])){
433
-					$load = true;
434
-				}
435
-			}
436
-
437
-
438
-
439
-			return apply_filters( 'aui_load_on_admin' , $load );
440
-		}
441
-
442
-		/**
404
+		    public function is_aui_screen(){
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',
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 );
421
+
422
+				    $screen = get_current_screen();
423
+
424
+    //				echo '###'.$screen->id;
425
+
426
+				    // check if we are on a AUI screen
427
+				    if ( $screen && in_array( $screen->id, $screen_ids ) ) {
428
+					    $load = true;
429
+				    }
430
+
431
+				    //load for widget previews in WP 5.8
432
+				    if( !empty($_REQUEST['legacy-widget-preview'])){
433
+					    $load = true;
434
+				    }
435
+			    }
436
+
437
+
438
+
439
+			    return apply_filters( 'aui_load_on_admin' , $load );
440
+		    }
441
+
442
+		    /**
443 443
 		 * Check if the current theme is a block theme.
444 444
 		 *
445 445
 		 * @return bool
446 446
 		 */
447
-		public static function is_block_theme() {
448
-			if ( function_exists( 'wp_is_block_theme' && wp_is_block_theme() ) ) {
449
-				return true;
450
-			}
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
-		/**
455
+		    /**
456 456
 		 * Adds the styles.
457 457
 		 */
458
-		public function enqueue_style() {
459
-            global $aui_bs5;
458
+		    public function enqueue_style() {
459
+                global $aui_bs5;
460 460
 
461
-            $load_fse = false;
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';
467
-				$rtl = is_rtl() && ! $aui_bs5 ? '-rtl' : '';
468
-                $bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : '';
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
+				    $rtl = is_rtl() && ! $aui_bs5 ? '-rtl' : '';
468
+                    $bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : '';
469 469
 
470
-				if ( $this->settings[ $css_setting ] ) {
471
-					$compatibility = $this->settings[$css_setting]=='core' ? false : true;
472
-					$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';
470
+				    if ( $this->settings[ $css_setting ] ) {
471
+					    $compatibility = $this->settings[$css_setting]=='core' ? false : true;
472
+					    $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';
473 473
 
474
-					wp_register_style( 'ayecode-ui', $url, array(), $this->version );
475
-					wp_enqueue_style( 'ayecode-ui' );
474
+					    wp_register_style( 'ayecode-ui', $url, array(), $this->version );
475
+					    wp_enqueue_style( 'ayecode-ui' );
476 476
 
477
-					if ( is_admin() && ( !empty($_REQUEST['postType']) || self::is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) )  ) {
478
-						$url = $this->url.'assets'.$bs_ver.'/css/ayecode-ui-fse.css';
479
-						wp_register_style( 'ayecode-ui-fse', $url, array(), $this->version );
480
-						wp_enqueue_style( 'ayecode-ui-fse' );
481
-						$load_fse = true;
482
-					}
477
+					    if ( is_admin() && ( !empty($_REQUEST['postType']) || self::is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) )  ) {
478
+						    $url = $this->url.'assets'.$bs_ver.'/css/ayecode-ui-fse.css';
479
+						    wp_register_style( 'ayecode-ui-fse', $url, array(), $this->version );
480
+						    wp_enqueue_style( 'ayecode-ui-fse' );
481
+						    $load_fse = true;
482
+					    }
483 483
 
484
-					// flatpickr
485
-					wp_register_style( 'flatpickr', $this->url.'assets'.$bs_ver.'/css/flatpickr.min.css', array(), $this->version );
484
+					    // flatpickr
485
+					    wp_register_style( 'flatpickr', $this->url.'assets'.$bs_ver.'/css/flatpickr.min.css', array(), $this->version );
486 486
 
487
-					// fix some wp-admin issues
488
-					if(is_admin()){
489
-						$custom_css = "
487
+					    // fix some wp-admin issues
488
+					    if(is_admin()){
489
+						    $custom_css = "
490 490
                 body{
491 491
                     background-color: #f1f1f1;
492 492
                     font-family: -apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;
@@ -526,84 +526,84 @@  discard block
 block discarded – undo
526 526
 				}
527 527
                 ";
528 528
 
529
-						// @todo, remove once fixed :: fix for this bug https://github.com/WordPress/gutenberg/issues/14377
530
-						$custom_css .= "
529
+						    // @todo, remove once fixed :: fix for this bug https://github.com/WordPress/gutenberg/issues/14377
530
+						    $custom_css .= "
531 531
 						.edit-post-sidebar input[type=color].components-text-control__input{
532 532
 						    padding: 0;
533 533
 						}
534 534
 					";
535
-						wp_add_inline_style( 'ayecode-ui', $custom_css );
536
-					}
537
-
538
-					// custom changes
539
-					if ( $load_fse ) {
540
-						wp_add_inline_style( 'ayecode-ui-fse', self::custom_css($compatibility, true) );
541
-					}else{
542
-						wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) );
543
-					}
544
-				}
545
-			}
546
-		}
547
-
548
-		/**
535
+						    wp_add_inline_style( 'ayecode-ui', $custom_css );
536
+					    }
537
+
538
+					    // custom changes
539
+					    if ( $load_fse ) {
540
+						    wp_add_inline_style( 'ayecode-ui-fse', self::custom_css($compatibility, true) );
541
+					    }else{
542
+						    wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) );
543
+					    }
544
+				    }
545
+			    }
546
+		    }
547
+
548
+		    /**
549 549
 		 * Get inline script used if bootstrap enqueued
550 550
 		 *
551 551
 		 * If this remains small then its best to use this than to add another JS file.
552 552
 		 */
553
-		public function inline_script() {
554
-            global $aui_bs5;
555
-			// Flatpickr calendar locale
556
-			$flatpickr_locale = self::flatpickr_locale();
553
+		    public function inline_script() {
554
+                global $aui_bs5;
555
+			    // Flatpickr calendar locale
556
+			    $flatpickr_locale = self::flatpickr_locale();
557 557
 
558
-			ob_start();
559
-			if ( $aui_bs5 ) {
560
-				include_once( dirname( __FILE__ ) . '/inc/bs5-js.php' );
561
-			}else{
562
-				include_once( dirname( __FILE__ ) . '/inc/bs4-js.php' );
563
-            }
558
+			    ob_start();
559
+			    if ( $aui_bs5 ) {
560
+				    include_once( dirname( __FILE__ ) . '/inc/bs5-js.php' );
561
+			    }else{
562
+				    include_once( dirname( __FILE__ ) . '/inc/bs4-js.php' );
563
+                }
564 564
 
565
-			$output = ob_get_clean();
565
+			    $output = ob_get_clean();
566 566
 
567
-			/*
567
+			    /*
568 568
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
569 569
 			 */
570
-			return str_replace( array(
571
-				'<script>',
572
-				'</script>'
573
-			), '', self::minify_js($output) );
574
-		}
570
+			    return str_replace( array(
571
+				    '<script>',
572
+				    '</script>'
573
+			    ), '', self::minify_js($output) );
574
+		    }
575 575
 
576 576
 
577
-		/**
577
+		    /**
578 578
 		 * JS to help with conflict issues with other plugins and themes using bootstrap v3.
579 579
 		 *
580 580
 		 * @TODO we may need this when other conflicts arrise.
581 581
 		 * @return mixed
582 582
 		 */
583
-		public static function bs3_compat_js() {
584
-			ob_start();
585
-			?>
586
-            <script>
583
+		    public static function bs3_compat_js() {
584
+			    ob_start();
585
+			    ?>
586
+                <script>
587 587
 				<?php if( defined( 'FUSION_BUILDER_VERSION' ) ){ ?>
588
-                /* With Avada builder */
588
+                    /* With Avada builder */
589 589
 
590 590
 				<?php } ?>
591
-            </script>
591
+                </script>
592 592
 			<?php
593
-			return str_replace( array(
594
-				'<script>',
595
-				'</script>'
596
-			), '', ob_get_clean());
597
-		}
593
+			    return str_replace( array(
594
+				    '<script>',
595
+				    '</script>'
596
+			    ), '', ob_get_clean());
597
+		    }
598 598
 
599
-		/**
599
+		    /**
600 600
 		 * Get inline script used if bootstrap file browser enqueued.
601 601
 		 *
602 602
 		 * If this remains small then its best to use this than to add another JS file.
603 603
 		 */
604
-		public function inline_script_file_browser(){
605
-			ob_start();
606
-			?>
604
+		    public function inline_script_file_browser(){
605
+			    ob_start();
606
+			    ?>
607 607
             <script>
608 608
                 // run on doc ready
609 609
                 jQuery(document).ready(function () {
@@ -611,129 +611,129 @@  discard block
 block discarded – undo
611 611
                 });
612 612
             </script>
613 613
 			<?php
614
-			$output = ob_get_clean();
614
+			    $output = ob_get_clean();
615 615
 
616
-			/*
616
+			    /*
617 617
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
618 618
 			 */
619
-			return str_replace( array(
620
-				'<script>',
621
-				'</script>'
622
-			), '', $output );
623
-		}
619
+			    return str_replace( array(
620
+				    '<script>',
621
+				    '</script>'
622
+			    ), '', $output );
623
+		    }
624 624
 
625
-		/**
625
+		    /**
626 626
 		 * Adds the Font Awesome JS.
627 627
 		 */
628
-		public function enqueue_scripts() {
629
-			if( is_admin() && !$this->is_aui_screen()){
630
-				// Don't add wp-admin scripts if not requested to.
631
-			} else {
632
-				$js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend';
633
-
634
-				$bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : '';
635
-
636
-				// select2
637
-				wp_register_script( 'select2', $this->url . 'assets/js/select2.min.js', array( 'jquery' ), $this->select2_version );
638
-
639
-				// flatpickr
640
-				wp_register_script( 'flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->version );
641
-
642
-				// iconpicker
643
-				if ( defined( 'FAS_ICONPICKER_JS_URL' ) ) {
644
-					wp_register_script( 'iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version );
645
-				}else{
646
-					wp_register_script( 'iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version );
647
-				}
648
-
649
-				// Bootstrap file browser
650
-				wp_register_script( 'aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array( 'jquery' ), $this->select2_version );
651
-				wp_add_inline_script( 'aui-custom-file-input', $this->inline_script_file_browser() );
652
-
653
-				$load_inline = false;
654
-
655
-				// Load select2 only when required.
656
-				if ( $this->force_load_select2() ) {
657
-					$dependency = array( 'select2', 'jquery' );
658
-				} else {
659
-					$dependency = array( 'jquery' );
660
-				}
661
-
662
-				if ( $this->settings[ $js_setting ] == 'core-popper' ) {
663
-					// Bootstrap bundle
664
-					$url = $this->url . 'assets' . $bs_ver . '/js/bootstrap.bundle.min.js';
665
-					wp_register_script( 'bootstrap-js-bundle', $url, $dependency, $this->version, $this->is_bs3_compat() );
666
-
667
-					// If in admin then add to footer for compatibility.
668
-					is_admin() ? wp_enqueue_script( 'bootstrap-js-bundle', '', null, null, true ) : wp_enqueue_script( 'bootstrap-js-bundle' );
669
-
670
-					$script = $this->inline_script();
671
-					wp_add_inline_script( 'bootstrap-js-bundle', $script );
672
-				} elseif ( $this->settings[ $js_setting ] == 'popper' ) {
673
-					$url = $this->url . 'assets/js/popper.min.js'; // @todo we need to update this to bs5
674
-					wp_register_script( 'bootstrap-js-popper', $url, $dependency, $this->version );
675
-					wp_enqueue_script( 'bootstrap-js-popper' );
676
-					$load_inline = true;
677
-				} else {
678
-					$load_inline = true;
679
-				}
680
-
681
-				// Load needed inline scripts by faking the loading of a script if the main script is not being loaded
682
-				if ( $load_inline ) {
683
-					wp_register_script( 'bootstrap-dummy', '', $dependency );
684
-					wp_enqueue_script( 'bootstrap-dummy' );
685
-
686
-					$script = $this->inline_script();
687
-					wp_add_inline_script( 'bootstrap-dummy', $script );
688
-				}
689
-			}
690
-		}
691
-
692
-		/**
628
+		    public function enqueue_scripts() {
629
+			    if( is_admin() && !$this->is_aui_screen()){
630
+				    // Don't add wp-admin scripts if not requested to.
631
+			    } else {
632
+				    $js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend';
633
+
634
+				    $bs_ver = $this->settings['bs_ver'] == '5' ? '-v5' : '';
635
+
636
+				    // select2
637
+				    wp_register_script( 'select2', $this->url . 'assets/js/select2.min.js', array( 'jquery' ), $this->select2_version );
638
+
639
+				    // flatpickr
640
+				    wp_register_script( 'flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->version );
641
+
642
+				    // iconpicker
643
+				    if ( defined( 'FAS_ICONPICKER_JS_URL' ) ) {
644
+					    wp_register_script( 'iconpicker', FAS_ICONPICKER_JS_URL, array(), $this->version );
645
+				    }else{
646
+					    wp_register_script( 'iconpicker', $this->url . 'assets/js/fa-iconpicker.min.js', array(), $this->version );
647
+				    }
648
+
649
+				    // Bootstrap file browser
650
+				    wp_register_script( 'aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array( 'jquery' ), $this->select2_version );
651
+				    wp_add_inline_script( 'aui-custom-file-input', $this->inline_script_file_browser() );
652
+
653
+				    $load_inline = false;
654
+
655
+				    // Load select2 only when required.
656
+				    if ( $this->force_load_select2() ) {
657
+					    $dependency = array( 'select2', 'jquery' );
658
+				    } else {
659
+					    $dependency = array( 'jquery' );
660
+				    }
661
+
662
+				    if ( $this->settings[ $js_setting ] == 'core-popper' ) {
663
+					    // Bootstrap bundle
664
+					    $url = $this->url . 'assets' . $bs_ver . '/js/bootstrap.bundle.min.js';
665
+					    wp_register_script( 'bootstrap-js-bundle', $url, $dependency, $this->version, $this->is_bs3_compat() );
666
+
667
+					    // If in admin then add to footer for compatibility.
668
+					    is_admin() ? wp_enqueue_script( 'bootstrap-js-bundle', '', null, null, true ) : wp_enqueue_script( 'bootstrap-js-bundle' );
669
+
670
+					    $script = $this->inline_script();
671
+					    wp_add_inline_script( 'bootstrap-js-bundle', $script );
672
+				    } elseif ( $this->settings[ $js_setting ] == 'popper' ) {
673
+					    $url = $this->url . 'assets/js/popper.min.js'; // @todo we need to update this to bs5
674
+					    wp_register_script( 'bootstrap-js-popper', $url, $dependency, $this->version );
675
+					    wp_enqueue_script( 'bootstrap-js-popper' );
676
+					    $load_inline = true;
677
+				    } else {
678
+					    $load_inline = true;
679
+				    }
680
+
681
+				    // Load needed inline scripts by faking the loading of a script if the main script is not being loaded
682
+				    if ( $load_inline ) {
683
+					    wp_register_script( 'bootstrap-dummy', '', $dependency );
684
+					    wp_enqueue_script( 'bootstrap-dummy' );
685
+
686
+					    $script = $this->inline_script();
687
+					    wp_add_inline_script( 'bootstrap-dummy', $script );
688
+				    }
689
+			    }
690
+		    }
691
+
692
+		    /**
693 693
 		 * Enqueue select2 if called.
694 694
 		 *
695 695
 		 * @since 0.2.29
696 696
 		 */
697
-		public function force_load_select2() {
698
-			global $aui_select2_enqueued;
697
+		    public function force_load_select2() {
698
+			    global $aui_select2_enqueued;
699 699
 
700
-			$conditional_select2 = apply_filters( 'aui_is_conditional_select2', true );
700
+			    $conditional_select2 = apply_filters( 'aui_is_conditional_select2', true );
701 701
 
702
-			if ( $conditional_select2 !== true ) {
703
-				return true;
704
-			}
702
+			    if ( $conditional_select2 !== true ) {
703
+				    return true;
704
+			    }
705 705
 
706
-			$load = is_admin() && ! $aui_select2_enqueued;
706
+			    $load = is_admin() && ! $aui_select2_enqueued;
707 707
 
708
-			return apply_filters( 'aui_force_load_select2', $load );
709
-		}
708
+			    return apply_filters( 'aui_force_load_select2', $load );
709
+		    }
710 710
 
711
-		/**
711
+		    /**
712 712
 		 * Enqueue select2 if called.
713 713
 		 *
714 714
 		 * @since 0.2.29
715 715
 		 */
716
-		public function enqueue_select2() {
717
-			wp_enqueue_script( 'select2' );
718
-		}
716
+		    public function enqueue_select2() {
717
+			    wp_enqueue_script( 'select2' );
718
+		    }
719 719
 
720
-		/**
720
+		    /**
721 721
 		 * Enqueue flatpickr if called.
722 722
 		 */
723
-		public function enqueue_flatpickr(){
724
-			wp_enqueue_style( 'flatpickr' );
725
-			wp_enqueue_script( 'flatpickr' );
726
-		}
723
+		    public function enqueue_flatpickr(){
724
+			    wp_enqueue_style( 'flatpickr' );
725
+			    wp_enqueue_script( 'flatpickr' );
726
+		    }
727 727
 
728
-		/**
728
+		    /**
729 729
 		 * Enqueue iconpicker if called.
730 730
 		 */
731
-		public function enqueue_iconpicker(){
732
-			wp_enqueue_style( 'iconpicker' );
733
-			wp_enqueue_script( 'iconpicker' );
734
-		}
731
+		    public function enqueue_iconpicker(){
732
+			    wp_enqueue_style( 'iconpicker' );
733
+			    wp_enqueue_script( 'iconpicker' );
734
+		    }
735 735
 
736
-        /**
736
+            /**
737 737
          * Get the url path to the current folder.
738 738
          *
739 739
          * This can be called very early, hence the need for the dynamic way of getting the URL.
@@ -741,193 +741,193 @@  discard block
 block discarded – undo
741 741
          * @since 0.2.31 changed to support edge cases like bitnami containers.
742 742
          * @return string
743 743
          */
744
-        public function get_url() {
745
-            $content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) );
746
-            $content_url = untrailingslashit( WP_CONTENT_URL );
744
+            public function get_url() {
745
+                $content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) );
746
+                $content_url = untrailingslashit( WP_CONTENT_URL );
747 747
 
748
-            // maybe Replace http:// to https://.
749
-            if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) {
750
-                $content_url = str_replace( 'http://', 'https://', $content_url );
751
-            }
748
+                // maybe Replace http:// to https://.
749
+                if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) {
750
+                    $content_url = str_replace( 'http://', 'https://', $content_url );
751
+                }
752 752
 
753
-            // First find where in the path our content directory starts
754
-            $content_basename = basename($content_dir);
755
-            $file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) );
753
+                // First find where in the path our content directory starts
754
+                $content_basename = basename($content_dir);
755
+                $file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) );
756 756
 
757
-            // Find the relative path by matching from content directory name
758
-            $after_content = substr($file_dir, strpos($file_dir, '/' . $content_basename . '/') + strlen('/' . $content_basename . '/'));
757
+                // Find the relative path by matching from content directory name
758
+                $after_content = substr($file_dir, strpos($file_dir, '/' . $content_basename . '/') + strlen('/' . $content_basename . '/'));
759 759
 
760
-            // Build URL using WP_CONTENT_URL and the relative path
761
-            $url = trailingslashit($content_url) . $after_content;
760
+                // Build URL using WP_CONTENT_URL and the relative path
761
+                $url = trailingslashit($content_url) . $after_content;
762 762
 
763
-            return trailingslashit($url);
764
-        }
763
+                return trailingslashit($url);
764
+            }
765 765
 
766
-		/**
766
+		    /**
767 767
 		 * Get the url path to the current folder.
768 768
 		 * @todo remove
769 769
 		 * @return string
770 770
 		 */
771
-		public function get_url_old() {
771
+		    public function get_url_old() {
772 772
 
773
-			$url = '';
774
-			// check if we are inside a plugin
775
-			$file_dir = str_replace( "/includes","", wp_normalize_path( dirname( __FILE__ ) ) );
773
+			    $url = '';
774
+			    // check if we are inside a plugin
775
+			    $file_dir = str_replace( "/includes","", wp_normalize_path( dirname( __FILE__ ) ) );
776 776
 
777
-			// add check in-case user has changed wp-content dir name.
778
-			$wp_content_folder_name = basename(WP_CONTENT_DIR);
779
-			$dir_parts = explode("/$wp_content_folder_name/",$file_dir);
780
-			$url_parts = explode("/$wp_content_folder_name/",plugins_url());
777
+			    // add check in-case user has changed wp-content dir name.
778
+			    $wp_content_folder_name = basename(WP_CONTENT_DIR);
779
+			    $dir_parts = explode("/$wp_content_folder_name/",$file_dir);
780
+			    $url_parts = explode("/$wp_content_folder_name/",plugins_url());
781 781
 
782
-			if(!empty($url_parts[0]) && !empty($dir_parts[1])){
783
-				$url = trailingslashit( $url_parts[0]."/$wp_content_folder_name/".$dir_parts[1] );
784
-			}
782
+			    if(!empty($url_parts[0]) && !empty($dir_parts[1])){
783
+				    $url = trailingslashit( $url_parts[0]."/$wp_content_folder_name/".$dir_parts[1] );
784
+			    }
785 785
 
786
-			return $url;
787
-		}
786
+			    return $url;
787
+		    }
788 788
 
789
-		/**
789
+		    /**
790 790
 		 * Register the database settings with WordPress.
791 791
 		 */
792
-		public function register_settings() {
793
-			register_setting( 'ayecode-ui-settings', 'ayecode-ui-settings' );
794
-		}
792
+		    public function register_settings() {
793
+			    register_setting( 'ayecode-ui-settings', 'ayecode-ui-settings' );
794
+		    }
795 795
 
796
-		/**
796
+		    /**
797 797
 		 * Add the WordPress settings menu item.
798 798
 		 * @since 1.0.10 Calling function name direct will fail theme check so we don't.
799 799
 		 */
800
-		public function menu_item() {
801
-			$menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
802
-			call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array(
803
-				$this,
804
-				'settings_page'
805
-			) );
806
-		}
800
+		    public function menu_item() {
801
+			    $menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
802
+			    call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array(
803
+				    $this,
804
+				    'settings_page'
805
+			    ) );
806
+		    }
807 807
 
808
-		/**
808
+		    /**
809 809
 		 * Get a list of themes and their default JS settings.
810 810
 		 *
811 811
 		 * @return array
812 812
 		 */
813
-		public function theme_js_settings(){
814
-			return array(
815
-				'ayetheme' => 'popper',
816
-				'listimia' => 'required',
817
-				'listimia_backend' => 'core-popper',
818
-				//'avada'    => 'required', // removed as we now add compatibility
819
-			);
820
-		}
813
+		    public function theme_js_settings(){
814
+			    return array(
815
+				    'ayetheme' => 'popper',
816
+				    'listimia' => 'required',
817
+				    'listimia_backend' => 'core-popper',
818
+				    //'avada'    => 'required', // removed as we now add compatibility
819
+			    );
820
+		    }
821 821
 
822
-		/**
822
+		    /**
823 823
          * Get the date the site was installed.
824 824
          *
825 825
 		 * @return false|string
826 826
 		 */
827
-        public function get_site_install_date() {
828
-	        global $wpdb; // This gives you access to the WordPress database object
827
+            public function get_site_install_date() {
828
+	            global $wpdb; // This gives you access to the WordPress database object
829 829
 
830
-	        // Prepare the SQL query to get the oldest registration date
831
-	        $query = "SELECT MIN(user_registered) AS oldest_registration_date FROM {$wpdb->users}";
830
+	            // Prepare the SQL query to get the oldest registration date
831
+	            $query = "SELECT MIN(user_registered) AS oldest_registration_date FROM {$wpdb->users}";
832 832
 
833
-	        // Execute the query
834
-	        $date = $wpdb->get_var( $query ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
833
+	            // Execute the query
834
+	            $date = $wpdb->get_var( $query ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
835 835
 
836
-	        return $date ? $date : false;
837
-        }
836
+	            return $date ? $date : false;
837
+            }
838 838
 
839
-		/**
839
+		    /**
840 840
 		 * Show admin notice if backend scripts not loaded.
841 841
 		 */
842
-		public function show_admin_version_notice(){
843
-			$fix_url = admin_url("options-general.php?page=ayecode-ui-settings" );
844
-			$button = '<a href="'.esc_url($fix_url).'" class="button-primary">View Settings</a>';
845
-			$message = __( '<b>Style Issue:</b> AyeCode UI has changed its default version from v4 to v5, if you notice unwanted style changes, please revert to v4 (saving the settings page will remove this notice)')." " .$button;
846
-			echo '<div class="notice notice-error aui-settings-error-notice"><p>'. wp_kses_post( $message ).'</p></div>';
847
-		}
842
+		    public function show_admin_version_notice(){
843
+			    $fix_url = admin_url("options-general.php?page=ayecode-ui-settings" );
844
+			    $button = '<a href="'.esc_url($fix_url).'" class="button-primary">View Settings</a>';
845
+			    $message = __( '<b>Style Issue:</b> AyeCode UI has changed its default version from v4 to v5, if you notice unwanted style changes, please revert to v4 (saving the settings page will remove this notice)')." " .$button;
846
+			    echo '<div class="notice notice-error aui-settings-error-notice"><p>'. wp_kses_post( $message ).'</p></div>';
847
+		    }
848 848
 
849
-		/**
849
+		    /**
850 850
 		 * Get the current Font Awesome output settings.
851 851
 		 *
852 852
 		 * @return array The array of settings.
853 853
 		 */
854
-		public function get_settings() {
854
+		    public function get_settings() {
855 855
 
856
-			$db_settings = get_option( 'ayecode-ui-settings' );
856
+			    $db_settings = get_option( 'ayecode-ui-settings' );
857 857
 
858
-            // Maybe show default version notice
859
-			$site_install_date = new DateTime( self::get_site_install_date() );
860
-			$switch_over_date = new DateTime("2024-02-01");
861
-			if ( empty( $db_settings ) && $site_install_date < $switch_over_date ) {
862
-				add_action( 'admin_notices', array( $this, 'show_admin_version_notice' ) );
863
-			}
858
+                // Maybe show default version notice
859
+			    $site_install_date = new DateTime( self::get_site_install_date() );
860
+			    $switch_over_date = new DateTime("2024-02-01");
861
+			    if ( empty( $db_settings ) && $site_install_date < $switch_over_date ) {
862
+				    add_action( 'admin_notices', array( $this, 'show_admin_version_notice' ) );
863
+			    }
864 864
 
865
-			$js_default = 'core-popper';
866
-			$js_default_backend = $js_default;
865
+			    $js_default = 'core-popper';
866
+			    $js_default_backend = $js_default;
867 867
 
868
-			// maybe set defaults (if no settings set)
869
-			if(empty($db_settings)){
870
-				$active_theme = strtolower( get_template() ); // active parent theme.
871
-				$theme_js_settings = self::theme_js_settings();
872
-				if(isset($theme_js_settings[$active_theme])){
873
-					$js_default = $theme_js_settings[$active_theme];
874
-					$js_default_backend = isset($theme_js_settings[$active_theme."_backend"]) ? $theme_js_settings[$active_theme."_backend"] : $js_default;
875
-				}
876
-			}
868
+			    // maybe set defaults (if no settings set)
869
+			    if(empty($db_settings)){
870
+				    $active_theme = strtolower( get_template() ); // active parent theme.
871
+				    $theme_js_settings = self::theme_js_settings();
872
+				    if(isset($theme_js_settings[$active_theme])){
873
+					    $js_default = $theme_js_settings[$active_theme];
874
+					    $js_default_backend = isset($theme_js_settings[$active_theme."_backend"]) ? $theme_js_settings[$active_theme."_backend"] : $js_default;
875
+				    }
876
+			    }
877 877
 
878
-			/**
878
+			    /**
879 879
 			 * Filter the default settings.
880 880
 			 */
881
-			$defaults = apply_filters( 'ayecode-ui-default-settings', array(
882
-				'css'            => 'compatibility', // core, compatibility
883
-				'js'             => $js_default, // js to load, core-popper, popper
884
-				'html_font_size' => '16', // js to load, core-popper, popper
885
-				'css_backend'    => 'compatibility', // core, compatibility
886
-				'js_backend'     => $js_default_backend, // js to load, core-popper, popper
887
-				'disable_admin'  => '', // URL snippets to disable loading on admin
888
-                'bs_ver'         => '5', // The default bootstrap version to sue by default
889
-			), $db_settings );
890
-
891
-			$settings = wp_parse_args( $db_settings, $defaults );
892
-
893
-			/**
881
+			    $defaults = apply_filters( 'ayecode-ui-default-settings', array(
882
+				    'css'            => 'compatibility', // core, compatibility
883
+				    'js'             => $js_default, // js to load, core-popper, popper
884
+				    'html_font_size' => '16', // js to load, core-popper, popper
885
+				    'css_backend'    => 'compatibility', // core, compatibility
886
+				    'js_backend'     => $js_default_backend, // js to load, core-popper, popper
887
+				    'disable_admin'  => '', // URL snippets to disable loading on admin
888
+                    'bs_ver'         => '5', // The default bootstrap version to sue by default
889
+			    ), $db_settings );
890
+
891
+			    $settings = wp_parse_args( $db_settings, $defaults );
892
+
893
+			    /**
894 894
 			 * Filter the Bootstrap settings.
895 895
 			 *
896 896
 			 * @todo if we add this filer people might use it and then it defeats the purpose of this class :/
897 897
 			 */
898
-			return $this->settings = apply_filters( 'ayecode-ui-settings', $settings, $db_settings, $defaults );
899
-		}
898
+			    return $this->settings = apply_filters( 'ayecode-ui-settings', $settings, $db_settings, $defaults );
899
+		    }
900 900
 
901 901
 
902
-		/**
902
+		    /**
903 903
 		 * The settings page html output.
904 904
 		 */
905
-		public function settings_page() {
906
-			if ( ! current_user_can( 'manage_options' ) ) {
907
-				wp_die( esc_attr__( 'You do not have sufficient permissions to access this page.', 'ayecode-connect' ) );
908
-			}
909
-            $overrides = apply_filters( 'ayecode-ui-settings', array(), array(), array() );
905
+		    public function settings_page() {
906
+			    if ( ! current_user_can( 'manage_options' ) ) {
907
+				    wp_die( esc_attr__( 'You do not have sufficient permissions to access this page.', 'ayecode-connect' ) );
908
+			    }
909
+                $overrides = apply_filters( 'ayecode-ui-settings', array(), array(), array() );
910 910
 
911
-			?>
911
+			    ?>
912 912
             <div class="wrap">
913 913
                 <h1><?php echo esc_attr( $this->name ); ?></h1>
914 914
                 <p><?php echo esc_html( apply_filters( 'ayecode-ui-settings-message', __("Here you can adjust settings if you are having compatibility issues.", 'ayecode-connect' ) ) );?></p>
915 915
                 <form method="post" action="options.php">
916 916
 					<?php
917
-					settings_fields( 'ayecode-ui-settings' );
918
-					do_settings_sections( 'ayecode-ui-settings' );
919
-					?>
917
+					    settings_fields( 'ayecode-ui-settings' );
918
+					    do_settings_sections( 'ayecode-ui-settings' );
919
+					    ?>
920 920
 
921 921
                     <h2><?php esc_html_e( 'BootStrap Version', 'ayecode-connect' ); ?></h2>
922 922
                     <p><?php echo esc_html( 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.", 'ayecode-connect' ) ) );?></p>
923 923
 	                <div class="bsui"><?php
924
-	                if ( ! empty( $overrides ) ) {
925
-		                echo aui()->alert(array( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
926
-			                'type'=> 'info',
927
-			                'content'=> esc_attr__("Some options are disabled as your current theme is overriding them.", 'ayecode-connect' )
928
-		                ));
929
-	                }
930
-	                ?>
924
+	                    if ( ! empty( $overrides ) ) {
925
+		                    echo aui()->alert(array( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
926
+			                    'type'=> 'info',
927
+			                    'content'=> esc_attr__("Some options are disabled as your current theme is overriding them.", 'ayecode-connect' )
928
+		                    ));
929
+	                    }
930
+	                    ?>
931 931
                     </div>
932 932
                     <table class="form-table wpbs-table-version-settings">
933 933
                         <tr valign="top">
@@ -1011,77 +1011,77 @@  discard block
 block discarded – undo
1011 1011
                     </table>
1012 1012
 
1013 1013
 					<?php
1014
-					submit_button();
1015
-					?>
1014
+					    submit_button();
1015
+					    ?>
1016 1016
                 </form>
1017 1017
                 <div id="wpbs-version" data-aui-source="<?php echo esc_attr( $this->get_load_source() ); ?>"><?php echo esc_html( $this->version ); ?></div>
1018 1018
             </div>
1019 1019
 			<?php
1020
-		}
1021
-
1022
-        public function get_load_source(){
1023
-	        $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
1024
-	        $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
1025
-
1026
-	        // Find source plugin/theme of SD
1027
-	        $source = array();
1028
-	        if ( strpos( $file, $plugins_dir ) !== false ) {
1029
-		        $source = explode( "/", plugin_basename( $file ) );
1030
-	        } else if ( function_exists( 'get_theme_root' ) ) {
1031
-		        $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
1032
-
1033
-		        if ( strpos( $file, $themes_dir ) !== false ) {
1034
-			        $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
1035
-		        }
1036
-	        }
1037
-
1038
-            return isset($source[0]) ? esc_attr($source[0]) : '';
1039
-        }
1040
-
1041
-		public function customizer_settings($wp_customize){
1042
-			$wp_customize->add_section('aui_settings', array(
1043
-				'title'    => __('AyeCode UI', 'ayecode-connect' ),
1044
-				'priority' => 120,
1045
-			));
1046
-
1047
-			//  =============================
1048
-			//  = Color Picker              =
1049
-			//  =============================
1050
-			$wp_customize->add_setting('aui_options[color_primary]', array(
1051
-				'default'           => AUI_PRIMARY_COLOR,
1052
-				'sanitize_callback' => 'sanitize_hex_color',
1053
-				'capability'        => 'edit_theme_options',
1054
-				'type'              => 'option',
1055
-				'transport'         => 'refresh',
1056
-			));
1057
-			$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_primary', array(
1058
-				'label'    => __('Primary Color', 'ayecode-connect' ),
1059
-				'section'  => 'aui_settings',
1060
-				'settings' => 'aui_options[color_primary]',
1061
-			)));
1062
-
1063
-			$wp_customize->add_setting('aui_options[color_secondary]', array(
1064
-				'default'           => '#6c757d',
1065
-				'sanitize_callback' => 'sanitize_hex_color',
1066
-				'capability'        => 'edit_theme_options',
1067
-				'type'              => 'option',
1068
-				'transport'         => 'refresh',
1069
-			));
1070
-			$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_secondary', array(
1071
-				'label'    => __('Secondary Color', 'ayecode-connect' ),
1072
-				'section'  => 'aui_settings',
1073
-				'settings' => 'aui_options[color_secondary]',
1074
-			)));
1075
-		}
1076
-
1077
-		/**
1020
+		    }
1021
+
1022
+            public function get_load_source(){
1023
+	            $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
1024
+	            $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
1025
+
1026
+	            // Find source plugin/theme of SD
1027
+	            $source = array();
1028
+	            if ( strpos( $file, $plugins_dir ) !== false ) {
1029
+		            $source = explode( "/", plugin_basename( $file ) );
1030
+	            } else if ( function_exists( 'get_theme_root' ) ) {
1031
+		            $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
1032
+
1033
+		            if ( strpos( $file, $themes_dir ) !== false ) {
1034
+			            $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
1035
+		            }
1036
+	            }
1037
+
1038
+                return isset($source[0]) ? esc_attr($source[0]) : '';
1039
+            }
1040
+
1041
+		    public function customizer_settings($wp_customize){
1042
+			    $wp_customize->add_section('aui_settings', array(
1043
+				    'title'    => __('AyeCode UI', 'ayecode-connect' ),
1044
+				    'priority' => 120,
1045
+			    ));
1046
+
1047
+			    //  =============================
1048
+			    //  = Color Picker              =
1049
+			    //  =============================
1050
+			    $wp_customize->add_setting('aui_options[color_primary]', array(
1051
+				    'default'           => AUI_PRIMARY_COLOR,
1052
+				    'sanitize_callback' => 'sanitize_hex_color',
1053
+				    'capability'        => 'edit_theme_options',
1054
+				    'type'              => 'option',
1055
+				    'transport'         => 'refresh',
1056
+			    ));
1057
+			    $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_primary', array(
1058
+				    'label'    => __('Primary Color', 'ayecode-connect' ),
1059
+				    'section'  => 'aui_settings',
1060
+				    'settings' => 'aui_options[color_primary]',
1061
+			    )));
1062
+
1063
+			    $wp_customize->add_setting('aui_options[color_secondary]', array(
1064
+				    'default'           => '#6c757d',
1065
+				    'sanitize_callback' => 'sanitize_hex_color',
1066
+				    'capability'        => 'edit_theme_options',
1067
+				    'type'              => 'option',
1068
+				    'transport'         => 'refresh',
1069
+			    ));
1070
+			    $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_secondary', array(
1071
+				    'label'    => __('Secondary Color', 'ayecode-connect' ),
1072
+				    'section'  => 'aui_settings',
1073
+				    'settings' => 'aui_options[color_secondary]',
1074
+			    )));
1075
+		    }
1076
+
1077
+		    /**
1078 1078
 		 * CSS to help with conflict issues with other plugins and themes using bootstrap v3.
1079 1079
 		 *
1080 1080
 		 * @return mixed
1081 1081
 		 */
1082
-		public static function bs3_compat_css() {
1083
-			ob_start();
1084
-			?>
1082
+		    public static function bs3_compat_css() {
1083
+			    ob_start();
1084
+			    ?>
1085 1085
             <style>
1086 1086
                 /* Bootstrap 3 compatibility */
1087 1087
                 body.modal-open .modal-backdrop.show:not(.in) {opacity:0.5;}
@@ -1098,7 +1098,7 @@  discard block
 block discarded – undo
1098 1098
                 /* KLEO theme specific */
1099 1099
                 .kleo-main-header .navbar-collapse.collapse.show:not(.in){display: block !important;}
1100 1100
                 <?php } ?>
1101
-
1101
+    
1102 1102
                 <?php if( defined( 'FUSION_BUILDER_VERSION' ) ){ ?>
1103 1103
                 /* With Avada builder */
1104 1104
                 body.modal-open .modal.in  {opacity:1;z-index: 99999}
@@ -1108,248 +1108,248 @@  discard block
 block discarded – undo
1108 1108
                 .bsui .collapse.in.row:not(.show){display: none;}
1109 1109
 
1110 1110
                 <?php } ?>
1111
-            </style>
1111
+                </style>
1112 1112
 			<?php
1113
-			return str_replace( array(
1114
-				'<style>',
1115
-				'</style>'
1116
-			), '', self::minify_css( ob_get_clean() ) );
1117
-		}
1118
-
1119
-		public static function custom_css( $compatibility = true, $is_fse = false ) {
1120
-			global $aui_bs5;
1121
-
1122
-			$colors = array();
1123
-
1124
-			if ( defined( 'BLOCKSTRAP_VERSION' ) ) {
1125
-				$setting = wp_get_global_settings();
1126
-
1127
-				if ( ! empty( $setting['color']['palette']['theme'] ) ) {
1128
-					foreach ( $setting['color']['palette']['theme'] as $color ) {
1129
-						$colors[$color['slug']] = esc_attr( $color['color'] );
1130
-					}
1131
-				}
1132
-
1133
-				if ( ! empty( $setting['color']['palette']['custom'] ) ) {
1134
-					foreach ( $setting['color']['palette']['custom'] as $color ) {
1135
-						$colors[$color['slug']] = esc_attr( $color['color'] );
1136
-					}
1137
-				}
1138
-			} else {
1139
-				$settings = get_option( 'aui_options' );
1140
-
1141
-				$colors = array(
1142
-					'primary'   => ! empty( $settings['color_primary'] ) ? $settings['color_primary'] : AUI_PRIMARY_COLOR,
1143
-					'secondary' => ! empty( $settings['color_secondary'] ) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR
1144
-				);
1145
-			}
1146
-
1147
-			ob_start();
1148
-			?><style><?php
1149
-			// BS v3 compat
1150
-			if( self::is_bs3_compat() ){
1151
-				echo self::bs3_compat_css(); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1152
-			}
1153
-
1154
-			//$is_fse = false;
1155
-			//if ( is_admin() && ( !empty($_REQUEST['postType']) || self::is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) )  ) {
1156
-				//$is_fse = true;
1157
-			//}
1158
-
1159
-			$custom_front = ! is_admin() ? true : apply_filters('ayecode_ui_custom_front', false );
1160
-			$custom_admin = $is_fse || self::is_preview() ? true : apply_filters('ayecode_ui_custom_admin', false );
1161
-            $bs_custom_css = apply_filters( 'ayecode_ui_bs_custom_css', $custom_admin || $custom_front );
1162
-			//$bs_custom_css = true; // Force true to fix any color issue.
1163
-
1164
-			$colors_css = '';
1165
-			if ( ! empty( $colors ) && $bs_custom_css ) {
1166
-				$d_colors = self::get_colors(true);
1167
-
1168
-				foreach ( $colors as $key => $color ) {
1169
-					if ( ( empty( $d_colors[$key]) || $d_colors[$key] != $color) || $is_fse ) {
1170
-						$var = $is_fse ? "var(--wp--preset--color--$key)" : $color;
1171
-						$compat = $is_fse ? '.editor-styles-wrapper' : $compatibility;
1172
-
1173
-						$colors_css .= $aui_bs5 ? self::css_overwrite_bs5( $key,$var, $compat, $color ) : self::css_overwrite( $key, $var, $compat, $color );
1174
-					}
1175
-				}
1176
-			}
1177
-
1178
-			if ( $colors_css ) {
1179
-				echo $colors_css; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1180
-			}
1181
-
1182
-			// Set admin bar z-index lower when modal is open.
1183
-			echo ' body.modal-open #wpadminbar{z-index:999}.embed-responsive-16by9 .fluid-width-video-wrapper{padding:0 !important;position:initial}';
1184
-
1185
-			if ( is_admin() ) {
1186
-				echo ' body.modal-open #adminmenuwrap{z-index:999} body.modal-open #wpadminbar{z-index:1025}';
1187
-			}
1188
-
1189
-			$custom_css = '';
1190
-
1191
-			if ( $aui_bs5 && defined( 'BLOCKSTRAP_VERSION' ) && $bs_custom_css ) {
1192
-				$css = '';
1193
-				$theme_settings = wp_get_global_styles();
1194
-
1195
-				// Font face
1196
-				if( !empty( $theme_settings['typography']['fontFamily'] ) ){
1197
-					$t_fontface = str_replace( array('var:preset|','font-family|'), array('--wp--preset--','font-family--'), $theme_settings['typography']['fontFamily']  ); //var(--wp--preset--font-family--poppins)
1198
-					$css .= '--bs-body-font-family: ' . esc_attr($t_fontface) . ';';
1199
-				}
1200
-
1201
-				// font size
1202
-				if( !empty( $theme_settings['typography']['fontSize'] ) ){
1203
-					$css .= '--bs-body-font-size: ' . esc_attr( $theme_settings['typography']['fontSize'] ) . ' ;';
1204
-				}
1205
-
1206
-				// line height
1207
-				 if( !empty( $theme_settings['typography']['lineHeight'] ) ){
1208
-					$css .= '--bs-body-line-height: ' . esc_attr( $theme_settings['typography']['lineHeight'] ) . ';';
1209
-				}
1210
-
1211
-
1212
-				   // font weight
1213
-				 if( !empty( $theme_settings['typography']['fontWeight'] ) ){
1214
-					$css .= '--bs-body-font-weight: ' . esc_attr( $theme_settings['typography']['fontWeight'] ) . ';';
1215
-				}
1216
-
1217
-				// Background
1218
-				 if( !empty( $theme_settings['color']['background'] ) ){
1219
-					$css .= '--bs-body-bg: ' . esc_attr( $theme_settings['color']['background'] ) . ';';
1220
-				}
1221
-
1222
-				 // Background Gradient
1223
-				 if( !empty( $theme_settings['color']['gradient'] ) ){
1224
-					$css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';';
1225
-				}
1226
-
1227
-				   // Background Gradient
1228
-				 if( !empty( $theme_settings['color']['gradient'] ) ){
1229
-					$css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';';
1230
-				}
1231
-
1232
-				// text color
1233
-				if( !empty( $theme_settings['color']['text'] ) ){
1234
-					$css .= '--bs-body-color: ' . esc_attr( $theme_settings['color']['text'] ) . ';';
1235
-				}
1236
-
1237
-
1238
-				// link colors
1239
-				if( !empty( $theme_settings['elements']['link']['color']['text'] ) ){
1240
-					$css .= '--bs-link-color: ' . esc_attr( $theme_settings['elements']['link']['color']['text'] ) . ';';
1241
-				}
1242
-				if( !empty( $theme_settings['elements']['link'][':hover']['color']['text'] ) ){
1243
-					$css .= '--bs-link-hover-color: ' . esc_attr( $theme_settings['elements']['link'][':hover']['color']['text'] ) . ';';
1244
-				}
1245
-
1246
-				if($css){
1247
-					$custom_css .= $is_fse ? 'body.editor-styles-wrapper{' . esc_attr( $css ) . '}' : 'body{' . esc_attr( $css ) . '}';
1248
-				}
1249
-
1250
-				$bep = $is_fse ? 'body.editor-styles-wrapper ' : '';
1251
-
1252
-				// Headings
1253
-				$headings_css = '';
1254
-				if( !empty( $theme_settings['elements']['heading']['color']['text'] ) ){
1255
-					$headings_css .= "color: " . esc_attr( $theme_settings['elements']['heading']['color']['text'] ) . ";";
1256
-				}
1257
-
1258
-				// heading background
1259
-				if( !empty( $theme_settings['elements']['heading']['color']['background'] ) ){
1260
-					$headings_css .= 'background: ' . esc_attr( $theme_settings['elements']['heading']['color']['background'] ) . ';';
1261
-				}
1262
-
1263
-				 // heading font family
1264
-				if( !empty( $theme_settings['elements']['heading']['typography']['fontFamily'] ) ){
1265
-					$headings_css .= 'font-family: ' . esc_attr( $theme_settings['elements']['heading']['typography']['fontFamily']  ) . ';';
1266
-				}
1267
-
1268
-				if( $headings_css ){
1269
-					$custom_css .= "$bep h1,$bep h2,$bep h3, $bep h4,$bep h5,$bep h6{ " . esc_attr( $headings_css ) . "}";
1270
-				}
1271
-
1272
-				$hs = array('h1','h2','h3','h4','h5','h6');
1273
-
1274
-				foreach($hs as $hn){
1275
-					$h_css = '';
1276
-					 if( !empty( $theme_settings['elements'][$hn]['color']['text'] ) ){
1277
-						$h_css .= 'color: ' . esc_attr( $theme_settings['elements'][$hn]['color']['text'] ) . ';';
1278
-					 }
1279
-
1280
-					  if( !empty( $theme_settings['elements'][$hn]['typography']['fontSize'] ) ){
1281
-						$h_css .= 'font-size: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontSize']  ) . ';';
1282
-					 }
1283
-
1284
-					  if( !empty( $theme_settings['elements'][$hn]['typography']['fontFamily'] ) ){
1285
-						$h_css .= 'font-family: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontFamily']  ) . ';';
1286
-					 }
1287
-
1288
-					 if($h_css){
1289
-						$custom_css .= esc_attr( $bep  . $hn ) . '{'.esc_attr( $h_css ).'}';
1290
-					 }
1291
-				}
1292
-			}
1113
+			    return str_replace( array(
1114
+				    '<style>',
1115
+				    '</style>'
1116
+			    ), '', self::minify_css( ob_get_clean() ) );
1117
+		    }
1118
+
1119
+		    public static function custom_css( $compatibility = true, $is_fse = false ) {
1120
+			    global $aui_bs5;
1121
+
1122
+			    $colors = array();
1123
+
1124
+			    if ( defined( 'BLOCKSTRAP_VERSION' ) ) {
1125
+				    $setting = wp_get_global_settings();
1126
+
1127
+				    if ( ! empty( $setting['color']['palette']['theme'] ) ) {
1128
+					    foreach ( $setting['color']['palette']['theme'] as $color ) {
1129
+						    $colors[$color['slug']] = esc_attr( $color['color'] );
1130
+					    }
1131
+				    }
1132
+
1133
+				    if ( ! empty( $setting['color']['palette']['custom'] ) ) {
1134
+					    foreach ( $setting['color']['palette']['custom'] as $color ) {
1135
+						    $colors[$color['slug']] = esc_attr( $color['color'] );
1136
+					    }
1137
+				    }
1138
+			    } else {
1139
+				    $settings = get_option( 'aui_options' );
1140
+
1141
+				    $colors = array(
1142
+					    'primary'   => ! empty( $settings['color_primary'] ) ? $settings['color_primary'] : AUI_PRIMARY_COLOR,
1143
+					    'secondary' => ! empty( $settings['color_secondary'] ) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR
1144
+				    );
1145
+			    }
1146
+
1147
+			    ob_start();
1148
+			    ?><style><?php
1149
+			    // BS v3 compat
1150
+			    if( self::is_bs3_compat() ){
1151
+				    echo self::bs3_compat_css(); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1152
+			    }
1153
+
1154
+			    //$is_fse = false;
1155
+			    //if ( is_admin() && ( !empty($_REQUEST['postType']) || self::is_block_editor() ) && ( defined( 'BLOCKSTRAP_VERSION' ) || defined( 'AUI_FSE' ) )  ) {
1156
+				    //$is_fse = true;
1157
+			    //}
1158
+
1159
+			    $custom_front = ! is_admin() ? true : apply_filters('ayecode_ui_custom_front', false );
1160
+			    $custom_admin = $is_fse || self::is_preview() ? true : apply_filters('ayecode_ui_custom_admin', false );
1161
+                $bs_custom_css = apply_filters( 'ayecode_ui_bs_custom_css', $custom_admin || $custom_front );
1162
+			    //$bs_custom_css = true; // Force true to fix any color issue.
1163
+
1164
+			    $colors_css = '';
1165
+			    if ( ! empty( $colors ) && $bs_custom_css ) {
1166
+				    $d_colors = self::get_colors(true);
1167
+
1168
+				    foreach ( $colors as $key => $color ) {
1169
+					    if ( ( empty( $d_colors[$key]) || $d_colors[$key] != $color) || $is_fse ) {
1170
+						    $var = $is_fse ? "var(--wp--preset--color--$key)" : $color;
1171
+						    $compat = $is_fse ? '.editor-styles-wrapper' : $compatibility;
1172
+
1173
+						    $colors_css .= $aui_bs5 ? self::css_overwrite_bs5( $key,$var, $compat, $color ) : self::css_overwrite( $key, $var, $compat, $color );
1174
+					    }
1175
+				    }
1176
+			    }
1177
+
1178
+			    if ( $colors_css ) {
1179
+				    echo $colors_css; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1180
+			    }
1181
+
1182
+			    // Set admin bar z-index lower when modal is open.
1183
+			    echo ' body.modal-open #wpadminbar{z-index:999}.embed-responsive-16by9 .fluid-width-video-wrapper{padding:0 !important;position:initial}';
1184
+
1185
+			    if ( is_admin() ) {
1186
+				    echo ' body.modal-open #adminmenuwrap{z-index:999} body.modal-open #wpadminbar{z-index:1025}';
1187
+			    }
1188
+
1189
+			    $custom_css = '';
1190
+
1191
+			    if ( $aui_bs5 && defined( 'BLOCKSTRAP_VERSION' ) && $bs_custom_css ) {
1192
+				    $css = '';
1193
+				    $theme_settings = wp_get_global_styles();
1194
+
1195
+				    // Font face
1196
+				    if( !empty( $theme_settings['typography']['fontFamily'] ) ){
1197
+					    $t_fontface = str_replace( array('var:preset|','font-family|'), array('--wp--preset--','font-family--'), $theme_settings['typography']['fontFamily']  ); //var(--wp--preset--font-family--poppins)
1198
+					    $css .= '--bs-body-font-family: ' . esc_attr($t_fontface) . ';';
1199
+				    }
1200
+
1201
+				    // font size
1202
+				    if( !empty( $theme_settings['typography']['fontSize'] ) ){
1203
+					    $css .= '--bs-body-font-size: ' . esc_attr( $theme_settings['typography']['fontSize'] ) . ' ;';
1204
+				    }
1205
+
1206
+				    // line height
1207
+				     if( !empty( $theme_settings['typography']['lineHeight'] ) ){
1208
+					    $css .= '--bs-body-line-height: ' . esc_attr( $theme_settings['typography']['lineHeight'] ) . ';';
1209
+				    }
1210
+
1211
+
1212
+				       // font weight
1213
+				     if( !empty( $theme_settings['typography']['fontWeight'] ) ){
1214
+					    $css .= '--bs-body-font-weight: ' . esc_attr( $theme_settings['typography']['fontWeight'] ) . ';';
1215
+				    }
1216
+
1217
+				    // Background
1218
+				     if( !empty( $theme_settings['color']['background'] ) ){
1219
+					    $css .= '--bs-body-bg: ' . esc_attr( $theme_settings['color']['background'] ) . ';';
1220
+				    }
1221
+
1222
+				     // Background Gradient
1223
+				     if( !empty( $theme_settings['color']['gradient'] ) ){
1224
+					    $css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';';
1225
+				    }
1226
+
1227
+				       // Background Gradient
1228
+				     if( !empty( $theme_settings['color']['gradient'] ) ){
1229
+					    $css .= 'background: ' . esc_attr( $theme_settings['color']['gradient'] ) . ';';
1230
+				    }
1231
+
1232
+				    // text color
1233
+				    if( !empty( $theme_settings['color']['text'] ) ){
1234
+					    $css .= '--bs-body-color: ' . esc_attr( $theme_settings['color']['text'] ) . ';';
1235
+				    }
1236
+
1237
+
1238
+				    // link colors
1239
+				    if( !empty( $theme_settings['elements']['link']['color']['text'] ) ){
1240
+					    $css .= '--bs-link-color: ' . esc_attr( $theme_settings['elements']['link']['color']['text'] ) . ';';
1241
+				    }
1242
+				    if( !empty( $theme_settings['elements']['link'][':hover']['color']['text'] ) ){
1243
+					    $css .= '--bs-link-hover-color: ' . esc_attr( $theme_settings['elements']['link'][':hover']['color']['text'] ) . ';';
1244
+				    }
1245
+
1246
+				    if($css){
1247
+					    $custom_css .= $is_fse ? 'body.editor-styles-wrapper{' . esc_attr( $css ) . '}' : 'body{' . esc_attr( $css ) . '}';
1248
+				    }
1249
+
1250
+				    $bep = $is_fse ? 'body.editor-styles-wrapper ' : '';
1251
+
1252
+				    // Headings
1253
+				    $headings_css = '';
1254
+				    if( !empty( $theme_settings['elements']['heading']['color']['text'] ) ){
1255
+					    $headings_css .= "color: " . esc_attr( $theme_settings['elements']['heading']['color']['text'] ) . ";";
1256
+				    }
1257
+
1258
+				    // heading background
1259
+				    if( !empty( $theme_settings['elements']['heading']['color']['background'] ) ){
1260
+					    $headings_css .= 'background: ' . esc_attr( $theme_settings['elements']['heading']['color']['background'] ) . ';';
1261
+				    }
1262
+
1263
+				     // heading font family
1264
+				    if( !empty( $theme_settings['elements']['heading']['typography']['fontFamily'] ) ){
1265
+					    $headings_css .= 'font-family: ' . esc_attr( $theme_settings['elements']['heading']['typography']['fontFamily']  ) . ';';
1266
+				    }
1267
+
1268
+				    if( $headings_css ){
1269
+					    $custom_css .= "$bep h1,$bep h2,$bep h3, $bep h4,$bep h5,$bep h6{ " . esc_attr( $headings_css ) . "}";
1270
+				    }
1271
+
1272
+				    $hs = array('h1','h2','h3','h4','h5','h6');
1273
+
1274
+				    foreach($hs as $hn){
1275
+					    $h_css = '';
1276
+					     if( !empty( $theme_settings['elements'][$hn]['color']['text'] ) ){
1277
+						    $h_css .= 'color: ' . esc_attr( $theme_settings['elements'][$hn]['color']['text'] ) . ';';
1278
+					     }
1279
+
1280
+					      if( !empty( $theme_settings['elements'][$hn]['typography']['fontSize'] ) ){
1281
+						    $h_css .= 'font-size: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontSize']  ) . ';';
1282
+					     }
1283
+
1284
+					      if( !empty( $theme_settings['elements'][$hn]['typography']['fontFamily'] ) ){
1285
+						    $h_css .= 'font-family: ' . esc_attr( $theme_settings['elements'][$hn]['typography']['fontFamily']  ) . ';';
1286
+					     }
1287
+
1288
+					     if($h_css){
1289
+						    $custom_css .= esc_attr( $bep  . $hn ) . '{'.esc_attr( $h_css ).'}';
1290
+					     }
1291
+				    }
1292
+			    }
1293 1293
 			
1294
-			if ( $custom_css ) {
1295
-				echo $custom_css; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1296
-			}
1297
-
1298
-			// Pagination on Hello Elementor theme.
1299
-			if ( function_exists( 'hello_elementor_setup' ) ) {
1300
-				echo '.aui-nav-links .pagination{justify-content:inherit}';
1301
-			}
1302
-			?></style><?php
1303
-			$custom_css = ob_get_clean();
1304
-
1305
-			/*
1294
+			    if ( $custom_css ) {
1295
+				    echo $custom_css; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
1296
+			    }
1297
+
1298
+			    // Pagination on Hello Elementor theme.
1299
+			    if ( function_exists( 'hello_elementor_setup' ) ) {
1300
+				    echo '.aui-nav-links .pagination{justify-content:inherit}';
1301
+			    }
1302
+			    ?></style><?php
1303
+			    $custom_css = ob_get_clean();
1304
+
1305
+			    /*
1306 1306
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1307 1307
 			 */
1308
-			return str_replace( array(
1309
-				'<style>',
1310
-				'</style>'
1311
-			), '', self::minify_css( $custom_css ) );
1312
-		}
1308
+			    return str_replace( array(
1309
+				    '<style>',
1310
+				    '</style>'
1311
+			    ), '', self::minify_css( $custom_css ) );
1312
+		    }
1313 1313
 
1314
-		/**
1314
+		    /**
1315 1315
 		 * Check if we should add booststrap 3 compatibility changes.
1316 1316
 		 *
1317 1317
 		 * @return bool
1318 1318
 		 */
1319
-		public static function is_bs3_compat(){
1320
-			return defined('AYECODE_UI_BS3_COMPAT') || defined('SVQ_THEME_VERSION') || defined('FUSION_BUILDER_VERSION');
1321
-		}
1319
+		    public static function is_bs3_compat(){
1320
+			    return defined('AYECODE_UI_BS3_COMPAT') || defined('SVQ_THEME_VERSION') || defined('FUSION_BUILDER_VERSION');
1321
+		    }
1322 1322
 
1323
-		public static function hex_to_rgb( $hex ) {
1324
-			// Remove '#' if present
1325
-			$hex = str_replace( '#', '', $hex );
1323
+		    public static function hex_to_rgb( $hex ) {
1324
+			    // Remove '#' if present
1325
+			    $hex = str_replace( '#', '', $hex );
1326 1326
 
1327
-			// Check if input is RGB
1328
-			if ( strpos( $hex, 'rgba(' ) === 0 || strpos( $hex, 'rgb(' ) === 0 ) {
1329
-				$_rgb = explode( ',', str_replace( array( 'rgba(', 'rgb(', ')' ), '', $hex ) );
1327
+			    // Check if input is RGB
1328
+			    if ( strpos( $hex, 'rgba(' ) === 0 || strpos( $hex, 'rgb(' ) === 0 ) {
1329
+				    $_rgb = explode( ',', str_replace( array( 'rgba(', 'rgb(', ')' ), '', $hex ) );
1330 1330
 
1331
-				$rgb = ( isset( $_rgb[0] ) ? (int) trim( $_rgb[0] ) : '0' ) . ',';
1332
-				$rgb .= ( isset( $_rgb[1] ) ? (int) trim( $_rgb[1] ) : '0' ) . ',';
1333
-				$rgb .= ( isset( $_rgb[2] ) ? (int) trim( $_rgb[2] ) : '0' );
1331
+				    $rgb = ( isset( $_rgb[0] ) ? (int) trim( $_rgb[0] ) : '0' ) . ',';
1332
+				    $rgb .= ( isset( $_rgb[1] ) ? (int) trim( $_rgb[1] ) : '0' ) . ',';
1333
+				    $rgb .= ( isset( $_rgb[2] ) ? (int) trim( $_rgb[2] ) : '0' );
1334 1334
 
1335
-				return $rgb;
1336
-			}
1335
+				    return $rgb;
1336
+			    }
1337 1337
 
1338
-			// Convert 3-digit hex to 6-digit hex
1339
-			if ( strlen( $hex ) == 3 ) {
1340
-				$hex = str_repeat( substr( $hex, 0, 1 ), 2 ) . str_repeat( substr( $hex, 1, 1 ), 2 ) . str_repeat( substr( $hex, 2, 1 ), 2 );
1341
-			}
1338
+			    // Convert 3-digit hex to 6-digit hex
1339
+			    if ( strlen( $hex ) == 3 ) {
1340
+				    $hex = str_repeat( substr( $hex, 0, 1 ), 2 ) . str_repeat( substr( $hex, 1, 1 ), 2 ) . str_repeat( substr( $hex, 2, 1 ), 2 );
1341
+			    }
1342 1342
 
1343
-			// Convert hex to RGB
1344
-			$r = hexdec( substr( $hex, 0, 2 ) );
1345
-			$g = hexdec( substr( $hex, 2, 2 ) );
1346
-			$b = hexdec( substr( $hex, 4, 2 ) );
1343
+			    // Convert hex to RGB
1344
+			    $r = hexdec( substr( $hex, 0, 2 ) );
1345
+			    $g = hexdec( substr( $hex, 2, 2 ) );
1346
+			    $b = hexdec( substr( $hex, 4, 2 ) );
1347 1347
 
1348
-			// Return RGB values as an array
1349
-			return $r . ',' . $g . ',' . $b;
1350
-		}
1348
+			    // Return RGB values as an array
1349
+			    return $r . ',' . $g . ',' . $b;
1350
+		    }
1351 1351
 
1352
-		/**
1352
+		    /**
1353 1353
 		 * Build the CSS to overwrite a bootstrap color variable.
1354 1354
 		 *
1355 1355
 		 * @param $type
@@ -1358,120 +1358,120 @@  discard block
 block discarded – undo
1358 1358
 		 *
1359 1359
 		 * @return string
1360 1360
 		 */
1361
-		public static function css_overwrite_bs5($type,$color_code,$compatibility, $hex = '' ){
1362
-			global $aui_bs5;
1361
+		    public static function css_overwrite_bs5($type,$color_code,$compatibility, $hex = '' ){
1362
+			    global $aui_bs5;
1363 1363
 
1364
-			$is_var = false;
1365
-			$is_custom = strpos($type, 'custom-') !== false ? true : false;
1366
-			if(!$color_code){return '';}
1367
-			if(strpos($color_code, 'var') !== false){
1368
-				//if(!sanitize_hex_color($color_code)){
1369
-				$color_code = esc_attr($color_code);
1370
-				$is_var = true;
1371
-//				$color_code = "rgba($color_code, 0.5)";
1372
-//                echo '###1'.$color_code.'###';//exit;
1373
-			}
1364
+			    $is_var = false;
1365
+			    $is_custom = strpos($type, 'custom-') !== false ? true : false;
1366
+			    if(!$color_code){return '';}
1367
+			    if(strpos($color_code, 'var') !== false){
1368
+				    //if(!sanitize_hex_color($color_code)){
1369
+				    $color_code = esc_attr($color_code);
1370
+				    $is_var = true;
1371
+    //				$color_code = "rgba($color_code, 0.5)";
1372
+    //                echo '###1'.$color_code.'###';//exit;
1373
+			    }
1374 1374
 
1375
-//            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1375
+    //            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1376 1376
 
1377
-			if(!$color_code){return '';}
1377
+			    if(!$color_code){return '';}
1378 1378
 
1379
-			$rgb = self::hex_to_rgb($hex);
1379
+			    $rgb = self::hex_to_rgb($hex);
1380 1380
 
1381
-			if($compatibility===true || $compatibility===1){
1382
-				$compatibility = '.bsui';
1383
-			}elseif(!$compatibility){
1384
-				$compatibility = '';
1385
-			}else{
1386
-				$compatibility = esc_attr($compatibility);
1387
-			}
1381
+			    if($compatibility===true || $compatibility===1){
1382
+				    $compatibility = '.bsui';
1383
+			    }elseif(!$compatibility){
1384
+				    $compatibility = '';
1385
+			    }else{
1386
+				    $compatibility = esc_attr($compatibility);
1387
+			    }
1388 1388
 
1389
-			$prefix = $compatibility ? $compatibility . " " : "";
1389
+			    $prefix = $compatibility ? $compatibility . " " : "";
1390 1390
 
1391 1391
 
1392
-            $output = '';
1392
+                $output = '';
1393 1393
 
1394
-//            echo '####'.$color_code;exit;
1394
+    //            echo '####'.$color_code;exit;
1395 1395
 
1396
-			$type = sanitize_html_class($type);
1396
+			    $type = sanitize_html_class($type);
1397 1397
 
1398
-			/**
1398
+			    /**
1399 1399
 			 * c = color, b = background color, o = border-color, f = fill
1400 1400
 			 */
1401
-			$selectors = array(
1402
-				".btn-{$type}"                                              => array( 'b', 'o' ),
1403
-				".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1404
-				".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1405
-				".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1406
-				".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1407
-				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1408
-				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1409
-				".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1410
-				".badge-{$type}"                                            => array( 'b' ),
1411
-				".alert-{$type}"                                            => array( 'b', 'o' ),
1412
-				".bg-{$type}"                                               => array( 'b', 'f' ),
1413
-				".btn-link.btn-{$type}"                                     => array( 'c' ),
1414
-				".text-{$type}"                                     => array( 'c' ),
1415
-			);
1416
-
1417
-			if ( $aui_bs5 ) {
1418
-				unset($selectors[".alert-{$type}" ]);
1419
-			}
1420
-
1421
-			if ( $type == 'primary' ) {
1422
-				$selectors = $selectors + array(
1423
-						'a'                                                                                                    => array( 'c' ),
1424
-						'.btn-link'                                                                                            => array( 'c' ),
1425
-						'.dropdown-item.active'                                                                                => array( 'b' ),
1426
-						'.custom-control-input:checked~.custom-control-label::before'                                          => array(
1427
-							'b',
1428
-							'o'
1429
-						),
1430
-						'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1431
-							'b',
1432
-							'o'
1433
-						),
1434
-						'.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1435
-						'.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1436
-						'.page-link'                                                                                           => array( 'c' ),
1437
-						'.page-item.active .page-link'                                                                         => array(
1438
-							'b',
1439
-							'o'
1440
-						),
1441
-						'.progress-bar'                                                                                        => array( 'b' ),
1442
-						'.list-group-item.active'                                                                              => array(
1443
-							'b',
1444
-							'o'
1445
-						),
1446
-						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1447
-					);
1448
-			}
1449
-
1450
-
1451
-
1452
-            // link
1453
-			if ( $type === 'primary' ) {
1454
-				$output .= 'html body {--bs-link-hover-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .75); --bs-link-color: var(--bs-'.esc_attr($type).'); }';
1455
-				$output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: '.esc_attr($color_code).';  }';
1456
-				$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).'; }';
1457
-
1458
-				$output .= $prefix . ' a{color: var(--bs-'.esc_attr($type).');}';
1459
-				$output .= $prefix . ' .text-primary{color: var(--bs-'.esc_attr($type).') !important;}';
1460
-
1461
-                // dropdown
1462
-				$output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-'.esc_attr($type).'); --bs-dropdown-link-active-color: var(--bs-'.esc_attr($type).');}';
1463
-
1464
-                // pagination
1465
-				$output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-'.esc_attr($type).'); --bs-pagination-active-bg: var(--bs-'.esc_attr($type).');}';
1466
-
1467
-			}
1468
-
1469
-			$output .= $prefix . ' .link-'.esc_attr($type).' {color: var(--bs-'.esc_attr($type).'-rgb) !important;}';
1470
-			$output .= $prefix . ' .link-'.esc_attr($type).':hover {color: rgba(var(--bs-'.esc_attr($type).'-rgb), .8) !important;}';
1471
-
1472
-			//  buttons
1473
-			$output .= $prefix . ' .btn-'.esc_attr($type).'{';
1474
-			$output .= ' 
1401
+			    $selectors = array(
1402
+				    ".btn-{$type}"                                              => array( 'b', 'o' ),
1403
+				    ".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1404
+				    ".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1405
+				    ".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1406
+				    ".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1407
+				    ".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1408
+				    ".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1409
+				    ".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1410
+				    ".badge-{$type}"                                            => array( 'b' ),
1411
+				    ".alert-{$type}"                                            => array( 'b', 'o' ),
1412
+				    ".bg-{$type}"                                               => array( 'b', 'f' ),
1413
+				    ".btn-link.btn-{$type}"                                     => array( 'c' ),
1414
+				    ".text-{$type}"                                     => array( 'c' ),
1415
+			    );
1416
+
1417
+			    if ( $aui_bs5 ) {
1418
+				    unset($selectors[".alert-{$type}" ]);
1419
+			    }
1420
+
1421
+			    if ( $type == 'primary' ) {
1422
+				    $selectors = $selectors + array(
1423
+						    'a'                                                                                                    => array( 'c' ),
1424
+						    '.btn-link'                                                                                            => array( 'c' ),
1425
+						    '.dropdown-item.active'                                                                                => array( 'b' ),
1426
+						    '.custom-control-input:checked~.custom-control-label::before'                                          => array(
1427
+							    'b',
1428
+							    'o'
1429
+						    ),
1430
+						    '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1431
+							    'b',
1432
+							    'o'
1433
+						    ),
1434
+						    '.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1435
+						    '.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1436
+						    '.page-link'                                                                                           => array( 'c' ),
1437
+						    '.page-item.active .page-link'                                                                         => array(
1438
+							    'b',
1439
+							    'o'
1440
+						    ),
1441
+						    '.progress-bar'                                                                                        => array( 'b' ),
1442
+						    '.list-group-item.active'                                                                              => array(
1443
+							    'b',
1444
+							    'o'
1445
+						    ),
1446
+						    '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1447
+					    );
1448
+			    }
1449
+
1450
+
1451
+
1452
+                // link
1453
+			    if ( $type === 'primary' ) {
1454
+				    $output .= 'html body {--bs-link-hover-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .75); --bs-link-color: var(--bs-'.esc_attr($type).'); }';
1455
+				    $output .= $prefix . ' .breadcrumb{--bs-breadcrumb-item-active-color: '.esc_attr($color_code).';  }';
1456
+				    $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).'; }';
1457
+
1458
+				    $output .= $prefix . ' a{color: var(--bs-'.esc_attr($type).');}';
1459
+				    $output .= $prefix . ' .text-primary{color: var(--bs-'.esc_attr($type).') !important;}';
1460
+
1461
+                    // dropdown
1462
+				    $output .= $prefix . ' .dropdown-menu{--bs-dropdown-link-hover-color: var(--bs-'.esc_attr($type).'); --bs-dropdown-link-active-color: var(--bs-'.esc_attr($type).');}';
1463
+
1464
+                    // pagination
1465
+				    $output .= $prefix . ' .pagination{--bs-pagination-hover-color: var(--bs-'.esc_attr($type).'); --bs-pagination-active-bg: var(--bs-'.esc_attr($type).');}';
1466
+
1467
+			    }
1468
+
1469
+			    $output .= $prefix . ' .link-'.esc_attr($type).' {color: var(--bs-'.esc_attr($type).'-rgb) !important;}';
1470
+			    $output .= $prefix . ' .link-'.esc_attr($type).':hover {color: rgba(var(--bs-'.esc_attr($type).'-rgb), .8) !important;}';
1471
+
1472
+			    //  buttons
1473
+			    $output .= $prefix . ' .btn-'.esc_attr($type).'{';
1474
+			    $output .= ' 
1475 1475
             --bs-btn-bg: '.esc_attr($color_code).';
1476 1476
             --bs-btn-border-color: '.esc_attr($color_code).';
1477 1477
             --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
@@ -1483,17 +1483,17 @@  discard block
 block discarded – undo
1483 1483
             --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .5);
1484 1484
             --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .1);
1485 1485
             ';
1486
-//			$output .= '
1487
-//		    --bs-btn-color: #fff;
1488
-//			--bs-btn-hover-color: #fff;
1489
-//			--bs-btn-active-color: #fff;
1490
-//			--bs-btn-disabled-color: #fff;
1491
-//            ';
1492
-			$output .= '}';
1493
-
1494
-			//  buttons outline
1495
-			$output .= $prefix . ' .btn-outline-'.esc_attr($type).'{';
1496
-			$output .= ' 
1486
+    //			$output .= '
1487
+    //		    --bs-btn-color: #fff;
1488
+    //			--bs-btn-hover-color: #fff;
1489
+    //			--bs-btn-active-color: #fff;
1490
+    //			--bs-btn-disabled-color: #fff;
1491
+    //            ';
1492
+			    $output .= '}';
1493
+
1494
+			    //  buttons outline
1495
+			    $output .= $prefix . ' .btn-outline-'.esc_attr($type).'{';
1496
+			    $output .= ' 
1497 1497
 			--bs-btn-color: '.esc_attr($color_code).';
1498 1498
             --bs-btn-border-color: '.esc_attr($color_code).';
1499 1499
             --bs-btn-hover-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .9);
@@ -1505,140 +1505,140 @@  discard block
 block discarded – undo
1505 1505
             --bs-btn-disabled-bg: rgba(var(--bs-'.esc_attr($type).'-rgb), .5);
1506 1506
             --bs-btn-disabled-border-color: rgba(var(--bs-'.esc_attr($type).'-rgb), .1);
1507 1507
             ';
1508
-//			$output .= '
1509
-//		    --bs-btn-color: #fff;
1510
-//			--bs-btn-hover-color: #fff;
1511
-//			--bs-btn-active-color: #fff;
1512
-//			--bs-btn-disabled-color: #fff;
1513
-//            ';
1514
-			$output .= '}';
1515
-
1516
-
1517
-            // button hover
1518
-			$output .= $prefix . ' .btn-'.esc_attr($type).':hover{';
1519
-			$output .= ' 
1508
+    //			$output .= '
1509
+    //		    --bs-btn-color: #fff;
1510
+    //			--bs-btn-hover-color: #fff;
1511
+    //			--bs-btn-active-color: #fff;
1512
+    //			--bs-btn-disabled-color: #fff;
1513
+    //            ';
1514
+			    $output .= '}';
1515
+
1516
+
1517
+                // button hover
1518
+			    $output .= $prefix . ' .btn-'.esc_attr($type).':hover{';
1519
+			    $output .= ' 
1520 1520
             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);
1521 1521
             }
1522 1522
             ';
1523 1523
 
1524 1524
 
1525
-			if ( $aui_bs5 ) {
1526
-//				$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).'; }';
1527
-				$output .= 'html body {--bs-'.esc_attr($type).': '.esc_attr($color_code).'; }';
1528
-				$output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1529
-			}
1530
-
1531
-
1532
-			if ( $is_custom ) {
1533
-
1534
-//				echo '###'.$type;exit;
1535
-
1536
-				// build rules into each type
1537
-				foreach($selectors as $selector => $types){
1538
-					$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1539
-					$types = array_combine($types,$types);
1540
-					if(isset($types['c'])){$color[] = $selector;}
1541
-					if(isset($types['b'])){$background[] = $selector;}
1542
-					if(isset($types['o'])){$border[] = $selector;}
1543
-					if(isset($types['f'])){$fill[] = $selector;}
1544
-				}
1545
-
1546
-//				// build rules into each type
1547
-//				foreach($important_selectors as $selector => $types){
1548
-//					$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1549
-//					$types = array_combine($types,$types);
1550
-//					if(isset($types['c'])){$color_i[] = $selector;}
1551
-//					if(isset($types['b'])){$background_i[] = $selector;}
1552
-//					if(isset($types['o'])){$border_i[] = $selector;}
1553
-//					if(isset($types['f'])){$fill_i[] = $selector;}
1554
-//				}
1555
-
1556
-				// add any color rules
1557
-				if(!empty($color)){
1558
-					$output .= implode(",",$color) . "{color: $color_code;} ";
1559
-				}
1560
-				if(!empty($color_i)){
1561
-					$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1562
-				}
1563
-
1564
-				// add any background color rules
1565
-				if(!empty($background)){
1566
-					$output .= implode(",",$background) . "{background-color: $color_code;} ";
1567
-				}
1568
-				if(!empty($background_i)){
1569
-					$output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1570
-//				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1571
-				}
1572
-
1573
-				// add any border color rules
1574
-				if(!empty($border)){
1575
-					$output .= implode(",",$border) . "{border-color: $color_code;} ";
1576
-				}
1577
-				if(!empty($border_i)){
1578
-					$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1579
-				}
1580
-
1581
-				// add any fill color rules
1582
-				if(!empty($fill)){
1583
-					$output .= implode(",",$fill) . "{fill: $color_code;} ";
1584
-				}
1585
-				if(!empty($fill_i)){
1586
-					$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1587
-				}
1588
-
1589
-			}
1590
-
1591
-
1592
-
1593
-
1594
-			$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;' : '';
1595
-			// darken
1596
-			$darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1597
-			$darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1598
-			$darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1599
-			$darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1600
-
1601
-			// lighten
1602
-			$lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1603
-
1604
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
1605
-			$op_25 = $color_code."40"; // 25% opacity
1606
-
1607
-
1608
-			// button states
1609
-			$output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1610
-			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1611
-//			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1612
-			$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;} ";
1613
-			$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.";} ";
1614
-            $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;} ";
1615
-            $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled):focus {box-shadow: 0 0.25rem 0.25rem 0.125rem rgba(var(--bs-{$type}-rgb), 0.1), 0 0.375rem 0.75rem -0.125rem rgba(var(--bs-{$type}-rgb), 0.4);} ";
1616
-
1617
-			// text
1618
-//			$output .= $prefix .".xxx, .text-{$type} {color: var(--bs-".esc_attr($type).");} ";
1619
-
1620
-
1621
-//			if ( $type == 'primary' ) {
1622
-//				// dropdown's
1623
-//				$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1624
-//
1625
-//				// input states
1626
-//				$output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
1627
-//
1628
-//				// page link
1629
-//				$output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1630
-//			}
1631
-
1632
-			// alerts
1633
-			if ( $aui_bs5 ) {
1634
-//				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1635
-				$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;} ";
1636
-			}
1637
-
1638
-			return $output;
1639
-		}
1640
-
1641
-		/**
1525
+			    if ( $aui_bs5 ) {
1526
+    //				$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).'; }';
1527
+				    $output .= 'html body {--bs-'.esc_attr($type).': '.esc_attr($color_code).'; }';
1528
+				    $output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1529
+			    }
1530
+
1531
+
1532
+			    if ( $is_custom ) {
1533
+
1534
+    //				echo '###'.$type;exit;
1535
+
1536
+				    // build rules into each type
1537
+				    foreach($selectors as $selector => $types){
1538
+					    $selector = $compatibility ? $compatibility . " ".$selector : $selector;
1539
+					    $types = array_combine($types,$types);
1540
+					    if(isset($types['c'])){$color[] = $selector;}
1541
+					    if(isset($types['b'])){$background[] = $selector;}
1542
+					    if(isset($types['o'])){$border[] = $selector;}
1543
+					    if(isset($types['f'])){$fill[] = $selector;}
1544
+				    }
1545
+
1546
+    //				// build rules into each type
1547
+    //				foreach($important_selectors as $selector => $types){
1548
+    //					$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1549
+    //					$types = array_combine($types,$types);
1550
+    //					if(isset($types['c'])){$color_i[] = $selector;}
1551
+    //					if(isset($types['b'])){$background_i[] = $selector;}
1552
+    //					if(isset($types['o'])){$border_i[] = $selector;}
1553
+    //					if(isset($types['f'])){$fill_i[] = $selector;}
1554
+    //				}
1555
+
1556
+				    // add any color rules
1557
+				    if(!empty($color)){
1558
+					    $output .= implode(",",$color) . "{color: $color_code;} ";
1559
+				    }
1560
+				    if(!empty($color_i)){
1561
+					    $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1562
+				    }
1563
+
1564
+				    // add any background color rules
1565
+				    if(!empty($background)){
1566
+					    $output .= implode(",",$background) . "{background-color: $color_code;} ";
1567
+				    }
1568
+				    if(!empty($background_i)){
1569
+					    $output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1570
+    //				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1571
+				    }
1572
+
1573
+				    // add any border color rules
1574
+				    if(!empty($border)){
1575
+					    $output .= implode(",",$border) . "{border-color: $color_code;} ";
1576
+				    }
1577
+				    if(!empty($border_i)){
1578
+					    $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1579
+				    }
1580
+
1581
+				    // add any fill color rules
1582
+				    if(!empty($fill)){
1583
+					    $output .= implode(",",$fill) . "{fill: $color_code;} ";
1584
+				    }
1585
+				    if(!empty($fill_i)){
1586
+					    $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1587
+				    }
1588
+
1589
+			    }
1590
+
1591
+
1592
+
1593
+
1594
+			    $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;' : '';
1595
+			    // darken
1596
+			    $darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1597
+			    $darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1598
+			    $darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1599
+			    $darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1600
+
1601
+			    // lighten
1602
+			    $lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1603
+
1604
+			    // opacity see https://css-tricks.com/8-digit-hex-codes/
1605
+			    $op_25 = $color_code."40"; // 25% opacity
1606
+
1607
+
1608
+			    // button states
1609
+			    $output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1610
+			    $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1611
+    //			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1612
+			    $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;} ";
1613
+			    $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.";} ";
1614
+                $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;} ";
1615
+                $output .= $prefix ." .btn-{$type}:not(:disabled):not(.disabled):active:focus, $prefix .btn-{$type}:not(:disabled):not(.disabled):focus {box-shadow: 0 0.25rem 0.25rem 0.125rem rgba(var(--bs-{$type}-rgb), 0.1), 0 0.375rem 0.75rem -0.125rem rgba(var(--bs-{$type}-rgb), 0.4);} ";
1616
+
1617
+			    // text
1618
+    //			$output .= $prefix .".xxx, .text-{$type} {color: var(--bs-".esc_attr($type).");} ";
1619
+
1620
+
1621
+    //			if ( $type == 'primary' ) {
1622
+    //				// dropdown's
1623
+    //				$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1624
+    //
1625
+    //				// input states
1626
+    //				$output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
1627
+    //
1628
+    //				// page link
1629
+    //				$output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1630
+    //			}
1631
+
1632
+			    // alerts
1633
+			    if ( $aui_bs5 ) {
1634
+    //				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1635
+				    $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;} ";
1636
+			    }
1637
+
1638
+			    return $output;
1639
+		    }
1640
+
1641
+		    /**
1642 1642
 		 * Build the CSS to overwrite a bootstrap color variable.
1643 1643
 		 *
1644 1644
 		 * @param $type
@@ -1647,214 +1647,214 @@  discard block
 block discarded – undo
1647 1647
 		 *
1648 1648
 		 * @return string
1649 1649
 		 */
1650
-		public static function css_overwrite($type,$color_code,$compatibility, $hex = '' ){
1651
-            global $aui_bs5;
1650
+		    public static function css_overwrite($type,$color_code,$compatibility, $hex = '' ){
1651
+                global $aui_bs5;
1652 1652
 
1653
-			$is_var = false;
1654
-			if(!$color_code){return '';}
1655
-			if(strpos($color_code, 'var') !== false){
1656
-				//if(!sanitize_hex_color($color_code)){
1657
-				$color_code = esc_attr($color_code);
1658
-				$is_var = true;
1659
-//				$color_code = "rgba($color_code, 0.5)";
1660
-//                echo '###1'.$color_code.'###';//exit;
1661
-			}
1653
+			    $is_var = false;
1654
+			    if(!$color_code){return '';}
1655
+			    if(strpos($color_code, 'var') !== false){
1656
+				    //if(!sanitize_hex_color($color_code)){
1657
+				    $color_code = esc_attr($color_code);
1658
+				    $is_var = true;
1659
+    //				$color_code = "rgba($color_code, 0.5)";
1660
+    //                echo '###1'.$color_code.'###';//exit;
1661
+			    }
1662 1662
 
1663
-//            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1663
+    //            echo '@@@'.$color_code.'==='.self::hex_to_rgb($color_code);exit;
1664 1664
 
1665
-			if(!$color_code){return '';}
1665
+			    if(!$color_code){return '';}
1666 1666
 
1667
-            $rgb = self::hex_to_rgb($hex);
1667
+                $rgb = self::hex_to_rgb($hex);
1668 1668
 
1669
-			if($compatibility===true || $compatibility===1){
1670
-				$compatibility = '.bsui';
1671
-			}elseif(!$compatibility){
1672
-				$compatibility = '';
1673
-			}else{
1674
-				$compatibility = esc_attr($compatibility);
1675
-			}
1669
+			    if($compatibility===true || $compatibility===1){
1670
+				    $compatibility = '.bsui';
1671
+			    }elseif(!$compatibility){
1672
+				    $compatibility = '';
1673
+			    }else{
1674
+				    $compatibility = esc_attr($compatibility);
1675
+			    }
1676 1676
 
1677 1677
 
1678 1678
 
1679
-//            echo '####'.$color_code;exit;
1679
+    //            echo '####'.$color_code;exit;
1680 1680
 
1681
-			$type = sanitize_html_class($type);
1681
+			    $type = sanitize_html_class($type);
1682 1682
 
1683
-			/**
1683
+			    /**
1684 1684
 			 * c = color, b = background color, o = border-color, f = fill
1685 1685
 			 */
1686
-			$selectors = array(
1687
-				".btn-{$type}"                                              => array( 'b', 'o' ),
1688
-				".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1689
-				".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1690
-				".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1691
-				".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1692
-				".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1693
-				".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1694
-				".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1695
-				".badge-{$type}"                                            => array( 'b' ),
1696
-				".alert-{$type}"                                            => array( 'b', 'o' ),
1697
-				".bg-{$type}"                                               => array( 'b', 'f' ),
1698
-				".btn-link.btn-{$type}"                                     => array( 'c' ),
1699
-			);
1700
-
1701
-			if ( $aui_bs5 ) {
1702
-                unset($selectors[".alert-{$type}" ]);
1703
-			}
1704
-
1705
-			if ( $type == 'primary' ) {
1706
-				$selectors = $selectors + array(
1707
-						'a'                                                                                                    => array( 'c' ),
1708
-						'.btn-link'                                                                                            => array( 'c' ),
1709
-						'.dropdown-item.active'                                                                                => array( 'b' ),
1710
-						'.custom-control-input:checked~.custom-control-label::before'                                          => array(
1711
-							'b',
1712
-							'o'
1713
-						),
1714
-						'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1715
-							'b',
1716
-							'o'
1717
-						),
1718
-						'.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1719
-						'.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1720
-						'.page-link'                                                                                           => array( 'c' ),
1721
-						'.page-item.active .page-link'                                                                         => array(
1722
-							'b',
1723
-							'o'
1724
-						),
1725
-						'.progress-bar'                                                                                        => array( 'b' ),
1726
-						'.list-group-item.active'                                                                              => array(
1727
-							'b',
1728
-							'o'
1729
-						),
1730
-						'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1731
-//				    '.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1732
-//				    '.custom-range::-moz-range-thumb' => array('b'),
1733
-//				    '.custom-range::-ms-thumb' => array('b'),
1734
-					);
1735
-			}
1736
-
1737
-			$important_selectors = array(
1738
-				".bg-{$type}" => array('b','f'),
1739
-				".border-{$type}" => array('o'),
1740
-				".text-{$type}" => array('c'),
1741
-			);
1742
-
1743
-			$color = array();
1744
-			$color_i = array();
1745
-			$background = array();
1746
-			$background_i = array();
1747
-			$border = array();
1748
-			$border_i = array();
1749
-			$fill = array();
1750
-			$fill_i = array();
1751
-
1752
-			$output = '';
1753
-
1754
-			if ( $aui_bs5 ) {
1755
-//				$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).'; }';
1756
-				$output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1757
-			}
1758
-
1759
-			// build rules into each type
1760
-			foreach($selectors as $selector => $types){
1761
-				$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1762
-				$types = array_combine($types,$types);
1763
-				if(isset($types['c'])){$color[] = $selector;}
1764
-				if(isset($types['b'])){$background[] = $selector;}
1765
-				if(isset($types['o'])){$border[] = $selector;}
1766
-				if(isset($types['f'])){$fill[] = $selector;}
1767
-			}
1768
-
1769
-			// build rules into each type
1770
-			foreach($important_selectors as $selector => $types){
1771
-				$selector = $compatibility ? $compatibility . " ".$selector : $selector;
1772
-				$types = array_combine($types,$types);
1773
-				if(isset($types['c'])){$color_i[] = $selector;}
1774
-				if(isset($types['b'])){$background_i[] = $selector;}
1775
-				if(isset($types['o'])){$border_i[] = $selector;}
1776
-				if(isset($types['f'])){$fill_i[] = $selector;}
1777
-			}
1778
-
1779
-			// add any color rules
1780
-			if(!empty($color)){
1781
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1782
-			}
1783
-			if(!empty($color_i)){
1784
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1785
-			}
1786
-
1787
-			// add any background color rules
1788
-			if(!empty($background)){
1789
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1790
-			}
1791
-			if(!empty($background_i)){
1792
-				$output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1793
-//				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1794
-			}
1795
-
1796
-			// add any border color rules
1797
-			if(!empty($border)){
1798
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1799
-			}
1800
-			if(!empty($border_i)){
1801
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1802
-			}
1803
-
1804
-			// add any fill color rules
1805
-			if(!empty($fill)){
1806
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1807
-			}
1808
-			if(!empty($fill_i)){
1809
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1810
-			}
1811
-
1812
-
1813
-			$prefix = $compatibility ? $compatibility . " " : "";
1814
-
1815
-			$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;' : '';
1816
-			// darken
1817
-			$darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1818
-			$darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1819
-			$darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1820
-			$darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1821
-
1822
-			// lighten
1823
-			$lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1824
-
1825
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
1826
-			$op_25 = $color_code."40"; // 25% opacity
1827
-
1828
-
1829
-			// button states
1830
-			$output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1831
-			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1832
-//			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1833
-			$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;} ";
1834
-			$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.";} ";
1835
-			$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;} ";
1836
-
1837
-			if ( $type == 'primary' ) {
1838
-				// dropdown's
1839
-				$output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1840
-
1841
-				// input states
1842
-				$output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
1843
-
1844
-				// page link
1845
-				$output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1846
-			}
1847
-
1848
-            // alerts
1849
-			if ( $aui_bs5 ) {
1850
-//				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1851
-				$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;} ";
1852
-			}
1853
-
1854
-			return $output;
1855
-		}
1856
-
1857
-		/**
1686
+			    $selectors = array(
1687
+				    ".btn-{$type}"                                              => array( 'b', 'o' ),
1688
+				    ".btn-{$type}.disabled"                                     => array( 'b', 'o' ),
1689
+				    ".btn-{$type}:disabled"                                     => array( 'b', 'o' ),
1690
+				    ".btn-outline-{$type}"                                      => array( 'c', 'o' ),
1691
+				    ".btn-outline-{$type}:hover"                                => array( 'b', 'o' ),
1692
+				    ".btn-outline-{$type}:not(:disabled):not(.disabled).active" => array( 'b', 'o' ),
1693
+				    ".btn-outline-{$type}:not(:disabled):not(.disabled):active" => array( 'b', 'o' ),
1694
+				    ".show>.btn-outline-{$type}.dropdown-toggle"                => array( 'b', 'o' ),
1695
+				    ".badge-{$type}"                                            => array( 'b' ),
1696
+				    ".alert-{$type}"                                            => array( 'b', 'o' ),
1697
+				    ".bg-{$type}"                                               => array( 'b', 'f' ),
1698
+				    ".btn-link.btn-{$type}"                                     => array( 'c' ),
1699
+			    );
1700
+
1701
+			    if ( $aui_bs5 ) {
1702
+                    unset($selectors[".alert-{$type}" ]);
1703
+			    }
1704
+
1705
+			    if ( $type == 'primary' ) {
1706
+				    $selectors = $selectors + array(
1707
+						    'a'                                                                                                    => array( 'c' ),
1708
+						    '.btn-link'                                                                                            => array( 'c' ),
1709
+						    '.dropdown-item.active'                                                                                => array( 'b' ),
1710
+						    '.custom-control-input:checked~.custom-control-label::before'                                          => array(
1711
+							    'b',
1712
+							    'o'
1713
+						    ),
1714
+						    '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before'                   => array(
1715
+							    'b',
1716
+							    'o'
1717
+						    ),
1718
+						    '.nav-pills .nav-link.active'                                                                          => array( 'b' ),
1719
+						    '.nav-pills .show>.nav-link'                                                                           => array( 'b' ),
1720
+						    '.page-link'                                                                                           => array( 'c' ),
1721
+						    '.page-item.active .page-link'                                                                         => array(
1722
+							    'b',
1723
+							    'o'
1724
+						    ),
1725
+						    '.progress-bar'                                                                                        => array( 'b' ),
1726
+						    '.list-group-item.active'                                                                              => array(
1727
+							    'b',
1728
+							    'o'
1729
+						    ),
1730
+						    '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array( 'b' ),
1731
+    //				    '.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1732
+    //				    '.custom-range::-moz-range-thumb' => array('b'),
1733
+    //				    '.custom-range::-ms-thumb' => array('b'),
1734
+					    );
1735
+			    }
1736
+
1737
+			    $important_selectors = array(
1738
+				    ".bg-{$type}" => array('b','f'),
1739
+				    ".border-{$type}" => array('o'),
1740
+				    ".text-{$type}" => array('c'),
1741
+			    );
1742
+
1743
+			    $color = array();
1744
+			    $color_i = array();
1745
+			    $background = array();
1746
+			    $background_i = array();
1747
+			    $border = array();
1748
+			    $border_i = array();
1749
+			    $fill = array();
1750
+			    $fill_i = array();
1751
+
1752
+			    $output = '';
1753
+
1754
+			    if ( $aui_bs5 ) {
1755
+    //				$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).'; }';
1756
+				    $output .= 'html body {--bs-'.esc_attr($type).'-rgb: '.$rgb.'; }';
1757
+			    }
1758
+
1759
+			    // build rules into each type
1760
+			    foreach($selectors as $selector => $types){
1761
+				    $selector = $compatibility ? $compatibility . " ".$selector : $selector;
1762
+				    $types = array_combine($types,$types);
1763
+				    if(isset($types['c'])){$color[] = $selector;}
1764
+				    if(isset($types['b'])){$background[] = $selector;}
1765
+				    if(isset($types['o'])){$border[] = $selector;}
1766
+				    if(isset($types['f'])){$fill[] = $selector;}
1767
+			    }
1768
+
1769
+			    // build rules into each type
1770
+			    foreach($important_selectors as $selector => $types){
1771
+				    $selector = $compatibility ? $compatibility . " ".$selector : $selector;
1772
+				    $types = array_combine($types,$types);
1773
+				    if(isset($types['c'])){$color_i[] = $selector;}
1774
+				    if(isset($types['b'])){$background_i[] = $selector;}
1775
+				    if(isset($types['o'])){$border_i[] = $selector;}
1776
+				    if(isset($types['f'])){$fill_i[] = $selector;}
1777
+			    }
1778
+
1779
+			    // add any color rules
1780
+			    if(!empty($color)){
1781
+				    $output .= implode(",",$color) . "{color: $color_code;} ";
1782
+			    }
1783
+			    if(!empty($color_i)){
1784
+				    $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1785
+			    }
1786
+
1787
+			    // add any background color rules
1788
+			    if(!empty($background)){
1789
+				    $output .= implode(",",$background) . "{background-color: $color_code;} ";
1790
+			    }
1791
+			    if(!empty($background_i)){
1792
+				    $output .= $aui_bs5 ? '' : implode(",",$background_i) . "{background-color: $color_code !important;} ";
1793
+    //				$output .= implode(",",$background_i) . "{background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;} ";
1794
+			    }
1795
+
1796
+			    // add any border color rules
1797
+			    if(!empty($border)){
1798
+				    $output .= implode(",",$border) . "{border-color: $color_code;} ";
1799
+			    }
1800
+			    if(!empty($border_i)){
1801
+				    $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1802
+			    }
1803
+
1804
+			    // add any fill color rules
1805
+			    if(!empty($fill)){
1806
+				    $output .= implode(",",$fill) . "{fill: $color_code;} ";
1807
+			    }
1808
+			    if(!empty($fill_i)){
1809
+				    $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1810
+			    }
1811
+
1812
+
1813
+			    $prefix = $compatibility ? $compatibility . " " : "";
1814
+
1815
+			    $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;' : '';
1816
+			    // darken
1817
+			    $darker_075 = $is_var ? $color_code.';filter:brightness(0.925)' : self::css_hex_lighten_darken($color_code,"-0.075");
1818
+			    $darker_10 = $is_var ? $color_code.';filter:brightness(0.9)' : self::css_hex_lighten_darken($color_code,"-0.10");
1819
+			    $darker_125 = $is_var ? $color_code.';filter:brightness(0.875)' : self::css_hex_lighten_darken($color_code,"-0.125");
1820
+			    $darker_40 = $is_var ? $color_code.';filter:brightness(0.6)' : self::css_hex_lighten_darken($color_code,"-0.4");
1821
+
1822
+			    // lighten
1823
+			    $lighten_25 = $is_var ? $color_code.';filter:brightness(1.25)' :self::css_hex_lighten_darken($color_code,"0.25");
1824
+
1825
+			    // opacity see https://css-tricks.com/8-digit-hex-codes/
1826
+			    $op_25 = $color_code."40"; // 25% opacity
1827
+
1828
+
1829
+			    // button states
1830
+			    $output .= $is_var ? $prefix ." .btn-{$type}{{$transition }} " : '';
1831
+			    $output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1832
+    //			$output .= $prefix ." .btn-{$type}:hover, $prefix .btn-{$type}:focus, $prefix .btn-{$type}.focus{background-color: #000;    border-color: #000;} ";
1833
+			    $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;} ";
1834
+			    $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.";} ";
1835
+			    $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;} ";
1836
+
1837
+			    if ( $type == 'primary' ) {
1838
+				    // dropdown's
1839
+				    $output .= $prefix . " .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1840
+
1841
+				    // input states
1842
+				    $output .= $prefix . " .form-control:focus{border-color: " . $lighten_25 . ";box-shadow: 0 0 0 0.2rem $op_25;} ";
1843
+
1844
+				    // page link
1845
+				    $output .= $prefix . " .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1846
+			    }
1847
+
1848
+                // alerts
1849
+			    if ( $aui_bs5 ) {
1850
+    //				$output .= $is_var ? '' : $prefix ." .alert-{$type} {background-color: ".$color_code."20;    border-color: ".$color_code."30;color:$darker_40} ";
1851
+				    $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;} ";
1852
+			    }
1853
+
1854
+			    return $output;
1855
+		    }
1856
+
1857
+		    /**
1858 1858
 		 *
1859 1859
 		 * @deprecated 0.1.76 Use css_overwrite()
1860 1860
 		 *
@@ -1864,151 +1864,151 @@  discard block
 block discarded – undo
1864 1864
 		 *
1865 1865
 		 * @return string
1866 1866
 		 */
1867
-		public static function css_primary($color_code,$compatibility, $use_variable = false){
1867
+		    public static function css_primary($color_code,$compatibility, $use_variable = false){
1868 1868
 
1869
-			if(!$use_variable){
1870
-				$color_code = sanitize_hex_color($color_code);
1871
-				if(!$color_code){return '';}
1872
-			}
1869
+			    if(!$use_variable){
1870
+				    $color_code = sanitize_hex_color($color_code);
1871
+				    if(!$color_code){return '';}
1872
+			    }
1873 1873
 
1874
-			/**
1874
+			    /**
1875 1875
 			 * c = color, b = background color, o = border-color, f = fill
1876 1876
 			 */
1877
-			$selectors = array(
1878
-				'a' => array('c'),
1879
-				'.btn-primary' => array('b','o'),
1880
-				'.btn-primary.disabled' => array('b','o'),
1881
-				'.btn-primary:disabled' => array('b','o'),
1882
-				'.btn-outline-primary' => array('c','o'),
1883
-				'.btn-outline-primary:hover' => array('b','o'),
1884
-				'.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'),
1885
-				'.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'),
1886
-				'.show>.btn-outline-primary.dropdown-toggle' => array('b','o'),
1887
-				'.btn-link' => array('c'),
1888
-				'.dropdown-item.active' => array('b'),
1889
-				'.custom-control-input:checked~.custom-control-label::before' => array('b','o'),
1890
-				'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'),
1891
-//				'.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1892
-//				'.custom-range::-moz-range-thumb' => array('b'),
1893
-//				'.custom-range::-ms-thumb' => array('b'),
1894
-				'.nav-pills .nav-link.active' => array('b'),
1895
-				'.nav-pills .show>.nav-link' => array('b'),
1896
-				'.page-link' => array('c'),
1897
-				'.page-item.active .page-link' => array('b','o'),
1898
-				'.badge-primary' => array('b'),
1899
-				'.alert-primary' => array('b','o'),
1900
-				'.progress-bar' => array('b'),
1901
-				'.list-group-item.active' => array('b','o'),
1902
-				'.bg-primary' => array('b','f'),
1903
-				'.btn-link.btn-primary' => array('c'),
1904
-				'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1905
-			);
1906
-
1907
-			$important_selectors = array(
1908
-				'.bg-primary' => array('b','f'),
1909
-				'.border-primary' => array('o'),
1910
-				'.text-primary' => array('c'),
1911
-			);
1912
-
1913
-			$color = array();
1914
-			$color_i = array();
1915
-			$background = array();
1916
-			$background_i = array();
1917
-			$border = array();
1918
-			$border_i = array();
1919
-			$fill = array();
1920
-			$fill_i = array();
1921
-
1922
-			$output = '';
1923
-
1924
-			// build rules into each type
1925
-			foreach($selectors as $selector => $types){
1926
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1927
-				$types = array_combine($types,$types);
1928
-				if(isset($types['c'])){$color[] = $selector;}
1929
-				if(isset($types['b'])){$background[] = $selector;}
1930
-				if(isset($types['o'])){$border[] = $selector;}
1931
-				if(isset($types['f'])){$fill[] = $selector;}
1932
-			}
1933
-
1934
-			// build rules into each type
1935
-			foreach($important_selectors as $selector => $types){
1936
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1937
-				$types = array_combine($types,$types);
1938
-				if(isset($types['c'])){$color_i[] = $selector;}
1939
-				if(isset($types['b'])){$background_i[] = $selector;}
1940
-				if(isset($types['o'])){$border_i[] = $selector;}
1941
-				if(isset($types['f'])){$fill_i[] = $selector;}
1942
-			}
1943
-
1944
-			// add any color rules
1945
-			if(!empty($color)){
1946
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1947
-			}
1948
-			if(!empty($color_i)){
1949
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1950
-			}
1951
-
1952
-			// add any background color rules
1953
-			if(!empty($background)){
1954
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1955
-			}
1956
-			if(!empty($background_i)){
1957
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1958
-			}
1959
-
1960
-			// add any border color rules
1961
-			if(!empty($border)){
1962
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1963
-			}
1964
-			if(!empty($border_i)){
1965
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1966
-			}
1967
-
1968
-			// add any fill color rules
1969
-			if(!empty($fill)){
1970
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1971
-			}
1972
-			if(!empty($fill_i)){
1973
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1974
-			}
1975
-
1976
-
1977
-			$prefix = $compatibility ? ".bsui " : "";
1978
-
1979
-			// darken
1980
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1981
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1982
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1983
-
1984
-			// lighten
1985
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1986
-
1987
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
1988
-			$op_25 = $color_code."40"; // 25% opacity
1989
-
1990
-
1991
-			// button states
1992
-			$output .= $prefix ." .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1993
-			$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;} ";
1994
-			$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.";} ";
1995
-			$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;} ";
1996
-
1997
-
1998
-			// dropdown's
1999
-			$output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
2000
-
2001
-
2002
-			// input states
2003
-			$output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} ";
2004
-
2005
-			// page link
2006
-			$output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
2007
-
2008
-			return $output;
2009
-		}
2010
-
2011
-		/**
1877
+			    $selectors = array(
1878
+				    'a' => array('c'),
1879
+				    '.btn-primary' => array('b','o'),
1880
+				    '.btn-primary.disabled' => array('b','o'),
1881
+				    '.btn-primary:disabled' => array('b','o'),
1882
+				    '.btn-outline-primary' => array('c','o'),
1883
+				    '.btn-outline-primary:hover' => array('b','o'),
1884
+				    '.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'),
1885
+				    '.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'),
1886
+				    '.show>.btn-outline-primary.dropdown-toggle' => array('b','o'),
1887
+				    '.btn-link' => array('c'),
1888
+				    '.dropdown-item.active' => array('b'),
1889
+				    '.custom-control-input:checked~.custom-control-label::before' => array('b','o'),
1890
+				    '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'),
1891
+    //				'.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1892
+    //				'.custom-range::-moz-range-thumb' => array('b'),
1893
+    //				'.custom-range::-ms-thumb' => array('b'),
1894
+				    '.nav-pills .nav-link.active' => array('b'),
1895
+				    '.nav-pills .show>.nav-link' => array('b'),
1896
+				    '.page-link' => array('c'),
1897
+				    '.page-item.active .page-link' => array('b','o'),
1898
+				    '.badge-primary' => array('b'),
1899
+				    '.alert-primary' => array('b','o'),
1900
+				    '.progress-bar' => array('b'),
1901
+				    '.list-group-item.active' => array('b','o'),
1902
+				    '.bg-primary' => array('b','f'),
1903
+				    '.btn-link.btn-primary' => array('c'),
1904
+				    '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1905
+			    );
1906
+
1907
+			    $important_selectors = array(
1908
+				    '.bg-primary' => array('b','f'),
1909
+				    '.border-primary' => array('o'),
1910
+				    '.text-primary' => array('c'),
1911
+			    );
1912
+
1913
+			    $color = array();
1914
+			    $color_i = array();
1915
+			    $background = array();
1916
+			    $background_i = array();
1917
+			    $border = array();
1918
+			    $border_i = array();
1919
+			    $fill = array();
1920
+			    $fill_i = array();
1921
+
1922
+			    $output = '';
1923
+
1924
+			    // build rules into each type
1925
+			    foreach($selectors as $selector => $types){
1926
+				    $selector = $compatibility ? ".bsui ".$selector : $selector;
1927
+				    $types = array_combine($types,$types);
1928
+				    if(isset($types['c'])){$color[] = $selector;}
1929
+				    if(isset($types['b'])){$background[] = $selector;}
1930
+				    if(isset($types['o'])){$border[] = $selector;}
1931
+				    if(isset($types['f'])){$fill[] = $selector;}
1932
+			    }
1933
+
1934
+			    // build rules into each type
1935
+			    foreach($important_selectors as $selector => $types){
1936
+				    $selector = $compatibility ? ".bsui ".$selector : $selector;
1937
+				    $types = array_combine($types,$types);
1938
+				    if(isset($types['c'])){$color_i[] = $selector;}
1939
+				    if(isset($types['b'])){$background_i[] = $selector;}
1940
+				    if(isset($types['o'])){$border_i[] = $selector;}
1941
+				    if(isset($types['f'])){$fill_i[] = $selector;}
1942
+			    }
1943
+
1944
+			    // add any color rules
1945
+			    if(!empty($color)){
1946
+				    $output .= implode(",",$color) . "{color: $color_code;} ";
1947
+			    }
1948
+			    if(!empty($color_i)){
1949
+				    $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1950
+			    }
1951
+
1952
+			    // add any background color rules
1953
+			    if(!empty($background)){
1954
+				    $output .= implode(",",$background) . "{background-color: $color_code;} ";
1955
+			    }
1956
+			    if(!empty($background_i)){
1957
+				    $output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1958
+			    }
1959
+
1960
+			    // add any border color rules
1961
+			    if(!empty($border)){
1962
+				    $output .= implode(",",$border) . "{border-color: $color_code;} ";
1963
+			    }
1964
+			    if(!empty($border_i)){
1965
+				    $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1966
+			    }
1967
+
1968
+			    // add any fill color rules
1969
+			    if(!empty($fill)){
1970
+				    $output .= implode(",",$fill) . "{fill: $color_code;} ";
1971
+			    }
1972
+			    if(!empty($fill_i)){
1973
+				    $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1974
+			    }
1975
+
1976
+
1977
+			    $prefix = $compatibility ? ".bsui " : "";
1978
+
1979
+			    // darken
1980
+			    $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1981
+			    $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1982
+			    $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1983
+
1984
+			    // lighten
1985
+			    $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1986
+
1987
+			    // opacity see https://css-tricks.com/8-digit-hex-codes/
1988
+			    $op_25 = $color_code."40"; // 25% opacity
1989
+
1990
+
1991
+			    // button states
1992
+			    $output .= $prefix ." .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1993
+			    $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;} ";
1994
+			    $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.";} ";
1995
+			    $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;} ";
1996
+
1997
+
1998
+			    // dropdown's
1999
+			    $output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
2000
+
2001
+
2002
+			    // input states
2003
+			    $output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} ";
2004
+
2005
+			    // page link
2006
+			    $output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
2007
+
2008
+			    return $output;
2009
+		    }
2010
+
2011
+		    /**
2012 2012
 		 *
2013 2013
 		 * @deprecated 0.1.76 Use css_overwrite()
2014 2014
 		 *
@@ -2017,123 +2017,123 @@  discard block
 block discarded – undo
2017 2017
 		 *
2018 2018
 		 * @return string
2019 2019
 		 */
2020
-		public static function css_secondary($color_code,$compatibility){;
2021
-			$color_code = sanitize_hex_color($color_code);
2022
-			if(!$color_code){return '';}
2023
-			/**
2020
+		    public static function css_secondary($color_code,$compatibility){;
2021
+			    $color_code = sanitize_hex_color($color_code);
2022
+			    if(!$color_code){return '';}
2023
+			    /**
2024 2024
 			 * c = color, b = background color, o = border-color, f = fill
2025 2025
 			 */
2026
-			$selectors = array(
2027
-				'.btn-secondary' => array('b','o'),
2028
-				'.btn-secondary.disabled' => array('b','o'),
2029
-				'.btn-secondary:disabled' => array('b','o'),
2030
-				'.btn-outline-secondary' => array('c','o'),
2031
-				'.btn-outline-secondary:hover' => array('b','o'),
2032
-				'.btn-outline-secondary.disabled' => array('c'),
2033
-				'.btn-outline-secondary:disabled' => array('c'),
2034
-				'.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'),
2035
-				'.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'),
2036
-				'.btn-outline-secondary.dropdown-toggle' => array('b','o'),
2037
-				'.badge-secondary' => array('b'),
2038
-				'.alert-secondary' => array('b','o'),
2039
-				'.btn-link.btn-secondary' => array('c'),
2040
-			);
2041
-
2042
-			$important_selectors = array(
2043
-				'.bg-secondary' => array('b','f'),
2044
-				'.border-secondary' => array('o'),
2045
-				'.text-secondary' => array('c'),
2046
-			);
2047
-
2048
-			$color = array();
2049
-			$color_i = array();
2050
-			$background = array();
2051
-			$background_i = array();
2052
-			$border = array();
2053
-			$border_i = array();
2054
-			$fill = array();
2055
-			$fill_i = array();
2056
-
2057
-			$output = '';
2058
-
2059
-			// build rules into each type
2060
-			foreach($selectors as $selector => $types){
2061
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
2062
-				$types = array_combine($types,$types);
2063
-				if(isset($types['c'])){$color[] = $selector;}
2064
-				if(isset($types['b'])){$background[] = $selector;}
2065
-				if(isset($types['o'])){$border[] = $selector;}
2066
-				if(isset($types['f'])){$fill[] = $selector;}
2067
-			}
2068
-
2069
-			// build rules into each type
2070
-			foreach($important_selectors as $selector => $types){
2071
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
2072
-				$types = array_combine($types,$types);
2073
-				if(isset($types['c'])){$color_i[] = $selector;}
2074
-				if(isset($types['b'])){$background_i[] = $selector;}
2075
-				if(isset($types['o'])){$border_i[] = $selector;}
2076
-				if(isset($types['f'])){$fill_i[] = $selector;}
2077
-			}
2078
-
2079
-			// add any color rules
2080
-			if(!empty($color)){
2081
-				$output .= implode(",",$color) . "{color: $color_code;} ";
2082
-			}
2083
-			if(!empty($color_i)){
2084
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
2085
-			}
2086
-
2087
-			// add any background color rules
2088
-			if(!empty($background)){
2089
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
2090
-			}
2091
-			if(!empty($background_i)){
2092
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
2093
-			}
2094
-
2095
-			// add any border color rules
2096
-			if(!empty($border)){
2097
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
2098
-			}
2099
-			if(!empty($border_i)){
2100
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
2101
-			}
2102
-
2103
-			// add any fill color rules
2104
-			if(!empty($fill)){
2105
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
2106
-			}
2107
-			if(!empty($fill_i)){
2108
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
2109
-			}
2110
-
2111
-
2112
-			$prefix = $compatibility ? ".bsui " : "";
2113
-
2114
-			// darken
2115
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
2116
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
2117
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
2118
-
2119
-			// lighten
2120
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
2121
-
2122
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
2123
-			$op_25 = $color_code."40"; // 25% opacity
2124
-
2125
-
2126
-			// button states
2127
-			$output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
2128
-			$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;} ";
2129
-			$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.";} ";
2130
-			$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;} ";
2131
-
2132
-
2133
-			return $output;
2134
-		}
2135
-
2136
-		/**
2026
+			    $selectors = array(
2027
+				    '.btn-secondary' => array('b','o'),
2028
+				    '.btn-secondary.disabled' => array('b','o'),
2029
+				    '.btn-secondary:disabled' => array('b','o'),
2030
+				    '.btn-outline-secondary' => array('c','o'),
2031
+				    '.btn-outline-secondary:hover' => array('b','o'),
2032
+				    '.btn-outline-secondary.disabled' => array('c'),
2033
+				    '.btn-outline-secondary:disabled' => array('c'),
2034
+				    '.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'),
2035
+				    '.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'),
2036
+				    '.btn-outline-secondary.dropdown-toggle' => array('b','o'),
2037
+				    '.badge-secondary' => array('b'),
2038
+				    '.alert-secondary' => array('b','o'),
2039
+				    '.btn-link.btn-secondary' => array('c'),
2040
+			    );
2041
+
2042
+			    $important_selectors = array(
2043
+				    '.bg-secondary' => array('b','f'),
2044
+				    '.border-secondary' => array('o'),
2045
+				    '.text-secondary' => array('c'),
2046
+			    );
2047
+
2048
+			    $color = array();
2049
+			    $color_i = array();
2050
+			    $background = array();
2051
+			    $background_i = array();
2052
+			    $border = array();
2053
+			    $border_i = array();
2054
+			    $fill = array();
2055
+			    $fill_i = array();
2056
+
2057
+			    $output = '';
2058
+
2059
+			    // build rules into each type
2060
+			    foreach($selectors as $selector => $types){
2061
+				    $selector = $compatibility ? ".bsui ".$selector : $selector;
2062
+				    $types = array_combine($types,$types);
2063
+				    if(isset($types['c'])){$color[] = $selector;}
2064
+				    if(isset($types['b'])){$background[] = $selector;}
2065
+				    if(isset($types['o'])){$border[] = $selector;}
2066
+				    if(isset($types['f'])){$fill[] = $selector;}
2067
+			    }
2068
+
2069
+			    // build rules into each type
2070
+			    foreach($important_selectors as $selector => $types){
2071
+				    $selector = $compatibility ? ".bsui ".$selector : $selector;
2072
+				    $types = array_combine($types,$types);
2073
+				    if(isset($types['c'])){$color_i[] = $selector;}
2074
+				    if(isset($types['b'])){$background_i[] = $selector;}
2075
+				    if(isset($types['o'])){$border_i[] = $selector;}
2076
+				    if(isset($types['f'])){$fill_i[] = $selector;}
2077
+			    }
2078
+
2079
+			    // add any color rules
2080
+			    if(!empty($color)){
2081
+				    $output .= implode(",",$color) . "{color: $color_code;} ";
2082
+			    }
2083
+			    if(!empty($color_i)){
2084
+				    $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
2085
+			    }
2086
+
2087
+			    // add any background color rules
2088
+			    if(!empty($background)){
2089
+				    $output .= implode(",",$background) . "{background-color: $color_code;} ";
2090
+			    }
2091
+			    if(!empty($background_i)){
2092
+				    $output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
2093
+			    }
2094
+
2095
+			    // add any border color rules
2096
+			    if(!empty($border)){
2097
+				    $output .= implode(",",$border) . "{border-color: $color_code;} ";
2098
+			    }
2099
+			    if(!empty($border_i)){
2100
+				    $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
2101
+			    }
2102
+
2103
+			    // add any fill color rules
2104
+			    if(!empty($fill)){
2105
+				    $output .= implode(",",$fill) . "{fill: $color_code;} ";
2106
+			    }
2107
+			    if(!empty($fill_i)){
2108
+				    $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
2109
+			    }
2110
+
2111
+
2112
+			    $prefix = $compatibility ? ".bsui " : "";
2113
+
2114
+			    // darken
2115
+			    $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
2116
+			    $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
2117
+			    $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
2118
+
2119
+			    // lighten
2120
+			    $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
2121
+
2122
+			    // opacity see https://css-tricks.com/8-digit-hex-codes/
2123
+			    $op_25 = $color_code."40"; // 25% opacity
2124
+
2125
+
2126
+			    // button states
2127
+			    $output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
2128
+			    $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;} ";
2129
+			    $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.";} ";
2130
+			    $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;} ";
2131
+
2132
+
2133
+			    return $output;
2134
+		    }
2135
+
2136
+		    /**
2137 2137
 		 * Increases or decreases the brightness of a color by a percentage of the current brightness.
2138 2138
 		 *
2139 2139
 		 * @param   string  $hexCode        Supported formats: `#FFF`, `#FFFFFF`, `FFF`, `FFFFFF`
@@ -2141,265 +2141,265 @@  discard block
 block discarded – undo
2141 2141
 		 *
2142 2142
 		 * @return  string
2143 2143
 		 */
2144
-		public static function css_hex_lighten_darken($hexCode, $adjustPercent) {
2145
-			$hexCode = ltrim($hexCode, '#');
2144
+		    public static function css_hex_lighten_darken($hexCode, $adjustPercent) {
2145
+			    $hexCode = ltrim($hexCode, '#');
2146 2146
 
2147
-			if ( strpos( $hexCode, 'rgba(' ) !== false || strpos( $hexCode, 'rgb(' ) !== false ) {
2148
-				return $hexCode;
2149
-			}
2147
+			    if ( strpos( $hexCode, 'rgba(' ) !== false || strpos( $hexCode, 'rgb(' ) !== false ) {
2148
+				    return $hexCode;
2149
+			    }
2150 2150
 
2151
-			if (strlen($hexCode) == 3) {
2152
-				$hexCode = $hexCode[0] . $hexCode[0] . $hexCode[1] . $hexCode[1] . $hexCode[2] . $hexCode[2];
2153
-			}
2151
+			    if (strlen($hexCode) == 3) {
2152
+				    $hexCode = $hexCode[0] . $hexCode[0] . $hexCode[1] . $hexCode[1] . $hexCode[2] . $hexCode[2];
2153
+			    }
2154 2154
 
2155
-			$hexCode = array_map('hexdec', str_split($hexCode, 2));
2155
+			    $hexCode = array_map('hexdec', str_split($hexCode, 2));
2156 2156
 
2157
-			foreach ($hexCode as & $color) {
2158
-				$adjustableLimit = $adjustPercent < 0 ? $color : 255 - $color;
2159
-				$adjustAmount = ceil($adjustableLimit * $adjustPercent);
2157
+			    foreach ($hexCode as & $color) {
2158
+				    $adjustableLimit = $adjustPercent < 0 ? $color : 255 - $color;
2159
+				    $adjustAmount = ceil($adjustableLimit * $adjustPercent);
2160 2160
 
2161
-				$color = str_pad(dechex($color + $adjustAmount), 2, '0', STR_PAD_LEFT);
2162
-			}
2161
+				    $color = str_pad(dechex($color + $adjustAmount), 2, '0', STR_PAD_LEFT);
2162
+			    }
2163 2163
 
2164
-			return '#' . implode($hexCode);
2165
-		}
2164
+			    return '#' . implode($hexCode);
2165
+		    }
2166 2166
 
2167
-		/**
2167
+		    /**
2168 2168
 		 * Check if we should display examples.
2169 2169
 		 */
2170
-		public function maybe_show_examples(){
2171
-			if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){
2172
-				echo "<head>";
2173
-				wp_head();
2174
-				echo "</head>";
2175
-				echo "<body>";
2176
-				echo $this->get_examples(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2177
-				echo "</body>";
2178
-				exit;
2179
-			}
2180
-		}
2181
-
2182
-		/**
2170
+		    public function maybe_show_examples(){
2171
+			    if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){
2172
+				    echo "<head>";
2173
+				    wp_head();
2174
+				    echo "</head>";
2175
+				    echo "<body>";
2176
+				    echo $this->get_examples(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2177
+				    echo "</body>";
2178
+				    exit;
2179
+			    }
2180
+		    }
2181
+
2182
+		    /**
2183 2183
 		 * Get developer examples.
2184 2184
 		 *
2185 2185
 		 * @return string
2186 2186
 		 */
2187
-		public function get_examples(){
2188
-			$output = '';
2189
-
2190
-
2191
-			// open form
2192
-			$output .= "<form class='p-5 m-5 border rounded'>";
2193
-
2194
-			// input example
2195
-			$output .= aui()->input(array(
2196
-				'type'  =>  'text',
2197
-				'id'    =>  'text-example',
2198
-				'name'    =>  'text-example',
2199
-				'placeholder'   => 'text placeholder',
2200
-				'title'   => 'Text input example',
2201
-				'value' =>  '',
2202
-				'required'  => false,
2203
-				'help_text' => 'help text',
2204
-				'label' => 'Text input example label'
2205
-			));
2206
-
2207
-			// input example
2208
-			$output .= aui()->input(array(
2209
-				'type'  =>  'url',
2210
-				'id'    =>  'text-example2',
2211
-				'name'    =>  'text-example',
2212
-				'placeholder'   => 'url placeholder',
2213
-				'title'   => 'Text input example',
2214
-				'value' =>  '',
2215
-				'required'  => false,
2216
-				'help_text' => 'help text',
2217
-				'label' => 'Text input example label'
2218
-			));
2219
-
2220
-			// checkbox example
2221
-			$output .= aui()->input(array(
2222
-				'type'  =>  'checkbox',
2223
-				'id'    =>  'checkbox-example',
2224
-				'name'    =>  'checkbox-example',
2225
-				'placeholder'   => 'checkbox-example',
2226
-				'title'   => 'Checkbox example',
2227
-				'value' =>  '1',
2228
-				'checked'   => true,
2229
-				'required'  => false,
2230
-				'help_text' => 'help text',
2231
-				'label' => 'Checkbox checked'
2232
-			));
2233
-
2234
-			// checkbox example
2235
-			$output .= aui()->input(array(
2236
-				'type'  =>  'checkbox',
2237
-				'id'    =>  'checkbox-example2',
2238
-				'name'    =>  'checkbox-example2',
2239
-				'placeholder'   => 'checkbox-example',
2240
-				'title'   => 'Checkbox example',
2241
-				'value' =>  '1',
2242
-				'checked'   => false,
2243
-				'required'  => false,
2244
-				'help_text' => 'help text',
2245
-				'label' => 'Checkbox un-checked'
2246
-			));
2247
-
2248
-			// switch example
2249
-			$output .= aui()->input(array(
2250
-				'type'  =>  'checkbox',
2251
-				'id'    =>  'switch-example',
2252
-				'name'    =>  'switch-example',
2253
-				'placeholder'   => 'checkbox-example',
2254
-				'title'   => 'Switch example',
2255
-				'value' =>  '1',
2256
-				'checked'   => true,
2257
-				'switch'    => true,
2258
-				'required'  => false,
2259
-				'help_text' => 'help text',
2260
-				'label' => 'Switch on'
2261
-			));
2262
-
2263
-			// switch example
2264
-			$output .= aui()->input(array(
2265
-				'type'  =>  'checkbox',
2266
-				'id'    =>  'switch-example2',
2267
-				'name'    =>  'switch-example2',
2268
-				'placeholder'   => 'checkbox-example',
2269
-				'title'   => 'Switch example',
2270
-				'value' =>  '1',
2271
-				'checked'   => false,
2272
-				'switch'    => true,
2273
-				'required'  => false,
2274
-				'help_text' => 'help text',
2275
-				'label' => 'Switch off'
2276
-			));
2277
-
2278
-			// close form
2279
-			$output .= "</form>";
2280
-
2281
-			return $output;
2282
-		}
2283
-
2284
-		/**
2187
+		    public function get_examples(){
2188
+			    $output = '';
2189
+
2190
+
2191
+			    // open form
2192
+			    $output .= "<form class='p-5 m-5 border rounded'>";
2193
+
2194
+			    // input example
2195
+			    $output .= aui()->input(array(
2196
+				    'type'  =>  'text',
2197
+				    'id'    =>  'text-example',
2198
+				    'name'    =>  'text-example',
2199
+				    'placeholder'   => 'text placeholder',
2200
+				    'title'   => 'Text input example',
2201
+				    'value' =>  '',
2202
+				    'required'  => false,
2203
+				    'help_text' => 'help text',
2204
+				    'label' => 'Text input example label'
2205
+			    ));
2206
+
2207
+			    // input example
2208
+			    $output .= aui()->input(array(
2209
+				    'type'  =>  'url',
2210
+				    'id'    =>  'text-example2',
2211
+				    'name'    =>  'text-example',
2212
+				    'placeholder'   => 'url placeholder',
2213
+				    'title'   => 'Text input example',
2214
+				    'value' =>  '',
2215
+				    'required'  => false,
2216
+				    'help_text' => 'help text',
2217
+				    'label' => 'Text input example label'
2218
+			    ));
2219
+
2220
+			    // checkbox example
2221
+			    $output .= aui()->input(array(
2222
+				    'type'  =>  'checkbox',
2223
+				    'id'    =>  'checkbox-example',
2224
+				    'name'    =>  'checkbox-example',
2225
+				    'placeholder'   => 'checkbox-example',
2226
+				    'title'   => 'Checkbox example',
2227
+				    'value' =>  '1',
2228
+				    'checked'   => true,
2229
+				    'required'  => false,
2230
+				    'help_text' => 'help text',
2231
+				    'label' => 'Checkbox checked'
2232
+			    ));
2233
+
2234
+			    // checkbox example
2235
+			    $output .= aui()->input(array(
2236
+				    'type'  =>  'checkbox',
2237
+				    'id'    =>  'checkbox-example2',
2238
+				    'name'    =>  'checkbox-example2',
2239
+				    'placeholder'   => 'checkbox-example',
2240
+				    'title'   => 'Checkbox example',
2241
+				    'value' =>  '1',
2242
+				    'checked'   => false,
2243
+				    'required'  => false,
2244
+				    'help_text' => 'help text',
2245
+				    'label' => 'Checkbox un-checked'
2246
+			    ));
2247
+
2248
+			    // switch example
2249
+			    $output .= aui()->input(array(
2250
+				    'type'  =>  'checkbox',
2251
+				    'id'    =>  'switch-example',
2252
+				    'name'    =>  'switch-example',
2253
+				    'placeholder'   => 'checkbox-example',
2254
+				    'title'   => 'Switch example',
2255
+				    'value' =>  '1',
2256
+				    'checked'   => true,
2257
+				    'switch'    => true,
2258
+				    'required'  => false,
2259
+				    'help_text' => 'help text',
2260
+				    'label' => 'Switch on'
2261
+			    ));
2262
+
2263
+			    // switch example
2264
+			    $output .= aui()->input(array(
2265
+				    'type'  =>  'checkbox',
2266
+				    'id'    =>  'switch-example2',
2267
+				    'name'    =>  'switch-example2',
2268
+				    'placeholder'   => 'checkbox-example',
2269
+				    'title'   => 'Switch example',
2270
+				    'value' =>  '1',
2271
+				    'checked'   => false,
2272
+				    'switch'    => true,
2273
+				    'required'  => false,
2274
+				    'help_text' => 'help text',
2275
+				    'label' => 'Switch off'
2276
+			    ));
2277
+
2278
+			    // close form
2279
+			    $output .= "</form>";
2280
+
2281
+			    return $output;
2282
+		    }
2283
+
2284
+		    /**
2285 2285
 		 * Calendar params.
2286 2286
 		 *
2287 2287
 		 * @since 0.1.44
2288 2288
 		 *
2289 2289
 		 * @return array Calendar params.
2290 2290
 		 */
2291
-		public static function calendar_params() {
2292
-			$params = array(
2293
-				'month_long_1' => __( 'January', 'ayecode-connect' ),
2294
-				'month_long_2' => __( 'February', 'ayecode-connect' ),
2295
-				'month_long_3' => __( 'March', 'ayecode-connect' ),
2296
-				'month_long_4' => __( 'April', 'ayecode-connect' ),
2297
-				'month_long_5' => __( 'May', 'ayecode-connect' ),
2298
-				'month_long_6' => __( 'June', 'ayecode-connect' ),
2299
-				'month_long_7' => __( 'July', 'ayecode-connect' ),
2300
-				'month_long_8' => __( 'August', 'ayecode-connect' ),
2301
-				'month_long_9' => __( 'September', 'ayecode-connect' ),
2302
-				'month_long_10' => __( 'October', 'ayecode-connect' ),
2303
-				'month_long_11' => __( 'November', 'ayecode-connect' ),
2304
-				'month_long_12' => __( 'December', 'ayecode-connect' ),
2305
-				'month_s_1' => _x( 'Jan', 'January abbreviation', 'ayecode-connect' ),
2306
-				'month_s_2' => _x( 'Feb', 'February abbreviation', 'ayecode-connect' ),
2307
-				'month_s_3' => _x( 'Mar', 'March abbreviation', 'ayecode-connect' ),
2308
-				'month_s_4' => _x( 'Apr', 'April abbreviation', 'ayecode-connect' ),
2309
-				'month_s_5' => _x( 'May', 'May abbreviation', 'ayecode-connect' ),
2310
-				'month_s_6' => _x( 'Jun', 'June abbreviation', 'ayecode-connect' ),
2311
-				'month_s_7' => _x( 'Jul', 'July abbreviation', 'ayecode-connect' ),
2312
-				'month_s_8' => _x( 'Aug', 'August abbreviation', 'ayecode-connect' ),
2313
-				'month_s_9' => _x( 'Sep', 'September abbreviation', 'ayecode-connect' ),
2314
-				'month_s_10' => _x( 'Oct', 'October abbreviation', 'ayecode-connect' ),
2315
-				'month_s_11' => _x( 'Nov', 'November abbreviation', 'ayecode-connect' ),
2316
-				'month_s_12' => _x( 'Dec', 'December abbreviation', 'ayecode-connect' ),
2317
-				'day_s1_1' => _x( 'S', 'Sunday initial', 'ayecode-connect' ),
2318
-				'day_s1_2' => _x( 'M', 'Monday initial', 'ayecode-connect' ),
2319
-				'day_s1_3' => _x( 'T', 'Tuesday initial', 'ayecode-connect' ),
2320
-				'day_s1_4' => _x( 'W', 'Wednesday initial', 'ayecode-connect' ),
2321
-				'day_s1_5' => _x( 'T', 'Friday initial', 'ayecode-connect' ),
2322
-				'day_s1_6' => _x( 'F', 'Thursday initial', 'ayecode-connect' ),
2323
-				'day_s1_7' => _x( 'S', 'Saturday initial', 'ayecode-connect' ),
2324
-				'day_s2_1' => __( 'Su', 'ayecode-connect' ),
2325
-				'day_s2_2' => __( 'Mo', 'ayecode-connect' ),
2326
-				'day_s2_3' => __( 'Tu', 'ayecode-connect' ),
2327
-				'day_s2_4' => __( 'We', 'ayecode-connect' ),
2328
-				'day_s2_5' => __( 'Th', 'ayecode-connect' ),
2329
-				'day_s2_6' => __( 'Fr', 'ayecode-connect' ),
2330
-				'day_s2_7' => __( 'Sa', 'ayecode-connect' ),
2331
-				'day_s3_1' => __( 'Sun', 'ayecode-connect' ),
2332
-				'day_s3_2' => __( 'Mon', 'ayecode-connect' ),
2333
-				'day_s3_3' => __( 'Tue', 'ayecode-connect' ),
2334
-				'day_s3_4' => __( 'Wed', 'ayecode-connect' ),
2335
-				'day_s3_5' => __( 'Thu', 'ayecode-connect' ),
2336
-				'day_s3_6' => __( 'Fri', 'ayecode-connect' ),
2337
-				'day_s3_7' => __( 'Sat', 'ayecode-connect' ),
2338
-				'day_s5_1' => __( 'Sunday', 'ayecode-connect' ),
2339
-				'day_s5_2' => __( 'Monday', 'ayecode-connect' ),
2340
-				'day_s5_3' => __( 'Tuesday', 'ayecode-connect' ),
2341
-				'day_s5_4' => __( 'Wednesday', 'ayecode-connect' ),
2342
-				'day_s5_5' => __( 'Thursday', 'ayecode-connect' ),
2343
-				'day_s5_6' => __( 'Friday', 'ayecode-connect' ),
2344
-				'day_s5_7' => __( 'Saturday', 'ayecode-connect' ),
2345
-				'am_lower' => __( 'am', 'ayecode-connect' ),
2346
-				'pm_lower' => __( 'pm', 'ayecode-connect' ),
2347
-				'am_upper' => __( 'AM', 'ayecode-connect' ),
2348
-				'pm_upper' => __( 'PM', 'ayecode-connect' ),
2349
-				'firstDayOfWeek' => (int) get_option( 'start_of_week' ),
2350
-				'time_24hr' => false,
2351
-				'year' => __( 'Year', 'ayecode-connect' ),
2352
-				'hour' => __( 'Hour', 'ayecode-connect' ),
2353
-				'minute' => __( 'Minute', 'ayecode-connect' ),
2354
-				'weekAbbreviation' => __( 'Wk', 'ayecode-connect' ),
2355
-				'rangeSeparator' => __( ' to ', 'ayecode-connect' ),
2356
-				'scrollTitle' => __( 'Scroll to increment', 'ayecode-connect' ),
2357
-				'toggleTitle' => __( 'Click to toggle', 'ayecode-connect' )
2358
-			);
2359
-
2360
-			return apply_filters( 'ayecode_ui_calendar_params', $params );
2361
-		}
2362
-
2363
-		/**
2291
+		    public static function calendar_params() {
2292
+			    $params = array(
2293
+				    'month_long_1' => __( 'January', 'ayecode-connect' ),
2294
+				    'month_long_2' => __( 'February', 'ayecode-connect' ),
2295
+				    'month_long_3' => __( 'March', 'ayecode-connect' ),
2296
+				    'month_long_4' => __( 'April', 'ayecode-connect' ),
2297
+				    'month_long_5' => __( 'May', 'ayecode-connect' ),
2298
+				    'month_long_6' => __( 'June', 'ayecode-connect' ),
2299
+				    'month_long_7' => __( 'July', 'ayecode-connect' ),
2300
+				    'month_long_8' => __( 'August', 'ayecode-connect' ),
2301
+				    'month_long_9' => __( 'September', 'ayecode-connect' ),
2302
+				    'month_long_10' => __( 'October', 'ayecode-connect' ),
2303
+				    'month_long_11' => __( 'November', 'ayecode-connect' ),
2304
+				    'month_long_12' => __( 'December', 'ayecode-connect' ),
2305
+				    'month_s_1' => _x( 'Jan', 'January abbreviation', 'ayecode-connect' ),
2306
+				    'month_s_2' => _x( 'Feb', 'February abbreviation', 'ayecode-connect' ),
2307
+				    'month_s_3' => _x( 'Mar', 'March abbreviation', 'ayecode-connect' ),
2308
+				    'month_s_4' => _x( 'Apr', 'April abbreviation', 'ayecode-connect' ),
2309
+				    'month_s_5' => _x( 'May', 'May abbreviation', 'ayecode-connect' ),
2310
+				    'month_s_6' => _x( 'Jun', 'June abbreviation', 'ayecode-connect' ),
2311
+				    'month_s_7' => _x( 'Jul', 'July abbreviation', 'ayecode-connect' ),
2312
+				    'month_s_8' => _x( 'Aug', 'August abbreviation', 'ayecode-connect' ),
2313
+				    'month_s_9' => _x( 'Sep', 'September abbreviation', 'ayecode-connect' ),
2314
+				    'month_s_10' => _x( 'Oct', 'October abbreviation', 'ayecode-connect' ),
2315
+				    'month_s_11' => _x( 'Nov', 'November abbreviation', 'ayecode-connect' ),
2316
+				    'month_s_12' => _x( 'Dec', 'December abbreviation', 'ayecode-connect' ),
2317
+				    'day_s1_1' => _x( 'S', 'Sunday initial', 'ayecode-connect' ),
2318
+				    'day_s1_2' => _x( 'M', 'Monday initial', 'ayecode-connect' ),
2319
+				    'day_s1_3' => _x( 'T', 'Tuesday initial', 'ayecode-connect' ),
2320
+				    'day_s1_4' => _x( 'W', 'Wednesday initial', 'ayecode-connect' ),
2321
+				    'day_s1_5' => _x( 'T', 'Friday initial', 'ayecode-connect' ),
2322
+				    'day_s1_6' => _x( 'F', 'Thursday initial', 'ayecode-connect' ),
2323
+				    'day_s1_7' => _x( 'S', 'Saturday initial', 'ayecode-connect' ),
2324
+				    'day_s2_1' => __( 'Su', 'ayecode-connect' ),
2325
+				    'day_s2_2' => __( 'Mo', 'ayecode-connect' ),
2326
+				    'day_s2_3' => __( 'Tu', 'ayecode-connect' ),
2327
+				    'day_s2_4' => __( 'We', 'ayecode-connect' ),
2328
+				    'day_s2_5' => __( 'Th', 'ayecode-connect' ),
2329
+				    'day_s2_6' => __( 'Fr', 'ayecode-connect' ),
2330
+				    'day_s2_7' => __( 'Sa', 'ayecode-connect' ),
2331
+				    'day_s3_1' => __( 'Sun', 'ayecode-connect' ),
2332
+				    'day_s3_2' => __( 'Mon', 'ayecode-connect' ),
2333
+				    'day_s3_3' => __( 'Tue', 'ayecode-connect' ),
2334
+				    'day_s3_4' => __( 'Wed', 'ayecode-connect' ),
2335
+				    'day_s3_5' => __( 'Thu', 'ayecode-connect' ),
2336
+				    'day_s3_6' => __( 'Fri', 'ayecode-connect' ),
2337
+				    'day_s3_7' => __( 'Sat', 'ayecode-connect' ),
2338
+				    'day_s5_1' => __( 'Sunday', 'ayecode-connect' ),
2339
+				    'day_s5_2' => __( 'Monday', 'ayecode-connect' ),
2340
+				    'day_s5_3' => __( 'Tuesday', 'ayecode-connect' ),
2341
+				    'day_s5_4' => __( 'Wednesday', 'ayecode-connect' ),
2342
+				    'day_s5_5' => __( 'Thursday', 'ayecode-connect' ),
2343
+				    'day_s5_6' => __( 'Friday', 'ayecode-connect' ),
2344
+				    'day_s5_7' => __( 'Saturday', 'ayecode-connect' ),
2345
+				    'am_lower' => __( 'am', 'ayecode-connect' ),
2346
+				    'pm_lower' => __( 'pm', 'ayecode-connect' ),
2347
+				    'am_upper' => __( 'AM', 'ayecode-connect' ),
2348
+				    'pm_upper' => __( 'PM', 'ayecode-connect' ),
2349
+				    'firstDayOfWeek' => (int) get_option( 'start_of_week' ),
2350
+				    'time_24hr' => false,
2351
+				    'year' => __( 'Year', 'ayecode-connect' ),
2352
+				    'hour' => __( 'Hour', 'ayecode-connect' ),
2353
+				    'minute' => __( 'Minute', 'ayecode-connect' ),
2354
+				    'weekAbbreviation' => __( 'Wk', 'ayecode-connect' ),
2355
+				    'rangeSeparator' => __( ' to ', 'ayecode-connect' ),
2356
+				    'scrollTitle' => __( 'Scroll to increment', 'ayecode-connect' ),
2357
+				    'toggleTitle' => __( 'Click to toggle', 'ayecode-connect' )
2358
+			    );
2359
+
2360
+			    return apply_filters( 'ayecode_ui_calendar_params', $params );
2361
+		    }
2362
+
2363
+		    /**
2364 2364
 		 * Flatpickr calendar localize.
2365 2365
 		 *
2366 2366
 		 * @since 0.1.44
2367 2367
 		 *
2368 2368
 		 * @return string Calendar locale.
2369 2369
 		 */
2370
-		public static function flatpickr_locale() {
2371
-			$params = self::calendar_params();
2370
+		    public static function flatpickr_locale() {
2371
+			    $params = self::calendar_params();
2372 2372
 
2373
-			if ( is_string( $params ) ) {
2374
-				$params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' );
2375
-			} else {
2376
-				foreach ( (array) $params as $key => $value ) {
2377
-					if ( ! is_scalar( $value ) ) {
2378
-						continue;
2379
-					}
2373
+			    if ( is_string( $params ) ) {
2374
+				    $params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' );
2375
+			    } else {
2376
+				    foreach ( (array) $params as $key => $value ) {
2377
+					    if ( ! is_scalar( $value ) ) {
2378
+						    continue;
2379
+					    }
2380 2380
 
2381
-					$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2382
-				}
2383
-			}
2381
+					    $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2382
+				    }
2383
+			    }
2384 2384
 
2385
-			$day_s3 = array();
2386
-			$day_s5 = array();
2385
+			    $day_s3 = array();
2386
+			    $day_s5 = array();
2387 2387
 
2388
-			for ( $i = 1; $i <= 7; $i ++ ) {
2389
-				$day_s3[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2390
-				$day_s5[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2391
-			}
2388
+			    for ( $i = 1; $i <= 7; $i ++ ) {
2389
+				    $day_s3[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2390
+				    $day_s5[] = addslashes( $params[ 'day_s3_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2391
+			    }
2392 2392
 
2393
-			$month_s = array();
2394
-			$month_long = array();
2393
+			    $month_s = array();
2394
+			    $month_long = array();
2395 2395
 
2396
-			for ( $i = 1; $i <= 12; $i ++ ) {
2397
-				$month_s[] = addslashes( $params[ 'month_s_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2398
-				$month_long[] = addslashes( $params[ 'month_long_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2399
-			}
2396
+			    for ( $i = 1; $i <= 12; $i ++ ) {
2397
+				    $month_s[] = addslashes( $params[ 'month_s_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2398
+				    $month_long[] = addslashes( $params[ 'month_long_' . $i ] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
2399
+			    }
2400 2400
 
2401
-			ob_start();
2402
-		if ( 0 ) { ?><script><?php } ?>
2401
+			    ob_start();
2402
+		    if ( 0 ) { ?><script><?php } ?>
2403 2403
                 {
2404 2404
                     weekdays: {
2405 2405
                         shorthand: ['<?php echo implode( "','", $day_s3 ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>'],
@@ -2435,192 +2435,192 @@  discard block
 block discarded – undo
2435 2435
                     hourAriaLabel: '<?php echo esc_attr( $params[ 'hour' ] ); ?>',
2436 2436
                     minuteAriaLabel: '<?php echo esc_attr( $params[ 'minute' ] ); ?>',
2437 2437
                     time_24hr: <?php echo ( $params[ 'time_24hr' ] ? 'true' : 'false' ) ; ?>
2438
-                }
2438
+                    }
2439 2439
 				<?php if ( 0 ) { ?></script><?php } ?>
2440
-			<?php
2441
-			$locale = ob_get_clean();
2440
+    			<?php
2441
+			    $locale = ob_get_clean();
2442 2442
 
2443
-			return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) );
2444
-		}
2443
+			    return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) );
2444
+		    }
2445 2445
 
2446
-		/**
2446
+		    /**
2447 2447
 		 * Select2 JS params.
2448 2448
 		 *
2449 2449
 		 * @since 0.1.44
2450 2450
 		 *
2451 2451
 		 * @return array Select2 JS params.
2452 2452
 		 */
2453
-		public static function select2_params() {
2454
-			$params = array(
2455
-				'i18n_select_state_text'    => esc_attr__( 'Select an option&hellip;', 'ayecode-connect' ),
2456
-				'i18n_no_matches'           => _x( 'No matches found', 'enhanced select', 'ayecode-connect' ),
2457
-				'i18n_ajax_error'           => _x( 'Loading failed', 'enhanced select', 'ayecode-connect' ),
2458
-				'i18n_input_too_short_1'    => _x( 'Please enter 1 or more characters', 'enhanced select', 'ayecode-connect' ),
2459
-				'i18n_input_too_short_n'    => _x( 'Please enter %item% or more characters', 'enhanced select', 'ayecode-connect' ),
2460
-				'i18n_input_too_long_1'     => _x( 'Please delete 1 character', 'enhanced select', 'ayecode-connect' ),
2461
-				'i18n_input_too_long_n'     => _x( 'Please delete %item% characters', 'enhanced select', 'ayecode-connect' ),
2462
-				'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'ayecode-connect' ),
2463
-				'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'ayecode-connect' ),
2464
-				'i18n_load_more'            => _x( 'Loading more results&hellip;', 'enhanced select', 'ayecode-connect' ),
2465
-				'i18n_searching'            => _x( 'Searching&hellip;', 'enhanced select', 'ayecode-connect' )
2466
-			);
2467
-
2468
-			return apply_filters( 'ayecode_ui_select2_params', $params );
2469
-		}
2470
-
2471
-		/**
2453
+		    public static function select2_params() {
2454
+			    $params = array(
2455
+				    'i18n_select_state_text'    => esc_attr__( 'Select an option&hellip;', 'ayecode-connect' ),
2456
+				    'i18n_no_matches'           => _x( 'No matches found', 'enhanced select', 'ayecode-connect' ),
2457
+				    'i18n_ajax_error'           => _x( 'Loading failed', 'enhanced select', 'ayecode-connect' ),
2458
+				    'i18n_input_too_short_1'    => _x( 'Please enter 1 or more characters', 'enhanced select', 'ayecode-connect' ),
2459
+				    'i18n_input_too_short_n'    => _x( 'Please enter %item% or more characters', 'enhanced select', 'ayecode-connect' ),
2460
+				    'i18n_input_too_long_1'     => _x( 'Please delete 1 character', 'enhanced select', 'ayecode-connect' ),
2461
+				    'i18n_input_too_long_n'     => _x( 'Please delete %item% characters', 'enhanced select', 'ayecode-connect' ),
2462
+				    'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'ayecode-connect' ),
2463
+				    'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'ayecode-connect' ),
2464
+				    'i18n_load_more'            => _x( 'Loading more results&hellip;', 'enhanced select', 'ayecode-connect' ),
2465
+				    'i18n_searching'            => _x( 'Searching&hellip;', 'enhanced select', 'ayecode-connect' )
2466
+			    );
2467
+
2468
+			    return apply_filters( 'ayecode_ui_select2_params', $params );
2469
+		    }
2470
+
2471
+		    /**
2472 2472
 		 * Select2 JS localize.
2473 2473
 		 *
2474 2474
 		 * @since 0.1.44
2475 2475
 		 *
2476 2476
 		 * @return string Select2 JS locale.
2477 2477
 		 */
2478
-		public static function select2_locale() {
2479
-			$params = self::select2_params();
2478
+		    public static function select2_locale() {
2479
+			    $params = self::select2_params();
2480 2480
 
2481
-			foreach ( (array) $params as $key => $value ) {
2482
-				if ( ! is_scalar( $value ) ) {
2483
-					continue;
2484
-				}
2481
+			    foreach ( (array) $params as $key => $value ) {
2482
+				    if ( ! is_scalar( $value ) ) {
2483
+					    continue;
2484
+				    }
2485 2485
 
2486
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2487
-			}
2486
+				    $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2487
+			    }
2488 2488
 
2489
-			$locale = json_encode( $params );
2489
+			    $locale = json_encode( $params );
2490 2490
 
2491
-			return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) );
2492
-		}
2491
+			    return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) );
2492
+		    }
2493 2493
 
2494
-		/**
2494
+		    /**
2495 2495
 		 * Time ago JS localize.
2496 2496
 		 *
2497 2497
 		 * @since 0.1.47
2498 2498
 		 *
2499 2499
 		 * @return string Time ago JS locale.
2500 2500
 		 */
2501
-		public static function timeago_locale() {
2502
-			$params = array(
2503
-				'prefix_ago' => '',
2504
-				'suffix_ago' => ' ' . _x( 'ago', 'time ago', 'ayecode-connect' ),
2505
-				'prefix_after' => _x( 'after', 'time ago', 'ayecode-connect' ) . ' ',
2506
-				'suffix_after' => '',
2507
-				'seconds' => _x( 'less than a minute', 'time ago', 'ayecode-connect' ),
2508
-				'minute' => _x( 'about a minute', 'time ago', 'ayecode-connect' ),
2509
-				'minutes' => _x( '%d minutes', 'time ago', 'ayecode-connect' ),
2510
-				'hour' => _x( 'about an hour', 'time ago', 'ayecode-connect' ),
2511
-				'hours' => _x( 'about %d hours', 'time ago', 'ayecode-connect' ),
2512
-				'day' => _x( 'a day', 'time ago', 'ayecode-connect' ),
2513
-				'days' => _x( '%d days', 'time ago', 'ayecode-connect' ),
2514
-				'month' => _x( 'about a month', 'time ago', 'ayecode-connect' ),
2515
-				'months' => _x( '%d months', 'time ago', 'ayecode-connect' ),
2516
-				'year' => _x( 'about a year', 'time ago', 'ayecode-connect' ),
2517
-				'years' => _x( '%d years', 'time ago', 'ayecode-connect' ),
2518
-			);
2519
-
2520
-			$params = apply_filters( 'ayecode_ui_timeago_params', $params );
2521
-
2522
-			foreach ( (array) $params as $key => $value ) {
2523
-				if ( ! is_scalar( $value ) ) {
2524
-					continue;
2525
-				}
2526
-
2527
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2528
-			}
2529
-
2530
-			$locale = json_encode( $params );
2531
-
2532
-			return apply_filters( 'ayecode_ui_timeago_locale', trim( $locale ) );
2533
-		}
2534
-
2535
-		/**
2501
+		    public static function timeago_locale() {
2502
+			    $params = array(
2503
+				    'prefix_ago' => '',
2504
+				    'suffix_ago' => ' ' . _x( 'ago', 'time ago', 'ayecode-connect' ),
2505
+				    'prefix_after' => _x( 'after', 'time ago', 'ayecode-connect' ) . ' ',
2506
+				    'suffix_after' => '',
2507
+				    'seconds' => _x( 'less than a minute', 'time ago', 'ayecode-connect' ),
2508
+				    'minute' => _x( 'about a minute', 'time ago', 'ayecode-connect' ),
2509
+				    'minutes' => _x( '%d minutes', 'time ago', 'ayecode-connect' ),
2510
+				    'hour' => _x( 'about an hour', 'time ago', 'ayecode-connect' ),
2511
+				    'hours' => _x( 'about %d hours', 'time ago', 'ayecode-connect' ),
2512
+				    'day' => _x( 'a day', 'time ago', 'ayecode-connect' ),
2513
+				    'days' => _x( '%d days', 'time ago', 'ayecode-connect' ),
2514
+				    'month' => _x( 'about a month', 'time ago', 'ayecode-connect' ),
2515
+				    'months' => _x( '%d months', 'time ago', 'ayecode-connect' ),
2516
+				    'year' => _x( 'about a year', 'time ago', 'ayecode-connect' ),
2517
+				    'years' => _x( '%d years', 'time ago', 'ayecode-connect' ),
2518
+			    );
2519
+
2520
+			    $params = apply_filters( 'ayecode_ui_timeago_params', $params );
2521
+
2522
+			    foreach ( (array) $params as $key => $value ) {
2523
+				    if ( ! is_scalar( $value ) ) {
2524
+					    continue;
2525
+				    }
2526
+
2527
+				    $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2528
+			    }
2529
+
2530
+			    $locale = json_encode( $params );
2531
+
2532
+			    return apply_filters( 'ayecode_ui_timeago_locale', trim( $locale ) );
2533
+		    }
2534
+
2535
+		    /**
2536 2536
 		 * JavaScript Minifier
2537 2537
 		 *
2538 2538
 		 * @param $input
2539 2539
 		 *
2540 2540
 		 * @return mixed
2541 2541
 		 */
2542
-		public static function minify_js($input) {
2543
-			if(trim($input) === "") return $input;
2544
-			return preg_replace(
2545
-				array(
2546
-					// Remove comment(s)
2547
-					'#\s*("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')\s*|\s*\/\*(?!\!|@cc_on)(?>[\s\S]*?\*\/)\s*|\s*(?<![\:\=])\/\/.*(?=[\n\r]|$)|^\s*|\s*$#',
2548
-					// Remove white-space(s) outside the string and regex
2549
-					'#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/)|\/(?!\/)[^\n\r]*?\/(?=[\s.,;]|[gimuy]|$))|\s*([!%&*\(\)\-=+\[\]\{\}|;:,.<>?\/])\s*#s',
2550
-					// Remove the last semicolon
2551
-					'#;+\}#',
2552
-					// Minify object attribute(s) except JSON attribute(s). From `{'foo':'bar'}` to `{foo:'bar'}`
2553
-					'#([\{,])([\'])(\d+|[a-z_][a-z0-9_]*)\2(?=\:)#i',
2554
-					// --ibid. From `foo['bar']` to `foo.bar`
2555
-					'#([a-z0-9_\)\]])\[([\'"])([a-z_][a-z0-9_]*)\2\]#i'
2556
-				),
2557
-				array(
2558
-					'$1',
2559
-					'$1$2',
2560
-					'}',
2561
-					'$1$3',
2562
-					'$1.$3'
2563
-				),
2564
-				$input);
2565
-		}
2566
-
2567
-		/**
2542
+		    public static function minify_js($input) {
2543
+			    if(trim($input) === "") return $input;
2544
+			    return preg_replace(
2545
+				    array(
2546
+					    // Remove comment(s)
2547
+					    '#\s*("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')\s*|\s*\/\*(?!\!|@cc_on)(?>[\s\S]*?\*\/)\s*|\s*(?<![\:\=])\/\/.*(?=[\n\r]|$)|^\s*|\s*$#',
2548
+					    // Remove white-space(s) outside the string and regex
2549
+					    '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/)|\/(?!\/)[^\n\r]*?\/(?=[\s.,;]|[gimuy]|$))|\s*([!%&*\(\)\-=+\[\]\{\}|;:,.<>?\/])\s*#s',
2550
+					    // Remove the last semicolon
2551
+					    '#;+\}#',
2552
+					    // Minify object attribute(s) except JSON attribute(s). From `{'foo':'bar'}` to `{foo:'bar'}`
2553
+					    '#([\{,])([\'])(\d+|[a-z_][a-z0-9_]*)\2(?=\:)#i',
2554
+					    // --ibid. From `foo['bar']` to `foo.bar`
2555
+					    '#([a-z0-9_\)\]])\[([\'"])([a-z_][a-z0-9_]*)\2\]#i'
2556
+				    ),
2557
+				    array(
2558
+					    '$1',
2559
+					    '$1$2',
2560
+					    '}',
2561
+					    '$1$3',
2562
+					    '$1.$3'
2563
+				    ),
2564
+				    $input);
2565
+		    }
2566
+
2567
+		    /**
2568 2568
 		 * Minify CSS
2569 2569
 		 *
2570 2570
 		 * @param $input
2571 2571
 		 *
2572 2572
 		 * @return mixed
2573 2573
 		 */
2574
-		public static function minify_css($input) {
2575
-			if(trim($input) === "") return $input;
2576
-			return preg_replace(
2577
-				array(
2578
-					// Remove comment(s)
2579
-					'#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')|\/\*(?!\!)(?>.*?\*\/)|^\s*|\s*$#s',
2580
-					// Remove unused white-space(s)
2581
-					'#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/))|\s*+;\s*+(})\s*+|\s*+([*$~^|]?+=|[{};,>~]|\s(?![0-9\.])|!important\b)\s*+|([[(:])\s++|\s++([])])|\s++(:)\s*+(?!(?>[^{}"\']++|"(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')*+{)|^\s++|\s++\z|(\s)\s+#si',
2582
-					// Replace `0(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)` with `0`
2583
-					'#(?<=[\s:])(0)(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)#si',
2584
-					// Replace `:0 0 0 0` with `:0`
2585
-					'#:(0\s+0|0\s+0\s+0\s+0)(?=[;\}]|\!important)#i',
2586
-					// Replace `background-position:0` with `background-position:0 0`
2587
-					'#(background-position):0(?=[;\}])#si',
2588
-					// Replace `0.6` with `.6`, but only when preceded by `:`, `,`, `-` or a white-space
2589
-					'#(?<=[\s:,\-])0+\.(\d+)#s',
2590
-					// Minify string value
2591
-					'#(\/\*(?>.*?\*\/))|(?<!content\:)([\'"])([a-z_][a-z0-9\-_]*?)\2(?=[\s\{\}\];,])#si',
2592
-					'#(\/\*(?>.*?\*\/))|(\burl\()([\'"])([^\s]+?)\3(\))#si',
2593
-					// Minify HEX color code
2594
-					'#(?<=[\s:,\-]\#)([a-f0-6]+)\1([a-f0-6]+)\2([a-f0-6]+)\3#i',
2595
-					// Replace `(border|outline):none` with `(border|outline):0`
2596
-					'#(?<=[\{;])(border|outline):none(?=[;\}\!])#',
2597
-					// Remove empty selector(s)
2598
-					'#(\/\*(?>.*?\*\/))|(^|[\{\}])(?:[^\s\{\}]+)\{\}#s'
2599
-				),
2600
-				array(
2601
-					'$1',
2602
-					'$1$2$3$4$5$6$7',
2603
-					'$1',
2604
-					':0',
2605
-					'$1:0 0',
2606
-					'.$1',
2607
-					'$1$3',
2608
-					'$1$2$4$5',
2609
-					'$1$2$3',
2610
-					'$1:0',
2611
-					'$1$2'
2612
-				),
2613
-				$input);
2614
-		}
2615
-
2616
-		/**
2574
+		    public static function minify_css($input) {
2575
+			    if(trim($input) === "") return $input;
2576
+			    return preg_replace(
2577
+				    array(
2578
+					    // Remove comment(s)
2579
+					    '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')|\/\*(?!\!)(?>.*?\*\/)|^\s*|\s*$#s',
2580
+					    // Remove unused white-space(s)
2581
+					    '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/))|\s*+;\s*+(})\s*+|\s*+([*$~^|]?+=|[{};,>~]|\s(?![0-9\.])|!important\b)\s*+|([[(:])\s++|\s++([])])|\s++(:)\s*+(?!(?>[^{}"\']++|"(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')*+{)|^\s++|\s++\z|(\s)\s+#si',
2582
+					    // Replace `0(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)` with `0`
2583
+					    '#(?<=[\s:])(0)(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)#si',
2584
+					    // Replace `:0 0 0 0` with `:0`
2585
+					    '#:(0\s+0|0\s+0\s+0\s+0)(?=[;\}]|\!important)#i',
2586
+					    // Replace `background-position:0` with `background-position:0 0`
2587
+					    '#(background-position):0(?=[;\}])#si',
2588
+					    // Replace `0.6` with `.6`, but only when preceded by `:`, `,`, `-` or a white-space
2589
+					    '#(?<=[\s:,\-])0+\.(\d+)#s',
2590
+					    // Minify string value
2591
+					    '#(\/\*(?>.*?\*\/))|(?<!content\:)([\'"])([a-z_][a-z0-9\-_]*?)\2(?=[\s\{\}\];,])#si',
2592
+					    '#(\/\*(?>.*?\*\/))|(\burl\()([\'"])([^\s]+?)\3(\))#si',
2593
+					    // Minify HEX color code
2594
+					    '#(?<=[\s:,\-]\#)([a-f0-6]+)\1([a-f0-6]+)\2([a-f0-6]+)\3#i',
2595
+					    // Replace `(border|outline):none` with `(border|outline):0`
2596
+					    '#(?<=[\{;])(border|outline):none(?=[;\}\!])#',
2597
+					    // Remove empty selector(s)
2598
+					    '#(\/\*(?>.*?\*\/))|(^|[\{\}])(?:[^\s\{\}]+)\{\}#s'
2599
+				    ),
2600
+				    array(
2601
+					    '$1',
2602
+					    '$1$2$3$4$5$6$7',
2603
+					    '$1',
2604
+					    ':0',
2605
+					    '$1:0 0',
2606
+					    '.$1',
2607
+					    '$1$3',
2608
+					    '$1$2$4$5',
2609
+					    '$1$2$3',
2610
+					    '$1:0',
2611
+					    '$1$2'
2612
+				    ),
2613
+				    $input);
2614
+		    }
2615
+
2616
+		    /**
2617 2617
 		 * Get the conditional fields JavaScript.
2618 2618
 		 *
2619 2619
 		 * @return mixed
2620 2620
 		 */
2621
-		public function conditional_fields_js() {
2622
-			ob_start();
2623
-			?>
2621
+		    public function conditional_fields_js() {
2622
+			    ob_start();
2623
+			    ?>
2624 2624
             <script>
2625 2625
                 /**
2626 2626
                  * Conditional Fields
@@ -3153,33 +3153,33 @@  discard block
 block discarded – undo
3153 3153
                     }
3154 3154
                 }
3155 3155
 				<?php do_action( 'aui_conditional_fields_js', $this ); ?>
3156
-            </script>
3156
+                </script>
3157 3157
 			<?php
3158
-			$output = ob_get_clean();
3158
+			    $output = ob_get_clean();
3159 3159
 
3160
-			return str_replace( array( '<script>', '</script>' ), '', self::minify_js( $output ) );
3161
-		}
3160
+			    return str_replace( array( '<script>', '</script>' ), '', self::minify_js( $output ) );
3161
+		    }
3162 3162
 
3163
-		/**
3163
+		    /**
3164 3164
 		 * Check if block editor page.
3165 3165
 		 *
3166 3166
 		 * @since 0.2.27
3167 3167
 		 *
3168 3168
 		 * @return bool
3169 3169
 		 */
3170
-		public static function is_block_editor() {
3171
-			if ( is_admin() ) {
3172
-				$current_screen = function_exists('get_current_screen' ) ? get_current_screen() : array();
3170
+		    public static function is_block_editor() {
3171
+			    if ( is_admin() ) {
3172
+				    $current_screen = function_exists('get_current_screen' ) ? get_current_screen() : array();
3173 3173
 
3174
-				if ( ! empty( $current_screen ) && $current_screen->is_block_editor() ) {
3175
-					return true;
3176
-				}
3177
-			}
3174
+				    if ( ! empty( $current_screen ) && $current_screen->is_block_editor() ) {
3175
+					    return true;
3176
+				    }
3177
+			    }
3178 3178
 
3179
-			return false;
3180
-		}
3179
+			    return false;
3180
+		    }
3181 3181
 
3182
-		/**
3182
+		    /**
3183 3183
 		 * Checks if the current call is a ajax call to get the block content.
3184 3184
 		 *
3185 3185
 		 * This can be used in your widget to return different content as the block content.
@@ -3188,32 +3188,32 @@  discard block
 block discarded – undo
3188 3188
 		 *
3189 3189
 		 * @return bool
3190 3190
 		 */
3191
-		public static function is_block_content_call() {
3192
-			$result = false;
3193
-			if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
3194
-				$result = true;
3195
-			}
3191
+		    public static function is_block_content_call() {
3192
+			    $result = false;
3193
+			    if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
3194
+				    $result = true;
3195
+			    }
3196 3196
 
3197
-			return $result;
3198
-		}
3197
+			    return $result;
3198
+		    }
3199 3199
 
3200
-		/**
3200
+		    /**
3201 3201
 		 * Tests if the current output is inside a Divi preview.
3202 3202
 		 *
3203 3203
 		 * @since 0.2.27
3204 3204
 		 *
3205 3205
 		 * @return bool
3206 3206
 		 */
3207
-		public static function is_divi_preview() {
3208
-			$result = false;
3209
-			if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
3210
-				$result = true;
3211
-			}
3207
+		    public static function is_divi_preview() {
3208
+			    $result = false;
3209
+			    if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
3210
+				    $result = true;
3211
+			    }
3212 3212
 
3213
-			return $result;
3214
-		}
3213
+			    return $result;
3214
+		    }
3215 3215
 
3216
-		/**
3216
+		    /**
3217 3217
 		 * Tests if the current output is inside a elementor preview.
3218 3218
 		 *
3219 3219
 		 *
@@ -3221,171 +3221,171 @@  discard block
 block discarded – undo
3221 3221
 		 *
3222 3222
 		 * @return bool
3223 3223
 		 */
3224
-		public static function is_elementor_preview() {
3225
-			$result = false;
3226
-			if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
3227
-				$result = true;
3228
-			}
3224
+		    public static function is_elementor_preview() {
3225
+			    $result = false;
3226
+			    if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
3227
+				    $result = true;
3228
+			    }
3229 3229
 
3230
-			return $result;
3231
-		}
3230
+			    return $result;
3231
+		    }
3232 3232
 
3233
-		/**
3233
+		    /**
3234 3234
 		 * Tests if the current output is inside a Beaver builder preview.
3235 3235
 		 *
3236 3236
 		 * @since 0.2.27
3237 3237
 		 *
3238 3238
 		 * @return bool
3239 3239
 		 */
3240
-		public static function is_beaver_preview() {
3241
-			$result = false;
3242
-			if ( isset( $_REQUEST['fl_builder'] ) ) {
3243
-				$result = true;
3244
-			}
3240
+		    public static function is_beaver_preview() {
3241
+			    $result = false;
3242
+			    if ( isset( $_REQUEST['fl_builder'] ) ) {
3243
+				    $result = true;
3244
+			    }
3245 3245
 
3246
-			return $result;
3247
-		}
3246
+			    return $result;
3247
+		    }
3248 3248
 
3249
-		/**
3249
+		    /**
3250 3250
 		 * Tests if the current output is inside a siteorigin builder preview.
3251 3251
 		 *
3252 3252
 		 * @since 0.2.27
3253 3253
 		 *
3254 3254
 		 * @return bool
3255 3255
 		 */
3256
-		public static function is_siteorigin_preview() {
3257
-			$result = false;
3258
-			if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
3259
-				$result = true;
3260
-			}
3256
+		    public static function is_siteorigin_preview() {
3257
+			    $result = false;
3258
+			    if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
3259
+				    $result = true;
3260
+			    }
3261 3261
 
3262
-			return $result;
3263
-		}
3262
+			    return $result;
3263
+		    }
3264 3264
 
3265
-		/**
3265
+		    /**
3266 3266
 		 * Tests if the current output is inside a cornerstone builder preview.
3267 3267
 		 *
3268 3268
 		 * @since 0.2.27
3269 3269
 		 *
3270 3270
 		 * @return bool
3271 3271
 		 */
3272
-		public static function is_cornerstone_preview() {
3273
-			$result = false;
3274
-			if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
3275
-				$result = true;
3276
-			}
3272
+		    public static function is_cornerstone_preview() {
3273
+			    $result = false;
3274
+			    if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
3275
+				    $result = true;
3276
+			    }
3277 3277
 
3278
-			return $result;
3279
-		}
3278
+			    return $result;
3279
+		    }
3280 3280
 
3281
-		/**
3281
+		    /**
3282 3282
 		 * Tests if the current output is inside a fusion builder preview.
3283 3283
 		 *
3284 3284
 		 * @return bool
3285 3285
 		 *@since 1.1.0
3286 3286
 		 */
3287
-		public static function is_fusion_preview() {
3288
-			$result = false;
3289
-			if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
3290
-				$result = true;
3291
-			}
3287
+		    public static function is_fusion_preview() {
3288
+			    $result = false;
3289
+			    if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
3290
+				    $result = true;
3291
+			    }
3292 3292
 
3293
-			return $result;
3294
-		}
3293
+			    return $result;
3294
+		    }
3295 3295
 
3296
-		/**
3296
+		    /**
3297 3297
 		 * Tests if the current output is inside a Oxygen builder preview.
3298 3298
 		 *
3299 3299
 		 * @return bool
3300 3300
 		 *@since 1.0.18
3301 3301
 		 */
3302
-		public static function is_oxygen_preview() {
3303
-			$result = false;
3304
-			if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
3305
-				$result = true;
3306
-			}
3302
+		    public static function is_oxygen_preview() {
3303
+			    $result = false;
3304
+			    if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
3305
+				    $result = true;
3306
+			    }
3307 3307
 
3308
-			return $result;
3309
-		}
3308
+			    return $result;
3309
+		    }
3310 3310
 
3311
-		/**
3311
+		    /**
3312 3312
 		 * Check for Kallyas theme Zion builder preview.
3313 3313
 		 *
3314 3314
 		 * @since 0.2.27
3315 3315
 		 *
3316 3316
 		 * @return bool
3317 3317
 		 */
3318
-		public static function is_kallyas_zion_preview() {
3319
-			$result = false;
3318
+		    public static function is_kallyas_zion_preview() {
3319
+			    $result = false;
3320 3320
 
3321
-			if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) {
3322
-				$result = true;
3323
-			}
3321
+			    if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) {
3322
+				    $result = true;
3323
+			    }
3324 3324
 
3325
-			return $result;
3326
-		}
3325
+			    return $result;
3326
+		    }
3327 3327
 
3328
-		/**
3328
+		    /**
3329 3329
 		 * Check for Bricks theme builder preview.
3330 3330
 		 *
3331 3331
 		 * @since 0.2.27
3332 3332
 		 *
3333 3333
 		 * @return bool
3334 3334
 		 */
3335
-		public static function is_bricks_preview() {
3336
-			$result = false;
3335
+		    public static function is_bricks_preview() {
3336
+			    $result = false;
3337 3337
 
3338
-			if ( function_exists( 'bricks_is_builder' ) && ( bricks_is_builder() || bricks_is_builder_call() ) ) {
3339
-				$result = true;
3340
-			}
3338
+			    if ( function_exists( 'bricks_is_builder' ) && ( bricks_is_builder() || bricks_is_builder_call() ) ) {
3339
+				    $result = true;
3340
+			    }
3341 3341
 
3342
-			return $result;
3343
-		}
3342
+			    return $result;
3343
+		    }
3344 3344
 
3345
-		/**
3345
+		    /**
3346 3346
 		 * General function to check if we are in a preview situation.
3347 3347
 		 *
3348 3348
 		 * @since 0.2.27
3349 3349
 		 *
3350 3350
 		 * @return bool
3351 3351
 		 */
3352
-		public static function is_preview() {
3353
-			$preview = false;
3354
-
3355
-			if ( self::is_block_editor() ) {
3356
-				return true;
3357
-			}
3358
-
3359
-			if( self::is_block_content_call() ) {
3360
-				$preview = true;
3361
-			} elseif ( self::is_divi_preview() ) {
3362
-				$preview = true;
3363
-			} elseif ( self::is_elementor_preview() ) {
3364
-				$preview = true;
3365
-			} elseif ( self::is_beaver_preview() ) {
3366
-				$preview = true;
3367
-			} elseif ( self::is_siteorigin_preview() ) {
3368
-				$preview = true;
3369
-			} elseif ( self::is_cornerstone_preview() ) {
3370
-				$preview = true;
3371
-			} elseif ( self::is_fusion_preview() ) {
3372
-				$preview = true;
3373
-			} elseif ( self::is_oxygen_preview() ) {
3374
-				$preview = true;
3375
-			} elseif( self::is_kallyas_zion_preview() ) {
3376
-				$preview = true;
3377
-			} elseif( self::is_bricks_preview() ) {
3378
-				$preview = true;
3379
-			}
3380
-
3381
-			return $preview;
3382
-		}
3383
-	}
3384
-
3385
-	global $ayecode_ui_settings;
3386
-
3387
-	/**
3352
+		    public static function is_preview() {
3353
+			    $preview = false;
3354
+
3355
+			    if ( self::is_block_editor() ) {
3356
+				    return true;
3357
+			    }
3358
+
3359
+			    if( self::is_block_content_call() ) {
3360
+				    $preview = true;
3361
+			    } elseif ( self::is_divi_preview() ) {
3362
+				    $preview = true;
3363
+			    } elseif ( self::is_elementor_preview() ) {
3364
+				    $preview = true;
3365
+			    } elseif ( self::is_beaver_preview() ) {
3366
+				    $preview = true;
3367
+			    } elseif ( self::is_siteorigin_preview() ) {
3368
+				    $preview = true;
3369
+			    } elseif ( self::is_cornerstone_preview() ) {
3370
+				    $preview = true;
3371
+			    } elseif ( self::is_fusion_preview() ) {
3372
+				    $preview = true;
3373
+			    } elseif ( self::is_oxygen_preview() ) {
3374
+				    $preview = true;
3375
+			    } elseif( self::is_kallyas_zion_preview() ) {
3376
+				    $preview = true;
3377
+			    } elseif( self::is_bricks_preview() ) {
3378
+				    $preview = true;
3379
+			    }
3380
+
3381
+			    return $preview;
3382
+		    }
3383
+	    }
3384
+
3385
+	    global $ayecode_ui_settings;
3386
+
3387
+	    /**
3388 3388
 	 * Run the class if found.
3389 3389
 	 */
3390
-	$ayecode_ui_settings = AyeCode_UI_Settings::instance();
3390
+	    $ayecode_ui_settings = AyeCode_UI_Settings::instance();
3391 3391
 }
3392 3392
\ No newline at end of file
Please login to merge, or discard this patch.