Passed
Pull Request — master (#798)
by Kiran
17:45 queued 12:33
created
vendor/ayecode/wp-super-duper/sd-plugin.php 2 patches
Indentation   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -15,12 +15,12 @@  discard block
 block discarded – undo
15 15
  */
16 16
 
17 17
 if ( ! defined( 'ABSPATH' ) ) {
18
-	exit;
18
+    exit;
19 19
 }
20 20
 
21 21
 if ( ! class_exists( 'WP_Super_Duper' ) ) {
22
-	// include the class if needed
23
-	include_once( dirname( __FILE__ ) . "/wp-super-duper.php" );
22
+    // include the class if needed
23
+    include_once( dirname( __FILE__ ) . "/wp-super-duper.php" );
24 24
 }
25 25
 
26 26
 /*
@@ -35,5 +35,5 @@  discard block
 block discarded – undo
35 35
 
36 36
 
37 37
 if ( ! function_exists( 'sd_get_class_build_keys' ) ) {
38
-	include_once( dirname( __FILE__ ) . "/sd-functions.php" );
38
+    include_once( dirname( __FILE__ ) . "/sd-functions.php" );
39 39
 }
40 40
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -14,26 +14,26 @@
 block discarded – undo
14 14
  * Tested up to: 5.3
15 15
  */
16 16
 
17
-if ( ! defined( 'ABSPATH' ) ) {
17
+if (!defined('ABSPATH')) {
18 18
 	exit;
19 19
 }
20 20
 
21
-if ( ! class_exists( 'WP_Super_Duper' ) ) {
21
+if (!class_exists('WP_Super_Duper')) {
22 22
 	// include the class if needed
23
-	include_once( dirname( __FILE__ ) . "/wp-super-duper.php" );
23
+	include_once(dirname(__FILE__) . "/wp-super-duper.php");
24 24
 }
25 25
 
26 26
 /*
27 27
  * Hello world example.
28 28
  */
29
-include_once( dirname( __FILE__ ) . "/hello-world.php" );
29
+include_once(dirname(__FILE__) . "/hello-world.php");
30 30
 
31 31
 /*
32 32
  * Map example.
33 33
  */
34
-include_once( dirname( __FILE__ ) . "/map.php" );
34
+include_once(dirname(__FILE__) . "/map.php");
35 35
 
36 36
 
37
-if ( ! function_exists( 'sd_get_class_build_keys' ) ) {
38
-	include_once( dirname( __FILE__ ) . "/sd-functions.php" );
37
+if (!function_exists('sd_get_class_build_keys')) {
38
+	include_once(dirname(__FILE__) . "/sd-functions.php");
39 39
 }
40 40
\ No newline at end of file
Please login to merge, or discard this patch.
vendor/ayecode/wp-super-duper/hello-world.php 2 patches
Indentation   +106 added lines, -106 removed lines patch added patch discarded remove patch
@@ -3,114 +3,114 @@  discard block
 block discarded – undo
3 3
 class SD_Hello_World extends WP_Super_Duper {
4 4
 
5 5
 
6
-	public $arguments;
7
-
8
-	/**
9
-	 * Sets up the widgets name etc
10
-	 */
11
-	public function __construct() {
12
-
13
-		$options = array(
14
-			'textdomain'     => 'super-duper',
15
-			// textdomain of the plugin/theme (used to prefix the Gutenberg block)
16
-			'block-icon'     => 'fas fa-globe-americas',
17
-			// Dash icon name for the block: https://developer.wordpress.org/resource/dashicons/#arrow-right
18
-			// OR font-awesome 5 class name: fas fa-globe-americas
19
-			'block-category' => 'widgets',
20
-			// the category for the block, 'common', 'formatting', 'layout', 'widgets', 'embed'.
21
-			'block-keywords' => "['hello','world']",
22
-			// used in the block search, MAX 3
23
-			'block-output'   => array( // the block visual output elements as an array
6
+    public $arguments;
7
+
8
+    /**
9
+     * Sets up the widgets name etc
10
+     */
11
+    public function __construct() {
12
+
13
+        $options = array(
14
+            'textdomain'     => 'super-duper',
15
+            // textdomain of the plugin/theme (used to prefix the Gutenberg block)
16
+            'block-icon'     => 'fas fa-globe-americas',
17
+            // Dash icon name for the block: https://developer.wordpress.org/resource/dashicons/#arrow-right
18
+            // OR font-awesome 5 class name: fas fa-globe-americas
19
+            'block-category' => 'widgets',
20
+            // the category for the block, 'common', 'formatting', 'layout', 'widgets', 'embed'.
21
+            'block-keywords' => "['hello','world']",
22
+            // used in the block search, MAX 3
23
+            'block-output'   => array( // the block visual output elements as an array
24 24
 //				array(
25 25
 //					'element' => 'p',
26 26
 //					'title'   => __( 'Placeholder', 'ayecode-connect' ),
27 27
 //					'class'   => '[%className%]',
28 28
 //					'content' => 'Hello: [%after_text%]' // block properties can be added by wrapping them in [%name%]
29 29
 //				)
30
-				array(
31
-					'element'       => 'BlocksProps',
32
-					'inner_element' => 'p',
33
-					'blockProps'    => array(
34
-						'className'               => '[%WrapClass%]',
30
+                array(
31
+                    'element'       => 'BlocksProps',
32
+                    'inner_element' => 'p',
33
+                    'blockProps'    => array(
34
+                        'className'               => '[%WrapClass%]',
35 35
 //						'content' => 'Hello: [%after_text%]'
36 36
 //						'if_dangerouslySetInnerHTML' => '{__html: blockstrap_build_shape(props.attributes) }',
37
-					),
38
-					'content' => 'Hello: [%after_text%]' // block properties can be added by wrapping them in [%name%]
39
-
40
-
41
-				),
42
-			),
43
-			'block-wrap'    => '', // You can specify the type of element to wrap the block `div` or `span` etc.. Or blank for no wrap at all.
44
-			'class_name'     => __CLASS__,
45
-			// The calling class name
46
-			'base_id'        => 'hello_world',
47
-			// this is used as the widget id and the shortcode id.
48
-			'name'           => __( 'Hello World', 'ayecode-connect' ),
49
-			// the name of the widget/block
50
-			'widget_ops'     => array(
51
-				'classname'   => 'hello-world-class',
52
-				// widget class
53
-				'description' => esc_html__( 'This is an example that will take a text parameter and output it after `Hello:`.', 'ayecode-connect' ),
54
-				// widget description
55
-			),
56
-			'no_wrap'       => true, // This will prevent the widget being wrapped in the containing widget class div.
57
-			'arguments'      => array( // these are the arguments that will be used in the widget, shortcode and block settings.
58
-				'after_text' => array( // this is the input name=''
59
-					'title'       => __( 'Text after hello:', 'ayecode-connect' ),
60
-					// input title
61
-					'desc'        => __( 'This is the text that will appear after `Hello:`.', 'ayecode-connect' ),
62
-					// input description
63
-					'type'        => 'text',
64
-					// the type of input, test, select, checkbox etc.
65
-					'placeholder' => 'World',
66
-					// the input placeholder text.
67
-					'desc_tip'    => true,
68
-					// if the input should show the widget description text as a tooltip.
69
-					'default'     => 'World',
70
-					// the input default value.
71
-					'advanced'    => false
72
-					// not yet implemented
73
-				),
74
-			)
75
-		);
76
-
77
-		parent::__construct( $options );
78
-	}
79
-
80
-
81
-	/**
82
-	 * This is the output function for the widget, shortcode and block (front end).
83
-	 *
84
-	 * @param array $args The arguments values.
85
-	 * @param array $widget_args The widget arguments when used.
86
-	 * @param string $content The shortcode content argument
87
-	 *
88
-	 * @return string
89
-	 */
90
-	public function output( $args = array(), $widget_args = array(), $content = '' ) {
91
-
92
-		/**
93
-		 * @var string $after_text
94
-		 * @var string $another_input This is added by filter below.
95
-		 */
96
-		extract( $args, EXTR_SKIP );
97
-
98
-		/*
37
+                    ),
38
+                    'content' => 'Hello: [%after_text%]' // block properties can be added by wrapping them in [%name%]
39
+
40
+
41
+                ),
42
+            ),
43
+            'block-wrap'    => '', // You can specify the type of element to wrap the block `div` or `span` etc.. Or blank for no wrap at all.
44
+            'class_name'     => __CLASS__,
45
+            // The calling class name
46
+            'base_id'        => 'hello_world',
47
+            // this is used as the widget id and the shortcode id.
48
+            'name'           => __( 'Hello World', 'ayecode-connect' ),
49
+            // the name of the widget/block
50
+            'widget_ops'     => array(
51
+                'classname'   => 'hello-world-class',
52
+                // widget class
53
+                'description' => esc_html__( 'This is an example that will take a text parameter and output it after `Hello:`.', 'ayecode-connect' ),
54
+                // widget description
55
+            ),
56
+            'no_wrap'       => true, // This will prevent the widget being wrapped in the containing widget class div.
57
+            'arguments'      => array( // these are the arguments that will be used in the widget, shortcode and block settings.
58
+                'after_text' => array( // this is the input name=''
59
+                    'title'       => __( 'Text after hello:', 'ayecode-connect' ),
60
+                    // input title
61
+                    'desc'        => __( 'This is the text that will appear after `Hello:`.', 'ayecode-connect' ),
62
+                    // input description
63
+                    'type'        => 'text',
64
+                    // the type of input, test, select, checkbox etc.
65
+                    'placeholder' => 'World',
66
+                    // the input placeholder text.
67
+                    'desc_tip'    => true,
68
+                    // if the input should show the widget description text as a tooltip.
69
+                    'default'     => 'World',
70
+                    // the input default value.
71
+                    'advanced'    => false
72
+                    // not yet implemented
73
+                ),
74
+            )
75
+        );
76
+
77
+        parent::__construct( $options );
78
+    }
79
+
80
+
81
+    /**
82
+     * This is the output function for the widget, shortcode and block (front end).
83
+     *
84
+     * @param array $args The arguments values.
85
+     * @param array $widget_args The widget arguments when used.
86
+     * @param string $content The shortcode content argument
87
+     *
88
+     * @return string
89
+     */
90
+    public function output( $args = array(), $widget_args = array(), $content = '' ) {
91
+
92
+        /**
93
+         * @var string $after_text
94
+         * @var string $another_input This is added by filter below.
95
+         */
96
+        extract( $args, EXTR_SKIP );
97
+
98
+        /*
99 99
 		 * This value is added by filter so might not exist if filter is removed so we check.
100 100
 		 */
101
-		if ( ! isset( $another_input ) ) {
102
-			$another_input = '';
103
-		}
101
+        if ( ! isset( $another_input ) ) {
102
+            $another_input = '';
103
+        }
104 104
 
105
-		return "Helllo: " . $after_text . "" . $another_input;
105
+        return "Helllo: " . $after_text . "" . $another_input;
106 106
 
107
-	}
107
+    }
108 108
 
109 109
 }
110 110
 
111 111
 // register it.
112 112
 add_action( 'widgets_init', function () {
113
-	register_widget( 'SD_Hello_World' );
113
+    register_widget( 'SD_Hello_World' );
114 114
 } );
115 115
 
116 116
 
@@ -123,26 +123,26 @@  discard block
 block discarded – undo
123 123
  */
124 124
 function _my_extra_arguments( $options ) {
125 125
 
126
-	/*
126
+    /*
127 127
 	 * Add a new input option.
128 128
 	 */
129
-	$options['arguments']['another_input'] = array(
130
-		'name'        => 'another_input', // this is the input name=''
131
-		'title'       => __( 'Another input:', 'ayecode-connect' ), // input title
132
-		'desc'        => __( 'This is an input added via filter.', 'ayecode-connect' ), // input description
133
-		'type'        => 'text', // the type of input, test, select, checkbox etc.
134
-		'placeholder' => 'Placeholder text', // the input placeholder text.
135
-		'desc_tip'    => true, // if the input should show the widget description text as a tooltip.
136
-		'default'     => '', // the input default value.
137
-		'advanced'    => false // not yet implemented
138
-	);
139
-
140
-	/*
129
+    $options['arguments']['another_input'] = array(
130
+        'name'        => 'another_input', // this is the input name=''
131
+        'title'       => __( 'Another input:', 'ayecode-connect' ), // input title
132
+        'desc'        => __( 'This is an input added via filter.', 'ayecode-connect' ), // input description
133
+        'type'        => 'text', // the type of input, test, select, checkbox etc.
134
+        'placeholder' => 'Placeholder text', // the input placeholder text.
135
+        'desc_tip'    => true, // if the input should show the widget description text as a tooltip.
136
+        'default'     => '', // the input default value.
137
+        'advanced'    => false // not yet implemented
138
+    );
139
+
140
+    /*
141 141
 	 * Output the new option in the block output also.
142 142
 	 */
143
-	$options['block-output']['element::p']['content'] = $options['block-output']['element::p']['content'] . " [%another_input%]";;
143
+    $options['block-output']['element::p']['content'] = $options['block-output']['element::p']['content'] . " [%another_input%]";;
144 144
 
145
-	return $options;
145
+    return $options;
146 146
 }
147 147
 
148 148
 //add_filter( 'wp_super_duper_options_hello_world', '_my_extra_arguments' );
149 149
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -45,20 +45,20 @@  discard block
 block discarded – undo
45 45
 			// The calling class name
46 46
 			'base_id'        => 'hello_world',
47 47
 			// this is used as the widget id and the shortcode id.
48
-			'name'           => __( 'Hello World', 'ayecode-connect' ),
48
+			'name'           => __('Hello World', 'ayecode-connect'),
49 49
 			// the name of the widget/block
50 50
 			'widget_ops'     => array(
51 51
 				'classname'   => 'hello-world-class',
52 52
 				// widget class
53
-				'description' => esc_html__( 'This is an example that will take a text parameter and output it after `Hello:`.', 'ayecode-connect' ),
53
+				'description' => esc_html__('This is an example that will take a text parameter and output it after `Hello:`.', 'ayecode-connect'),
54 54
 				// widget description
55 55
 			),
56 56
 			'no_wrap'       => true, // This will prevent the widget being wrapped in the containing widget class div.
57 57
 			'arguments'      => array( // these are the arguments that will be used in the widget, shortcode and block settings.
58 58
 				'after_text' => array( // this is the input name=''
59
-					'title'       => __( 'Text after hello:', 'ayecode-connect' ),
59
+					'title'       => __('Text after hello:', 'ayecode-connect'),
60 60
 					// input title
61
-					'desc'        => __( 'This is the text that will appear after `Hello:`.', 'ayecode-connect' ),
61
+					'desc'        => __('This is the text that will appear after `Hello:`.', 'ayecode-connect'),
62 62
 					// input description
63 63
 					'type'        => 'text',
64 64
 					// the type of input, test, select, checkbox etc.
@@ -74,7 +74,7 @@  discard block
 block discarded – undo
74 74
 			)
75 75
 		);
76 76
 
77
-		parent::__construct( $options );
77
+		parent::__construct($options);
78 78
 	}
79 79
 
80 80
 
@@ -87,18 +87,18 @@  discard block
 block discarded – undo
87 87
 	 *
88 88
 	 * @return string
89 89
 	 */
90
-	public function output( $args = array(), $widget_args = array(), $content = '' ) {
90
+	public function output($args = array(), $widget_args = array(), $content = '') {
91 91
 
92 92
 		/**
93 93
 		 * @var string $after_text
94 94
 		 * @var string $another_input This is added by filter below.
95 95
 		 */
96
-		extract( $args, EXTR_SKIP );
96
+		extract($args, EXTR_SKIP);
97 97
 
98 98
 		/*
99 99
 		 * This value is added by filter so might not exist if filter is removed so we check.
100 100
 		 */
101
-		if ( ! isset( $another_input ) ) {
101
+		if (!isset($another_input)) {
102 102
 			$another_input = '';
103 103
 		}
104 104
 
@@ -109,8 +109,8 @@  discard block
 block discarded – undo
109 109
 }
110 110
 
111 111
 // register it.
112
-add_action( 'widgets_init', function () {
113
-	register_widget( 'SD_Hello_World' );
112
+add_action('widgets_init', function() {
113
+	register_widget('SD_Hello_World');
114 114
 } );
115 115
 
116 116
 
@@ -121,15 +121,15 @@  discard block
 block discarded – undo
121 121
  *
122 122
  * @return mixed
123 123
  */
124
-function _my_extra_arguments( $options ) {
124
+function _my_extra_arguments($options) {
125 125
 
126 126
 	/*
127 127
 	 * Add a new input option.
128 128
 	 */
129 129
 	$options['arguments']['another_input'] = array(
130 130
 		'name'        => 'another_input', // this is the input name=''
131
-		'title'       => __( 'Another input:', 'ayecode-connect' ), // input title
132
-		'desc'        => __( 'This is an input added via filter.', 'ayecode-connect' ), // input description
131
+		'title'       => __('Another input:', 'ayecode-connect'), // input title
132
+		'desc'        => __('This is an input added via filter.', 'ayecode-connect'), // input description
133 133
 		'type'        => 'text', // the type of input, test, select, checkbox etc.
134 134
 		'placeholder' => 'Placeholder text', // the input placeholder text.
135 135
 		'desc_tip'    => true, // if the input should show the widget description text as a tooltip.
@@ -140,7 +140,7 @@  discard block
 block discarded – undo
140 140
 	/*
141 141
 	 * Output the new option in the block output also.
142 142
 	 */
143
-	$options['block-output']['element::p']['content'] = $options['block-output']['element::p']['content'] . " [%another_input%]";;
143
+	$options['block-output']['element::p']['content'] = $options['block-output']['element::p']['content'] . " [%another_input%]"; ;
144 144
 
145 145
 	return $options;
146 146
 }
Please login to merge, or discard this patch.
vendor/ayecode/wp-super-duper/wp-super-duper.php 3 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
 			}
@@ -715,7 +715,7 @@  discard block
 block discarded – undo
715 715
 				<?php
716 716
 				if(! empty( $insert_shortcode_function )){
717 717
 					echo $insert_shortcode_function;
718
-				}else{
718
+				} else{
719 719
 
720 720
 				/**
721 721
 				 * Function for super duper insert shortcode.
@@ -2231,7 +2231,7 @@  discard block
 block discarded – undo
2231 2231
 				$p_pl = 'ps-';
2232 2232
 				$p_pr = 'pe-';
2233 2233
 					<?php
2234
-				}else{
2234
+				} else{
2235 2235
 						?>
2236 2236
 				$aui_bs5 = false;
2237 2237
 				$p_ml = 'ml-';
@@ -2459,7 +2459,7 @@  discard block
 block discarded – undo
2459 2459
 					var InnerBlocks = blockEditor.InnerBlocks;
2460 2460
 
2461 2461
 					var term_query_type = '';
2462
-					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 "[]";} ?>;
2462
+					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 "[]";} ?>;
2463 2463
 					const taxonomies_<?php echo str_replace("-","_", $this->id);?> = [{label: "Please wait", value: 0}];
2464 2464
 					const sort_by_<?php echo str_replace("-","_", $this->id);?> = [{label: "Please wait", value: 0}];
2465 2465
 					const MediaUpload = wp.blockEditor.MediaUpload;
@@ -2516,9 +2516,9 @@  discard block
 block discarded – undo
2516 2516
 						$example_inner_blocks = !empty($this->options['example']['innerBlocks']) && is_array($this->options['example']['innerBlocks']) ? 'innerBlocks: ' . wp_json_encode($this->options['example']['innerBlocks']) : '';
2517 2517
 						if( isset( $this->options['example'] ) && $this->options['example'] === false ){
2518 2518
 							// no preview if set to false
2519
-						}elseif( !empty( $example_args ) ){
2519
+						} elseif( !empty( $example_args ) ){
2520 2520
 							echo "example : {attributes:{".$this->array_to_attributes( $example_args )."},$viewport_width},";
2521
-						}elseif( !empty( $this->options['example'] ) ){
2521
+						} elseif( !empty( $this->options['example'] ) ){
2522 2522
 							unset($this->options['example']['viewportWidth']);
2523 2523
 							unset($this->options['example']['innerBlocks']);
2524 2524
 							$example_atts = $this->array_to_attributes( $this->options['example'] );
@@ -2535,7 +2535,7 @@  discard block
 block discarded – undo
2535 2535
 							if(!empty($example_parts)){
2536 2536
 								echo "example : {".implode(',', $example_parts)."},";
2537 2537
 							}
2538
-						}else{
2538
+						} else{
2539 2539
 							echo 'example : {viewportWidth: 500},';
2540 2540
 						}
2541 2541
 
@@ -2606,8 +2606,7 @@  discard block
 block discarded – undo
2606 2606
 
2607 2607
 									if ( $args['type'] == 'notice' ||  $args['type'] == 'tab' ) {
2608 2608
 										continue;
2609
-									}
2610
-									elseif ( $args['type'] == 'checkbox' ) {
2609
+									} elseif ( $args['type'] == 'checkbox' ) {
2611 2610
 										$type    = 'boolean';
2612 2611
 										$default = isset( $args['default'] ) && $args['default'] ? 'true' : 'false';
2613 2612
 									} elseif ( $args['type'] == 'number' ) {
@@ -2742,7 +2741,7 @@  discard block
 block discarded – undo
2742 2741
 							<?php
2743 2742
 							if(!empty($this->options['block-edit-raw'])) {
2744 2743
 								echo $this->options['block-edit-raw']; // strings have to be in single quotes, may cause issues
2745
-							}else{
2744
+							} else{
2746 2745
 							?>
2747 2746
 
2748 2747
 function hasSelectedInnerBlock(props) {
@@ -2877,7 +2876,7 @@  discard block
 block discarded – undo
2877 2876
 $current_screen = function_exists('get_current_screen') ? get_current_screen() : '';
2878 2877
 if(!empty($current_screen->base) && $current_screen->base==='widgets'){
2879 2878
 	echo 'const { deviceType } = "";';
2880
-}else{
2879
+} else{
2881 2880
 ?>
2882 2881
 /** Get device type const. */
2883 2882
 const { deviceType } = wp.data.useSelect != 'undefined' ?  wp.data.useSelect(select => {
@@ -2912,7 +2911,7 @@  discard block
 block discarded – undo
2912 2911
 										'block_parent_name': parentBlocks.length ? parentBlocks[parentBlocks.length - 1].name : '',
2913 2912
 										'post_id': <?php global $post; if ( isset( $post->ID ) ) {
2914 2913
 										echo $post->ID;
2915
-									}else{echo '0';}?>,
2914
+									} else{echo '0';}?>,
2916 2915
 										'_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_output_shortcode' );?>'
2917 2916
 									};
2918 2917
 
@@ -2932,7 +2931,7 @@  discard block
 block discarded – undo
2932 2931
 										is_fetching = false;
2933 2932
 										prev_attributes[props.clientId] = props.attributes;
2934 2933
 											 <?php
2935
-										}else{
2934
+										} else{
2936 2935
 										?>
2937 2936
 										props.setAttributes({content: env});
2938 2937
 										is_fetching = false;
@@ -3139,7 +3138,7 @@  discard block
 block discarded – undo
3139 3138
 //
3140 3139
 
3141 3140
 									}
3142
-									}else {
3141
+									} else {
3143 3142
 									?>
3144 3143
 									el(wp.components.PanelBody, {
3145 3144
 											title: '<?php esc_attr_e( "Settings", 'ayecode-connect' ); ?>',
@@ -3165,9 +3164,9 @@  discard block
 block discarded – undo
3165 3164
 								// If the user sets block-output array then build it
3166 3165
 								if ( ! empty( $this->options['block-output'] ) ) {
3167 3166
 								$this->block_element( $this->options['block-output'] );
3168
-							}elseif(!empty($this->options['block-edit-return'])){
3167
+							} elseif(!empty($this->options['block-edit-return'])){
3169 3168
 								   echo $this->options['block-edit-return'];
3170
-							}else{
3169
+							} else{
3171 3170
 								// if no block-output is set then we try and get the shortcode html output via ajax.
3172 3171
 								$block_edit_wrap_tag = !empty($this->options['block_edit_wrap_tag']) ? esc_attr($this->options['block_edit_wrap_tag']) : 'div';
3173 3172
 								?>
@@ -3279,9 +3278,9 @@  discard block
 block discarded – undo
3279 3278
 							   );
3280 3279
 								<?php
3281 3280
 
3282
-							}elseif(!empty($this->options['block-save-return'])){
3281
+							} elseif(!empty($this->options['block-save-return'])){
3283 3282
 								   echo 'return ' . $this->options['block-save-return'];
3284
-							}elseif(!empty($this->options['nested-block'])){
3283
+							} elseif(!empty($this->options['nested-block'])){
3285 3284
 								?>
3286 3285
 							  return el(
3287 3286
 								   '',
@@ -3291,13 +3290,13 @@  discard block
 block discarded – undo
3291 3290
 								 //  el('', {dangerouslySetInnerHTML: {__html: "[/<?php echo $this->options['base_id'];?>]"}})
3292 3291
 							   );
3293 3292
 								<?php
3294
-							}elseif(!empty( $this->options['block-save-return'] ) ){
3293
+							} elseif(!empty( $this->options['block-save-return'] ) ){
3295 3294
 								echo "return ". $this->options['block-edit-return'].";";
3296
-							}elseif(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){
3295
+							} elseif(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){
3297 3296
 							?>
3298 3297
 							return content;
3299 3298
 							<?php
3300
-							}else{
3299
+							} else{
3301 3300
 							?>
3302 3301
 							var block_wrap = 'div';
3303 3302
 							if (attr.hasOwnProperty("block_wrap")) {
@@ -3348,9 +3347,9 @@  discard block
 block discarded – undo
3348 3347
 				$device_type_icon = '';
3349 3348
 				if($device_type=='Desktop'){
3350 3349
 					$device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3351
-				}elseif($device_type=='Tablet'){
3350
+				} elseif($device_type=='Tablet'){
3352 3351
 					$device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3353
-				}elseif($device_type=='Mobile'){
3352
+				} elseif($device_type=='Mobile'){
3354 3353
 					$device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3355 3354
 				}
3356 3355
 				echo $element_require;
@@ -3395,7 +3394,7 @@  discard block
 block discarded – undo
3395 3394
 
3396 3395
 					<?php
3397 3396
 					if(false){?></script><?php }
3398
-				}elseif(!empty($args['row']['close'])){
3397
+				} elseif(!empty($args['row']['close'])){
3399 3398
 					if(false){?><script><?php }?>
3400 3399
 						el(
3401 3400
 							'div',
@@ -3404,7 +3403,7 @@  discard block
 block discarded – undo
3404 3403
 							},
3405 3404
 					<?php
3406 3405
 					if(false){?></script><?php }
3407
-				}else{
3406
+				} else{
3408 3407
 					if(false){?><script><?php }?>
3409 3408
 						el(
3410 3409
 							'div',
@@ -3509,9 +3508,9 @@  discard block
 block discarded – undo
3509 3508
 			$device_type_icon = '';
3510 3509
 			if($device_type=='Desktop'){
3511 3510
 				$device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3512
-			}elseif($device_type=='Tablet'){
3511
+			} elseif($device_type=='Tablet'){
3513 3512
 				$device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3514
-			}elseif($device_type=='Mobile'){
3513
+			} elseif($device_type=='Mobile'){
3515 3514
 				$device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3516 3515
 			}
3517 3516
 
@@ -3574,7 +3573,7 @@  discard block
 block discarded – undo
3574 3573
 				$args['type'] == 'text';
3575 3574
 				// Save numbers as numbers and not strings
3576 3575
 				$value     = "props.attributes.$key ? props.attributes.$key : ''";
3577
-			}else if ( $args['type'] == 'notice' ) {
3576
+			} else if ( $args['type'] == 'notice' ) {
3578 3577
 
3579 3578
 				$notice_message = !empty($args['desc']) ? addslashes($args['desc']) : '';
3580 3579
 				$notice_status = !empty($args['status']) ? esc_attr($args['status']) : 'info';
@@ -3649,7 +3648,7 @@  discard block
 block discarded – undo
3649 3648
 							$key: value
3650 3649
 						});
3651 3650
 					},";
3652
-			}elseif ( $args['type'] == 'gradient' ) {
3651
+			} elseif ( $args['type'] == 'gradient' ) {
3653 3652
 				$type = 'GradientPicker';
3654 3653
 				$extra .= "gradients: [{
3655 3654
 			name: 'Vivid cyan blue to vivid purple',
@@ -3688,7 +3687,7 @@  discard block
 block discarded – undo
3688 3687
 			slug: 'cool-to-warm-spectrum',
3689 3688
 		}],";
3690 3689
 
3691
-			}elseif ( $args['type'] == 'image' ) {
3690
+			} elseif ( $args['type'] == 'image' ) {
3692 3691
 //                print_r($args);
3693 3692
 
3694 3693
 				$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,{
@@ -3825,8 +3824,7 @@  discard block
 block discarded – undo
3825 3824
 				$onchange = "";
3826 3825
 
3827 3826
 				//$inside_elements = ",el('div',{},'file upload')";
3828
-			}
3829
-			elseif ( $args['type'] == 'checkbox' ) {
3827
+			} elseif ( $args['type'] == 'checkbox' ) {
3830 3828
 				$type = 'CheckboxControl';
3831 3829
 				$extra .= "checked: props.attributes.$key,";
3832 3830
 				$onchange = "props.setAttributes({ $key: ! props.attributes.$key } )";
@@ -3838,9 +3836,9 @@  discard block
 block discarded – undo
3838 3836
 
3839 3837
 				if($args['name'] == 'category' && !empty($args['post_type_linked'])){
3840 3838
 					$options .= "options: taxonomies_".str_replace("-","_", $this->id).",";
3841
-				}elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){
3839
+				} elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){
3842 3840
 					$options .= "options: sort_by_".str_replace("-","_", $this->id).",";
3843
-				}else {
3841
+				} else {
3844 3842
 
3845 3843
 					if ( ! empty( $args['options'] ) ) {
3846 3844
 						$options .= "options: [";
@@ -4004,7 +4002,7 @@  discard block
 block discarded – undo
4004 4002
 				foreach ( $custom_attributes as $key => $val ) {
4005 4003
 					if(is_array($val)){
4006 4004
 						$attributes .= $key.': {'.$this->array_to_attributes( $val, $html ).'},';
4007
-					}else{
4005
+					} else{
4008 4006
 						$attributes .= $html ?  " $key='$val' " : "'$key': '$val',";
4009 4007
 					}
4010 4008
 				}
@@ -4045,7 +4043,7 @@  discard block
 block discarded – undo
4045 4043
 
4046 4044
 							if($new_args['element']=='InnerBlocks'){
4047 4045
 								echo "\n el( InnerBlocks, {";
4048
-							}elseif($new_args['element']=='innerBlocksProps'){
4046
+							} elseif($new_args['element']=='innerBlocksProps'){
4049 4047
 								$element = isset($new_args['inner_element']) ? esc_attr($new_args['inner_element']) : 'div';
4050 4048
 							  //  echo "\n el( 'section', wp.blockEditor.useInnerBlocksProps( blockProps, {";
4051 4049
 //                                echo $save ? "\n el( '$element', wp.blockEditor.useInnerBlocksProps.save( " : "\n el( '$element', wp.blockEditor.useInnerBlocksProps( ";
@@ -4058,11 +4056,11 @@  discard block
 block discarded – undo
4058 4056
 							//    echo '###';
4059 4057
 
4060 4058
 							  //  echo '###';
4061
-							}elseif($new_args['element']=='BlocksProps'){
4059
+							} elseif($new_args['element']=='BlocksProps'){
4062 4060
 
4063 4061
 								if ( isset($new_args['if_inner_element']) ) {
4064 4062
 									$element = $new_args['if_inner_element'];
4065
-								}else {
4063
+								} else {
4066 4064
 									$element = isset($new_args['inner_element']) ? "'".esc_attr($new_args['inner_element'])."'" : "'div'";
4067 4065
 								}
4068 4066
 
@@ -4073,7 +4071,7 @@  discard block
 block discarded – undo
4073 4071
 
4074 4072
 							   // echo "} ),";
4075 4073
 
4076
-							}else{
4074
+							} else{
4077 4075
 								echo "\n el( '" . $new_args['element'] . "', {";
4078 4076
 							}
4079 4077
 
@@ -4098,7 +4096,7 @@  discard block
 block discarded – undo
4098 4096
 
4099 4097
 									if ( $new_key === 'content' ) {
4100 4098
 										echo "'" . $this->block_props_replace( wp_slash( $new_value ) ) . "'";
4101
-									}else if ( $new_key === 'if_content' ) {
4099
+									} else if ( $new_key === 'if_content' ) {
4102 4100
 										echo  $this->block_props_replace(  $new_value  );
4103 4101
 									}
4104 4102
 
@@ -4128,7 +4126,7 @@  discard block
 block discarded – undo
4128 4126
 
4129 4127
 							if($new_args['element']=='innerBlocksProps' || $new_args['element']=='xBlocksProps'){
4130 4128
 								echo "))";// end content
4131
-							}else{
4129
+							} else{
4132 4130
 								echo ")";// end content
4133 4131
 							}
4134 4132
 
@@ -4752,11 +4750,11 @@  discard block
 block discarded – undo
4752 4750
 		public function get_widget_icon($icon = 'box-top', $title = ''){
4753 4751
 			if($icon=='box-top'){
4754 4752
 				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>';
4755
-			}elseif($icon=='box-right'){
4753
+			} elseif($icon=='box-right'){
4756 4754
 				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>';
4757
-			}elseif($icon=='box-bottom'){
4755
+			} elseif($icon=='box-bottom'){
4758 4756
 				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>';
4759
-			}elseif($icon=='box-left'){
4757
+			} elseif($icon=='box-left'){
4760 4758
 				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>';
4761 4759
 			}
4762 4760
 		}
Please login to merge, or discard this patch.
Indentation   +2872 added lines, -2872 removed lines patch added patch discarded remove patch
@@ -1,299 +1,299 @@  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.6' );
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
-			}
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
-				// register block
88
-				if(empty($this->options['output_types']) || in_array('block',$this->options['output_types'])){
89
-					add_action( 'admin_enqueue_scripts', array( $this, 'register_block' ) );
90
-				}
91
-			}
92
-
93
-			// add the CSS and JS we need ONCE
94
-			global $sd_widget_scripts;
95
-
96
-			if ( ! $sd_widget_scripts ) {
97
-				wp_add_inline_script( 'admin-widgets', $this->widget_js() );
98
-				wp_add_inline_script( 'customize-controls', $this->widget_js() );
99
-				wp_add_inline_style( 'widgets', $this->widget_css() );
100
-
101
-				// maybe add elementor editor styles
102
-				add_action( 'elementor/editor/after_enqueue_styles', array( $this, 'elementor_editor_styles' ) );
103
-
104
-				$sd_widget_scripts = true;
105
-
106
-				// add shortcode insert button once
107
-				add_action( 'media_buttons', array( $this, 'shortcode_insert_button' ) );
108
-				// generatepress theme sections compatibility
109
-				if ( function_exists( 'generate_sections_sections_metabox' ) ) {
110
-					add_action( 'generate_sections_metabox', array( $this, 'shortcode_insert_button_script' ) );
111
-				}
112
-				/* Load script on Divi theme builder page */
113
-				if ( function_exists( 'et_builder_is_tb_admin_screen' ) && et_builder_is_tb_admin_screen() ) {
114
-					add_thickbox();
115
-					add_action( 'admin_footer', array( $this, 'shortcode_insert_button_script' ) );
116
-				}
117
-
118
-				if ( $this->is_preview() ) {
119
-					add_action( 'wp_footer', array( $this, 'shortcode_insert_button_script' ) );
120
-					// this makes the insert button work for elementor
121
-					add_action( 'elementor/editor/after_enqueue_scripts', array(
122
-						$this,
123
-						'shortcode_insert_button_script'
124
-					) ); // for elementor
125
-				}
126
-				// this makes the insert button work for cornerstone
127
-				add_action( 'wp_print_footer_scripts', array( __CLASS__, 'maybe_cornerstone_builder' ) );
128
-
129
-				add_action( 'wp_ajax_super_duper_get_widget_settings', array( __CLASS__, 'get_widget_settings' ) );
130
-				add_action( 'wp_ajax_super_duper_get_picker', array( __CLASS__, 'get_picker' ) );
131
-
132
-				// add generator text to head
133
-				add_action( 'admin_head', array( $this, 'generator' ), 99 );
134
-				add_action( 'wp_head', array( $this, 'generator' ), 99 );
135
-			}
136
-
137
-			do_action( 'wp_super_duper_widget_init', $options, $this );
138
-		}
139
-
140
-		/**
141
-		 * The register widget function
142
-		 * @return void
143
-		 */
144
-		public function _register() {
145
-			if(empty($this->options['output_types']) || in_array('widget',$this->options['output_types'])){
146
-				parent::_register();
147
-			}
148
-		}
149
-
150
-		/**
151
-		 * Add our widget CSS to elementor editor.
152
-		 */
153
-		public function elementor_editor_styles() {
154
-			wp_add_inline_style( 'elementor-editor', $this->widget_css( false ) );
155
-		}
156
-
157
-		public function register_fusion_element() {
158
-
159
-			$options = $this->options;
160
-
161
-			if ( $this->base_id ) {
162
-
163
-				$params = $this->get_fusion_params();
164
-
165
-				$args = array(
166
-					'name'            => $options['name'],
167
-					'shortcode'       => $this->base_id,
168
-					'icon'            => $options['block-icon'] ? $options['block-icon'] : 'far fa-square',
169
-					'allow_generator' => true,
170
-				);
171
-
172
-				if ( ! empty( $params ) ) {
173
-					$args['params'] = $params;
174
-				}
175
-
176
-				fusion_builder_map( $args );
177
-			}
178
-
179
-		}
180
-
181
-		public function get_fusion_params() {
182
-			$params    = array();
183
-			$arguments = $this->get_arguments();
184
-
185
-			if ( ! empty( $arguments ) ) {
186
-				foreach ( $arguments as $key => $val ) {
187
-					$param = array();
188
-					// type
189
-					$param['type'] = str_replace(
190
-						array(
191
-							"text",
192
-							"number",
193
-							"email",
194
-							"color",
195
-							"checkbox"
196
-						),
197
-						array(
198
-							"textfield",
199
-							"textfield",
200
-							"textfield",
201
-							"colorpicker",
202
-							"select",
203
-
204
-						),
205
-						$val['type'] );
206
-
207
-					// multiselect
208
-					if ( $val['type'] == 'multiselect' || ( ( $param['type'] == 'select' || $val['type'] == 'select' ) && ! empty( $val['multiple'] ) ) ) {
209
-						$param['type']     = 'multiple_select';
210
-						$param['multiple'] = true;
211
-					}
212
-
213
-					// heading
214
-					$param['heading'] = isset( $val['title'] ) ? $val['title'] : '';
215
-
216
-					// description
217
-					$param['description'] = isset( $val['desc'] ) ? $val['desc'] : '';
218
-
219
-					// param_name
220
-					$param['param_name'] = $key;
221
-
222
-					// Default
223
-					$param['default'] = isset( $val['default'] ) ? $val['default'] : '';
224
-
225
-					// Group
226
-					if ( isset( $val['group'] ) ) {
227
-						$param['group'] = $val['group'];
228
-					}
229
-
230
-					// value
231
-					if ( $val['type'] == 'checkbox' ) {
232
-						if ( isset( $val['default'] ) && $val['default'] == '0' ) {
233
-							unset( $param['default'] );
234
-						}
235
-						$param['value'] = array( '0' => __( "No", 'ayecode-connect' ), '1' => __( "Yes", 'ayecode-connect' ) );
236
-					} elseif ( $param['type'] == 'select' || $param['type'] == 'multiple_select' ) {
237
-						$param['value'] = isset( $val['options'] ) ? $val['options'] : array();
238
-					} else {
239
-						$param['value'] = isset( $val['default'] ) ? $val['default'] : '';
240
-					}
241
-
242
-					// setup the param
243
-					$params[] = $param;
244
-
245
-				}
246
-			}
247
-
248
-
249
-			return $params;
250
-		}
251
-
252
-		/**
253
-		 * Maybe insert the shortcode inserter button in the footer if we are in the cornerstone builder
254
-		 */
255
-		public static function maybe_cornerstone_builder() {
256
-			if ( did_action( 'cornerstone_before_boot_app' ) ) {
257
-				self::shortcode_insert_button_script();
258
-			}
259
-		}
260
-
261
-		/**
262
-		 * A function to ge the shortcode builder picker html.
263
-		 *
264
-		 * @param string $editor_id
265
-		 *
266
-		 * @return string
267
-		 */
268
-		public static function get_picker( $editor_id = '' ) {
269
-
270
-			ob_start();
271
-			if ( isset( $_POST['editor_id'] ) ) {
272
-				$editor_id = esc_attr( $_POST['editor_id'] );
273
-			} elseif ( isset( $_REQUEST['et_fb'] ) ) {
274
-				$editor_id = 'main_content_content_vb_tiny_mce';
275
-			}
276
-
277
-			global $sd_widgets;
8
+    define( 'SUPER_DUPER_VER', '1.2.6' );
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
+            }
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
+                // register block
88
+                if(empty($this->options['output_types']) || in_array('block',$this->options['output_types'])){
89
+                    add_action( 'admin_enqueue_scripts', array( $this, 'register_block' ) );
90
+                }
91
+            }
92
+
93
+            // add the CSS and JS we need ONCE
94
+            global $sd_widget_scripts;
95
+
96
+            if ( ! $sd_widget_scripts ) {
97
+                wp_add_inline_script( 'admin-widgets', $this->widget_js() );
98
+                wp_add_inline_script( 'customize-controls', $this->widget_js() );
99
+                wp_add_inline_style( 'widgets', $this->widget_css() );
100
+
101
+                // maybe add elementor editor styles
102
+                add_action( 'elementor/editor/after_enqueue_styles', array( $this, 'elementor_editor_styles' ) );
103
+
104
+                $sd_widget_scripts = true;
105
+
106
+                // add shortcode insert button once
107
+                add_action( 'media_buttons', array( $this, 'shortcode_insert_button' ) );
108
+                // generatepress theme sections compatibility
109
+                if ( function_exists( 'generate_sections_sections_metabox' ) ) {
110
+                    add_action( 'generate_sections_metabox', array( $this, 'shortcode_insert_button_script' ) );
111
+                }
112
+                /* Load script on Divi theme builder page */
113
+                if ( function_exists( 'et_builder_is_tb_admin_screen' ) && et_builder_is_tb_admin_screen() ) {
114
+                    add_thickbox();
115
+                    add_action( 'admin_footer', array( $this, 'shortcode_insert_button_script' ) );
116
+                }
117
+
118
+                if ( $this->is_preview() ) {
119
+                    add_action( 'wp_footer', array( $this, 'shortcode_insert_button_script' ) );
120
+                    // this makes the insert button work for elementor
121
+                    add_action( 'elementor/editor/after_enqueue_scripts', array(
122
+                        $this,
123
+                        'shortcode_insert_button_script'
124
+                    ) ); // for elementor
125
+                }
126
+                // this makes the insert button work for cornerstone
127
+                add_action( 'wp_print_footer_scripts', array( __CLASS__, 'maybe_cornerstone_builder' ) );
128
+
129
+                add_action( 'wp_ajax_super_duper_get_widget_settings', array( __CLASS__, 'get_widget_settings' ) );
130
+                add_action( 'wp_ajax_super_duper_get_picker', array( __CLASS__, 'get_picker' ) );
131
+
132
+                // add generator text to head
133
+                add_action( 'admin_head', array( $this, 'generator' ), 99 );
134
+                add_action( 'wp_head', array( $this, 'generator' ), 99 );
135
+            }
136
+
137
+            do_action( 'wp_super_duper_widget_init', $options, $this );
138
+        }
139
+
140
+        /**
141
+         * The register widget function
142
+         * @return void
143
+         */
144
+        public function _register() {
145
+            if(empty($this->options['output_types']) || in_array('widget',$this->options['output_types'])){
146
+                parent::_register();
147
+            }
148
+        }
149
+
150
+        /**
151
+         * Add our widget CSS to elementor editor.
152
+         */
153
+        public function elementor_editor_styles() {
154
+            wp_add_inline_style( 'elementor-editor', $this->widget_css( false ) );
155
+        }
156
+
157
+        public function register_fusion_element() {
158
+
159
+            $options = $this->options;
160
+
161
+            if ( $this->base_id ) {
162
+
163
+                $params = $this->get_fusion_params();
164
+
165
+                $args = array(
166
+                    'name'            => $options['name'],
167
+                    'shortcode'       => $this->base_id,
168
+                    'icon'            => $options['block-icon'] ? $options['block-icon'] : 'far fa-square',
169
+                    'allow_generator' => true,
170
+                );
171
+
172
+                if ( ! empty( $params ) ) {
173
+                    $args['params'] = $params;
174
+                }
175
+
176
+                fusion_builder_map( $args );
177
+            }
178
+
179
+        }
180
+
181
+        public function get_fusion_params() {
182
+            $params    = array();
183
+            $arguments = $this->get_arguments();
184
+
185
+            if ( ! empty( $arguments ) ) {
186
+                foreach ( $arguments as $key => $val ) {
187
+                    $param = array();
188
+                    // type
189
+                    $param['type'] = str_replace(
190
+                        array(
191
+                            "text",
192
+                            "number",
193
+                            "email",
194
+                            "color",
195
+                            "checkbox"
196
+                        ),
197
+                        array(
198
+                            "textfield",
199
+                            "textfield",
200
+                            "textfield",
201
+                            "colorpicker",
202
+                            "select",
203
+
204
+                        ),
205
+                        $val['type'] );
206
+
207
+                    // multiselect
208
+                    if ( $val['type'] == 'multiselect' || ( ( $param['type'] == 'select' || $val['type'] == 'select' ) && ! empty( $val['multiple'] ) ) ) {
209
+                        $param['type']     = 'multiple_select';
210
+                        $param['multiple'] = true;
211
+                    }
212
+
213
+                    // heading
214
+                    $param['heading'] = isset( $val['title'] ) ? $val['title'] : '';
215
+
216
+                    // description
217
+                    $param['description'] = isset( $val['desc'] ) ? $val['desc'] : '';
218
+
219
+                    // param_name
220
+                    $param['param_name'] = $key;
221
+
222
+                    // Default
223
+                    $param['default'] = isset( $val['default'] ) ? $val['default'] : '';
224
+
225
+                    // Group
226
+                    if ( isset( $val['group'] ) ) {
227
+                        $param['group'] = $val['group'];
228
+                    }
229
+
230
+                    // value
231
+                    if ( $val['type'] == 'checkbox' ) {
232
+                        if ( isset( $val['default'] ) && $val['default'] == '0' ) {
233
+                            unset( $param['default'] );
234
+                        }
235
+                        $param['value'] = array( '0' => __( "No", 'ayecode-connect' ), '1' => __( "Yes", 'ayecode-connect' ) );
236
+                    } elseif ( $param['type'] == 'select' || $param['type'] == 'multiple_select' ) {
237
+                        $param['value'] = isset( $val['options'] ) ? $val['options'] : array();
238
+                    } else {
239
+                        $param['value'] = isset( $val['default'] ) ? $val['default'] : '';
240
+                    }
241
+
242
+                    // setup the param
243
+                    $params[] = $param;
244
+
245
+                }
246
+            }
247
+
248
+
249
+            return $params;
250
+        }
251
+
252
+        /**
253
+         * Maybe insert the shortcode inserter button in the footer if we are in the cornerstone builder
254
+         */
255
+        public static function maybe_cornerstone_builder() {
256
+            if ( did_action( 'cornerstone_before_boot_app' ) ) {
257
+                self::shortcode_insert_button_script();
258
+            }
259
+        }
260
+
261
+        /**
262
+         * A function to ge the shortcode builder picker html.
263
+         *
264
+         * @param string $editor_id
265
+         *
266
+         * @return string
267
+         */
268
+        public static function get_picker( $editor_id = '' ) {
269
+
270
+            ob_start();
271
+            if ( isset( $_POST['editor_id'] ) ) {
272
+                $editor_id = esc_attr( $_POST['editor_id'] );
273
+            } elseif ( isset( $_REQUEST['et_fb'] ) ) {
274
+                $editor_id = 'main_content_content_vb_tiny_mce';
275
+            }
276
+
277
+            global $sd_widgets;
278 278
 
279 279
 //			print_r($sd_widgets);exit;
280
-			?>
280
+            ?>
281 281
 
282 282
 			<div class="sd-shortcode-left-wrap">
283 283
 				<?php
284
-				ksort( $sd_widgets );
285
-				//				print_r($sd_widgets);exit;
286
-				if ( ! empty( $sd_widgets ) ) {
287
-					echo '<select class="widefat" onchange="sd_get_shortcode_options(this);">';
288
-					echo "<option>" . __( 'Select shortcode', 'ayecode-connect' ) . "</option>";
289
-					foreach ( $sd_widgets as $shortcode => $class ) {
290
-						if(!empty($class['output_types']) && !in_array('shortcode', $class['output_types'])){ continue; }
291
-						echo "<option value='" . esc_attr( $shortcode ) . "'>" . esc_attr( $shortcode ) . " (" . esc_attr( $class['name'] ) . ")</option>";
292
-					}
293
-					echo "</select>";
294
-
295
-				}
296
-				?>
284
+                ksort( $sd_widgets );
285
+                //				print_r($sd_widgets);exit;
286
+                if ( ! empty( $sd_widgets ) ) {
287
+                    echo '<select class="widefat" onchange="sd_get_shortcode_options(this);">';
288
+                    echo "<option>" . __( 'Select shortcode', 'ayecode-connect' ) . "</option>";
289
+                    foreach ( $sd_widgets as $shortcode => $class ) {
290
+                        if(!empty($class['output_types']) && !in_array('shortcode', $class['output_types'])){ continue; }
291
+                        echo "<option value='" . esc_attr( $shortcode ) . "'>" . esc_attr( $shortcode ) . " (" . esc_attr( $class['name'] ) . ")</option>";
292
+                    }
293
+                    echo "</select>";
294
+
295
+                }
296
+                ?>
297 297
 				<div class="sd-shortcode-settings"></div>
298 298
 
299 299
 			</div>
@@ -304,8 +304,8 @@  discard block
 block discarded – undo
304 304
 					<?php if ( $editor_id != '' ) { ?>
305 305
 						<button class="button sd-insert-shortcode-button"
306 306
 								onclick="sd_insert_shortcode(<?php if ( ! empty( $editor_id ) ) {
307
-									echo "'" . $editor_id . "'";
308
-								} ?>)"><?php _e( 'Insert shortcode', 'ayecode-connect' ); ?></button>
307
+                                    echo "'" . $editor_id . "'";
308
+                                } ?>)"><?php _e( 'Insert shortcode', 'ayecode-connect' ); ?></button>
309 309
 					<?php } ?>
310 310
 					<button class="button"
311 311
 							onclick="sd_copy_to_clipboard()"><?php _e( 'Copy shortcode' ); ?></button>
@@ -313,150 +313,150 @@  discard block
 block discarded – undo
313 313
 			</div>
314 314
 			<?php
315 315
 
316
-			$html = ob_get_clean();
317
-
318
-			if ( wp_doing_ajax() ) {
319
-				echo $html;
320
-				$should_die = true;
321
-
322
-				// some builder get the editor via ajax so we should not die on those occasions
323
-				$dont_die = array(
324
-					'parent_tag',// WP Bakery
325
-					'avia_request' // enfold
326
-				);
327
-
328
-				foreach ( $dont_die as $request ) {
329
-					if ( isset( $_REQUEST[ $request ] ) ) {
330
-						$should_die = false;
331
-					}
332
-				}
333
-
334
-				if ( $should_die ) {
335
-					wp_die();
336
-				}
337
-
338
-			} else {
339
-				return $html;
340
-			}
341
-
342
-			return '';
343
-
344
-		}
345
-
346
-		/**
347
-		 * Output the version in the header.
348
-		 */
349
-		public function generator() {
350
-			$file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
351
-			$plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
352
-
353
-			// Find source plugin/theme of SD
354
-			$source = array();
355
-			if ( strpos( $file, $plugins_dir ) !== false ) {
356
-				$source = explode( "/", plugin_basename( $file ) );
357
-			} else if ( function_exists( 'get_theme_root' ) ) {
358
-				$themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
359
-
360
-				if ( strpos( $file, $themes_dir ) !== false ) {
361
-					$source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
362
-				}
363
-			}
364
-
365
-			echo '<meta name="generator" content="WP Super Duper v' . esc_attr( $this->version ) . '"' . ( ! empty( $source[0] ) ? ' data-sd-source="' . esc_attr( $source[0] ) . '"' : '' ) . ' />';
366
-		}
367
-
368
-		/**
369
-		 * Get widget settings.
370
-		 *
371
-		 * @since 1.0.0
372
-		 */
373
-		public static function get_widget_settings() {
374
-			global $sd_widgets;
375
-
376
-			$shortcode = isset( $_REQUEST['shortcode'] ) && $_REQUEST['shortcode'] ? sanitize_title_with_dashes( $_REQUEST['shortcode'] ) : '';
377
-			if ( ! $shortcode ) {
378
-				wp_die();
379
-			}
380
-			$widget_args = isset( $sd_widgets[ $shortcode ] ) ? $sd_widgets[ $shortcode ] : '';
381
-			if ( ! $widget_args ) {
382
-				wp_die();
383
-			}
384
-			$class_name = isset( $widget_args['class_name'] ) && $widget_args['class_name'] ? $widget_args['class_name'] : '';
385
-			if ( ! $class_name ) {
386
-				wp_die();
387
-			}
388
-
389
-			// invoke an instance method
390
-			$widget = new $class_name;
391
-
392
-			ob_start();
393
-			$widget->form( array() );
394
-			$form = ob_get_clean();
395
-			echo "<form id='$shortcode'>" . $form . "<div class=\"widget-control-save\"></div></form>";
396
-			echo "<style>" . $widget->widget_css() . "</style>";
397
-			echo "<script>" . $widget->widget_js() . "</script>";
398
-			?>
316
+            $html = ob_get_clean();
317
+
318
+            if ( wp_doing_ajax() ) {
319
+                echo $html;
320
+                $should_die = true;
321
+
322
+                // some builder get the editor via ajax so we should not die on those occasions
323
+                $dont_die = array(
324
+                    'parent_tag',// WP Bakery
325
+                    'avia_request' // enfold
326
+                );
327
+
328
+                foreach ( $dont_die as $request ) {
329
+                    if ( isset( $_REQUEST[ $request ] ) ) {
330
+                        $should_die = false;
331
+                    }
332
+                }
333
+
334
+                if ( $should_die ) {
335
+                    wp_die();
336
+                }
337
+
338
+            } else {
339
+                return $html;
340
+            }
341
+
342
+            return '';
343
+
344
+        }
345
+
346
+        /**
347
+         * Output the version in the header.
348
+         */
349
+        public function generator() {
350
+            $file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
351
+            $plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
352
+
353
+            // Find source plugin/theme of SD
354
+            $source = array();
355
+            if ( strpos( $file, $plugins_dir ) !== false ) {
356
+                $source = explode( "/", plugin_basename( $file ) );
357
+            } else if ( function_exists( 'get_theme_root' ) ) {
358
+                $themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
359
+
360
+                if ( strpos( $file, $themes_dir ) !== false ) {
361
+                    $source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
362
+                }
363
+            }
364
+
365
+            echo '<meta name="generator" content="WP Super Duper v' . esc_attr( $this->version ) . '"' . ( ! empty( $source[0] ) ? ' data-sd-source="' . esc_attr( $source[0] ) . '"' : '' ) . ' />';
366
+        }
367
+
368
+        /**
369
+         * Get widget settings.
370
+         *
371
+         * @since 1.0.0
372
+         */
373
+        public static function get_widget_settings() {
374
+            global $sd_widgets;
375
+
376
+            $shortcode = isset( $_REQUEST['shortcode'] ) && $_REQUEST['shortcode'] ? sanitize_title_with_dashes( $_REQUEST['shortcode'] ) : '';
377
+            if ( ! $shortcode ) {
378
+                wp_die();
379
+            }
380
+            $widget_args = isset( $sd_widgets[ $shortcode ] ) ? $sd_widgets[ $shortcode ] : '';
381
+            if ( ! $widget_args ) {
382
+                wp_die();
383
+            }
384
+            $class_name = isset( $widget_args['class_name'] ) && $widget_args['class_name'] ? $widget_args['class_name'] : '';
385
+            if ( ! $class_name ) {
386
+                wp_die();
387
+            }
388
+
389
+            // invoke an instance method
390
+            $widget = new $class_name;
391
+
392
+            ob_start();
393
+            $widget->form( array() );
394
+            $form = ob_get_clean();
395
+            echo "<form id='$shortcode'>" . $form . "<div class=\"widget-control-save\"></div></form>";
396
+            echo "<style>" . $widget->widget_css() . "</style>";
397
+            echo "<script>" . $widget->widget_js() . "</script>";
398
+            ?>
399 399
 			<?php
400
-			wp_die();
401
-		}
402
-
403
-		/**
404
-		 * Insert shortcode builder button to classic editor (not inside Gutenberg, not needed).
405
-		 *
406
-		 * @param string $editor_id Optional. Shortcode editor id. Default null.
407
-		 * @param string $insert_shortcode_function Optional. Insert shortcode function. Default null.
408
-		 *
409
-		 *@since 1.0.0
410
-		 *
411
-		 */
412
-		public static function shortcode_insert_button( $editor_id = '', $insert_shortcode_function = '' ) {
413
-			global $sd_widgets, $shortcode_insert_button_once;
414
-			if ( $shortcode_insert_button_once ) {
415
-				return;
416
-			}
417
-			add_thickbox();
418
-
419
-
420
-			/**
421
-			 * Cornerstone makes us play dirty tricks :/
422
-			 * 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.
423
-			 */
424
-			if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
425
-				echo '<span id="insert-media-button">';
426
-			}
427
-
428
-			echo self::shortcode_button( 'this', 'true' );
429
-
430
-			// see opening note
431
-			if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
432
-				echo '</span>'; // end #insert-media-button
433
-			}
434
-
435
-			// Add separate script for generatepress theme sections
436
-			if ( function_exists( 'generate_sections_sections_metabox' ) && did_action( 'generate_sections_metabox' ) ) {
437
-			} else {
438
-				self::shortcode_insert_button_script( $editor_id, $insert_shortcode_function );
439
-			}
440
-
441
-			$shortcode_insert_button_once = true;
442
-		}
443
-
444
-		/**
445
-		 * Gets the shortcode insert button html.
446
-		 *
447
-		 * @param string $id
448
-		 * @param string $search_for_id
449
-		 *
450
-		 * @return mixed
451
-		 */
452
-		public static function shortcode_button( $id = '', $search_for_id = '' ) {
453
-			ob_start();
454
-			?>
400
+            wp_die();
401
+        }
402
+
403
+        /**
404
+         * Insert shortcode builder button to classic editor (not inside Gutenberg, not needed).
405
+         *
406
+         * @param string $editor_id Optional. Shortcode editor id. Default null.
407
+         * @param string $insert_shortcode_function Optional. Insert shortcode function. Default null.
408
+         *
409
+         *@since 1.0.0
410
+         *
411
+         */
412
+        public static function shortcode_insert_button( $editor_id = '', $insert_shortcode_function = '' ) {
413
+            global $sd_widgets, $shortcode_insert_button_once;
414
+            if ( $shortcode_insert_button_once ) {
415
+                return;
416
+            }
417
+            add_thickbox();
418
+
419
+
420
+            /**
421
+             * Cornerstone makes us play dirty tricks :/
422
+             * 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.
423
+             */
424
+            if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
425
+                echo '<span id="insert-media-button">';
426
+            }
427
+
428
+            echo self::shortcode_button( 'this', 'true' );
429
+
430
+            // see opening note
431
+            if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
432
+                echo '</span>'; // end #insert-media-button
433
+            }
434
+
435
+            // Add separate script for generatepress theme sections
436
+            if ( function_exists( 'generate_sections_sections_metabox' ) && did_action( 'generate_sections_metabox' ) ) {
437
+            } else {
438
+                self::shortcode_insert_button_script( $editor_id, $insert_shortcode_function );
439
+            }
440
+
441
+            $shortcode_insert_button_once = true;
442
+        }
443
+
444
+        /**
445
+         * Gets the shortcode insert button html.
446
+         *
447
+         * @param string $id
448
+         * @param string $search_for_id
449
+         *
450
+         * @return mixed
451
+         */
452
+        public static function shortcode_button( $id = '', $search_for_id = '' ) {
453
+            ob_start();
454
+            ?>
455 455
 			<span class="sd-lable-shortcode-inserter">
456 456
 				<a onclick="sd_ajax_get_picker(<?php echo $id;
457
-				if ( $search_for_id ) {
458
-					echo "," . $search_for_id;
459
-				} ?>);" href="#TB_inline?width=100%&height=550&inlineId=super-duper-content-ajaxed"
457
+                if ( $search_for_id ) {
458
+                    echo "," . $search_for_id;
459
+                } ?>);" href="#TB_inline?width=100%&height=550&inlineId=super-duper-content-ajaxed"
460 460
 				   class="thickbox button super-duper-content-open" title="Add Shortcode">
461 461
 					<span style="vertical-align: middle;line-height: 18px;font-size: 20px;"
462 462
 						  class="dashicons dashicons-screenoptions"></span>
@@ -467,21 +467,21 @@  discard block
 block discarded – undo
467 467
 			</span>
468 468
 
469 469
 			<?php
470
-			$html = ob_get_clean();
471
-
472
-			// remove line breaks so we can use it in js
473
-			return preg_replace( "/\r|\n/", "", trim( $html ) );
474
-		}
475
-
476
-		/**
477
-		 * Makes SD work with the siteOrigin page builder.
478
-		 *
479
-		 * @return mixed
480
-		 *@since 1.0.6
481
-		 */
482
-		public static function siteorigin_js() {
483
-			ob_start();
484
-			?>
470
+            $html = ob_get_clean();
471
+
472
+            // remove line breaks so we can use it in js
473
+            return preg_replace( "/\r|\n/", "", trim( $html ) );
474
+        }
475
+
476
+        /**
477
+         * Makes SD work with the siteOrigin page builder.
478
+         *
479
+         * @return mixed
480
+         *@since 1.0.6
481
+         */
482
+        public static function siteorigin_js() {
483
+            ob_start();
484
+            ?>
485 485
 			<script>
486 486
 				/**
487 487
 				 * Check a form to see what items should be shown or hidden.
@@ -557,29 +557,29 @@  discard block
 block discarded – undo
557 557
 				});
558 558
 			</script>
559 559
 			<?php
560
-			$output = ob_get_clean();
560
+            $output = ob_get_clean();
561 561
 
562
-			/*
562
+            /*
563 563
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
564 564
 			 */
565 565
 
566
-			return str_replace( array(
567
-				'<script>',
568
-				'</script>'
569
-			), '', $output );
570
-		}
571
-
572
-		/**
573
-		 * Output the JS and CSS for the shortcode insert button.
574
-		 *
575
-		 * @param string $editor_id
576
-		 * @param string $insert_shortcode_function
577
-		 *
578
-		 *@since 1.0.6
579
-		 *
580
-		 */
581
-		public static function shortcode_insert_button_script( $editor_id = '', $insert_shortcode_function = '' ) {
582
-			?>
566
+            return str_replace( array(
567
+                '<script>',
568
+                '</script>'
569
+            ), '', $output );
570
+        }
571
+
572
+        /**
573
+         * Output the JS and CSS for the shortcode insert button.
574
+         *
575
+         * @param string $editor_id
576
+         * @param string $insert_shortcode_function
577
+         *
578
+         *@since 1.0.6
579
+         *
580
+         */
581
+        public static function shortcode_insert_button_script( $editor_id = '', $insert_shortcode_function = '' ) {
582
+            ?>
583 583
 			<style>
584 584
 				.sd-shortcode-left-wrap {
585 585
 					float: left;
@@ -707,35 +707,35 @@  discard block
 block discarded – undo
707 707
 				<?php } ?>
708 708
 			</style>
709 709
 			<?php
710
-			if ( class_exists( 'SiteOrigin_Panels' ) ) {
711
-				echo "<script>" . self::siteorigin_js() . "</script>";
712
-			}
713
-			?>
710
+            if ( class_exists( 'SiteOrigin_Panels' ) ) {
711
+                echo "<script>" . self::siteorigin_js() . "</script>";
712
+            }
713
+            ?>
714 714
 			<script>
715 715
 				<?php
716
-				if(! empty( $insert_shortcode_function )){
717
-					echo $insert_shortcode_function;
718
-				}else{
719
-
720
-				/**
721
-				 * Function for super duper insert shortcode.
722
-				 *
723
-				 * @since 1.0.0
724
-				 */
725
-				?>
716
+                if(! empty( $insert_shortcode_function )){
717
+                    echo $insert_shortcode_function;
718
+                }else{
719
+
720
+                /**
721
+                 * Function for super duper insert shortcode.
722
+                 *
723
+                 * @since 1.0.0
724
+                 */
725
+                ?>
726 726
 				function sd_insert_shortcode($editor_id) {
727 727
 					$shortcode = jQuery('#TB_ajaxContent #sd-shortcode-output').val();
728 728
 					if ($shortcode) {
729 729
 						if (!$editor_id) {
730 730
 							<?php
731
-							if ( isset( $_REQUEST['et_fb'] ) ) {
732
-								echo '$editor_id = "#main_content_content_vb_tiny_mce";';
733
-							} elseif ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) {
734
-								echo '$editor_id = "#elementor-controls .wp-editor-container textarea";';
735
-							} else {
736
-								echo '$editor_id = "#wp-content-editor-container textarea";';
737
-							}
738
-							?>
731
+                            if ( isset( $_REQUEST['et_fb'] ) ) {
732
+                                echo '$editor_id = "#main_content_content_vb_tiny_mce";';
733
+                            } elseif ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) {
734
+                                echo '$editor_id = "#elementor-controls .wp-editor-container textarea";';
735
+                            } else {
736
+                                echo '$editor_id = "#wp-content-editor-container textarea";';
737
+                            }
738
+                            ?>
739 739
 						} else {
740 740
 							$editor_id = '#' + $editor_id;
741 741
 						}
@@ -1049,18 +1049,18 @@  discard block
 block discarded – undo
1049 1049
 				}
1050 1050
 			</script>
1051 1051
 			<?php
1052
-		}
1053
-
1054
-		/**
1055
-		 * Gets some CSS for the widgets screen.
1056
-		 *
1057
-		 * @param bool $advanced If we should include advanced CSS.
1058
-		 *
1059
-		 * @return mixed
1060
-		 */
1061
-		public function widget_css( $advanced = true ) {
1062
-			ob_start();
1063
-			?>
1052
+        }
1053
+
1054
+        /**
1055
+         * Gets some CSS for the widgets screen.
1056
+         *
1057
+         * @param bool $advanced If we should include advanced CSS.
1058
+         *
1059
+         * @return mixed
1060
+         */
1061
+        public function widget_css( $advanced = true ) {
1062
+            ob_start();
1063
+            ?>
1064 1064
 			<style>
1065 1065
 				<?php if( $advanced ){ ?>
1066 1066
 				.sd-advanced-setting {
@@ -1100,26 +1100,26 @@  discard block
 block discarded – undo
1100 1100
 				.elementor-control .sd-argument select[multiple] option{padding:3px}
1101 1101
 			</style>
1102 1102
 			<?php
1103
-			$output = ob_get_clean();
1103
+            $output = ob_get_clean();
1104 1104
 
1105
-			/*
1105
+            /*
1106 1106
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1107 1107
 			 */
1108 1108
 
1109
-			return str_replace( array(
1110
-				'<style>',
1111
-				'</style>'
1112
-			), '', $output );
1113
-		}
1114
-
1115
-		/**
1116
-		 * Gets some JS for the widgets screen.
1117
-		 *
1118
-		 * @return mixed
1119
-		 */
1120
-		public function widget_js() {
1121
-			ob_start();
1122
-			?>
1109
+            return str_replace( array(
1110
+                '<style>',
1111
+                '</style>'
1112
+            ), '', $output );
1113
+        }
1114
+
1115
+        /**
1116
+         * Gets some JS for the widgets screen.
1117
+         *
1118
+         * @return mixed
1119
+         */
1120
+        public function widget_js() {
1121
+            ob_start();
1122
+            ?>
1123 1123
 			<script>
1124 1124
 
1125 1125
 				/**
@@ -1270,595 +1270,595 @@  discard block
 block discarded – undo
1270 1270
 				<?php do_action( 'wp_super_duper_widget_js', $this ); ?>
1271 1271
 			</script>
1272 1272
 			<?php
1273
-			$output = ob_get_clean();
1273
+            $output = ob_get_clean();
1274 1274
 
1275
-			/*
1275
+            /*
1276 1276
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1277 1277
 			 */
1278 1278
 
1279
-			return str_replace( array(
1280
-				'<script>',
1281
-				'</script>'
1282
-			), '', $output );
1283
-		}
1284
-
1285
-
1286
-		/**
1287
-		 * Set the name from the argument key.
1288
-		 *
1289
-		 * @param $options
1290
-		 *
1291
-		 * @return mixed
1292
-		 */
1293
-		private function add_name_from_key( $options, $arguments = false ) {
1294
-			if ( ! empty( $options['arguments'] ) ) {
1295
-				foreach ( $options['arguments'] as $key => $val ) {
1296
-					$options['arguments'][ $key ]['name'] = $key;
1297
-				}
1298
-			} elseif ( $arguments && is_array( $options ) && ! empty( $options ) ) {
1299
-				foreach ( $options as $key => $val ) {
1300
-					$options[ $key ]['name'] = $key;
1301
-				}
1302
-			}
1279
+            return str_replace( array(
1280
+                '<script>',
1281
+                '</script>'
1282
+            ), '', $output );
1283
+        }
1284
+
1285
+
1286
+        /**
1287
+         * Set the name from the argument key.
1288
+         *
1289
+         * @param $options
1290
+         *
1291
+         * @return mixed
1292
+         */
1293
+        private function add_name_from_key( $options, $arguments = false ) {
1294
+            if ( ! empty( $options['arguments'] ) ) {
1295
+                foreach ( $options['arguments'] as $key => $val ) {
1296
+                    $options['arguments'][ $key ]['name'] = $key;
1297
+                }
1298
+            } elseif ( $arguments && is_array( $options ) && ! empty( $options ) ) {
1299
+                foreach ( $options as $key => $val ) {
1300
+                    $options[ $key ]['name'] = $key;
1301
+                }
1302
+            }
1303
+
1304
+            return $options;
1305
+        }
1306
+
1307
+        /**
1308
+         * Register the parent shortcode.
1309
+         *
1310
+         * @since 1.0.0
1311
+         */
1312
+        public function register_shortcode() {
1313
+            add_shortcode( $this->base_id, array( $this, 'shortcode_output' ) );
1314
+            add_action( 'wp_ajax_super_duper_output_shortcode', array( $this, 'render_shortcode' ) );
1315
+        }
1316
+
1317
+        /**
1318
+         * Render the shortcode via ajax so we can return it to Gutenberg.
1319
+         *
1320
+         * @since 1.0.0
1321
+         */
1322
+        public function render_shortcode() {
1323
+            check_ajax_referer( 'super_duper_output_shortcode', '_ajax_nonce', true );
1324
+            if ( ! current_user_can( 'manage_options' ) ) {
1325
+                wp_die();
1326
+            }
1327
+
1328
+            // we might need the $post value here so lets set it.
1329
+            if ( isset( $_POST['post_id'] ) && $_POST['post_id'] ) {
1330
+                $post_obj = get_post( absint( $_POST['post_id'] ) );
1331
+                if ( ! empty( $post_obj ) && empty( $post ) ) {
1332
+                    global $post;
1333
+                    $post = $post_obj;
1334
+                }
1335
+            }
1336
+
1337
+            if ( isset( $_POST['shortcode'] ) && $_POST['shortcode'] ) {
1338
+                $is_preview = $this->is_preview();
1339
+                $shortcode_name   = sanitize_title_with_dashes( $_POST['shortcode'] );
1340
+                $attributes_array = isset( $_POST['attributes'] ) && $_POST['attributes'] ? $_POST['attributes'] : array();
1341
+                $attributes       = '';
1342
+                if ( ! empty( $attributes_array ) ) {
1343
+                    foreach ( $attributes_array as $key => $value ) {
1344
+                        if ( is_array( $value ) ) {
1345
+                            $value = implode( ",", $value );
1346
+                        }
1347
+
1348
+                        if ( ! empty( $value ) ) {
1349
+                            $value = wp_unslash( $value );
1350
+
1351
+                            // Encode [ and ].
1352
+                            if ( $is_preview ) {
1353
+                                $value = $this->encode_shortcodes( $value );
1354
+                            }
1355
+                        }
1356
+                        $attributes .= " " . esc_attr( sanitize_title_with_dashes( $key ) ) . "='" . esc_attr( $value ) . "' ";
1357
+                    }
1358
+                }
1359
+
1360
+                $shortcode = "[" . esc_attr( $shortcode_name ) . " " . $attributes . "]";
1361
+
1362
+                $content = do_shortcode( $shortcode );
1363
+
1364
+                // Decode [ and ].
1365
+                if ( ! empty( $content ) && $is_preview ) {
1366
+                    $content = $this->decode_shortcodes( $content );
1367
+                }
1368
+
1369
+                echo $content;
1370
+            }
1371
+            wp_die();
1372
+        }
1373
+
1374
+        /**
1375
+         * Output the shortcode.
1376
+         *
1377
+         * @param array $args
1378
+         * @param string $content
1379
+         *
1380
+         * @return string
1381
+         */
1382
+        public function shortcode_output( $args = array(), $content = '' ) {
1383
+            $_instance = $args;
1384
+
1385
+            $args = $this->argument_values( $args );
1386
+
1387
+            // add extra argument so we know its a output to gutenberg
1388
+            //$args
1389
+            $args = $this->string_to_bool( $args );
1390
+
1391
+            // if we have a enclosed shortcode we add it to the special `html` argument
1392
+            if ( ! empty( $content ) ) {
1393
+                $args['html'] = $content;
1394
+            }
1395
+
1396
+            if ( ! $this->is_preview() ) {
1397
+                /**
1398
+                 * Filters the settings for a particular widget args.
1399
+                 *
1400
+                 * @param array          $args      The current widget instance's settings.
1401
+                 * @param WP_Super_Duper $widget    The current widget settings.
1402
+                 * @param array          $_instance An array of default widget arguments.
1403
+                 *
1404
+                 *@since 1.0.28
1405
+                 *
1406
+                 */
1407
+                $args = apply_filters( 'wp_super_duper_widget_display_callback', $args, $this, $_instance );
1408
+
1409
+                if ( ! is_array( $args ) ) {
1410
+                    return $args;
1411
+                }
1412
+            }
1413
+
1414
+            $class = isset( $this->options['widget_ops']['classname'] ) ? esc_attr( $this->options['widget_ops']['classname'] ) : '';
1415
+            $class .= " sdel-".$this->get_instance_hash();
1416
+
1417
+            $class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
1418
+            $class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
1419
+
1420
+            $attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
1421
+            $attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this );
1422
+
1423
+            $shortcode_args = array();
1424
+            $output         = '';
1425
+            $no_wrap        = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
1426
+            if ( isset( $args['no_wrap'] ) && $args['no_wrap'] ) {
1427
+                $no_wrap = true;
1428
+            }
1429
+            $main_content = $this->output( $args, $shortcode_args, $content );
1430
+            if ( $main_content && ! $no_wrap ) {
1431
+                // wrap the shortcode in a div with the same class as the widget
1432
+                $output .= '<div class="' . $class . '" ' . $attrs . '>';
1433
+                if ( ! empty( $args['title'] ) ) {
1434
+                    // if its a shortcode and there is a title try to grab the title wrappers
1435
+                    $shortcode_args = array( 'before_title' => '', 'after_title' => '' );
1436
+                    if ( empty( $instance ) ) {
1437
+                        global $wp_registered_sidebars;
1438
+                        if ( ! empty( $wp_registered_sidebars ) ) {
1439
+                            foreach ( $wp_registered_sidebars as $sidebar ) {
1440
+                                if ( ! empty( $sidebar['before_title'] ) ) {
1441
+                                    $shortcode_args['before_title'] = $sidebar['before_title'];
1442
+                                    $shortcode_args['after_title']  = $sidebar['after_title'];
1443
+                                    break;
1444
+                                }
1445
+                            }
1446
+                        }
1447
+                    }
1448
+                    $output .= $this->output_title( $shortcode_args, $args );
1449
+                }
1450
+                $output .= $main_content;
1451
+                $output .= '</div>';
1452
+            } elseif ( $main_content && $no_wrap ) {
1453
+                $output .= $main_content;
1454
+            }
1455
+
1456
+            // if preview show a placeholder if empty
1457
+            if ( $this->is_preview() && $output == '' ) {
1458
+                $output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
1459
+            }
1460
+
1461
+            return apply_filters( 'wp_super_duper_widget_output', $output, $args, $shortcode_args, $this );
1462
+        }
1463
+
1464
+        /**
1465
+         * Placeholder text to show if output is empty and we are on a preview/builder page.
1466
+         *
1467
+         * @param string $name
1468
+         *
1469
+         * @return string
1470
+         */
1471
+        public function preview_placeholder_text( $name = '' ) {
1472
+            return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . wp_sprintf( __( 'Placeholder for: %s', 'ayecode-connect' ), $name ) . "</div>";
1473
+        }
1474
+
1475
+        /**
1476
+         * Sometimes booleans values can be turned to strings, so we fix that.
1477
+         *
1478
+         * @param $options
1479
+         *
1480
+         * @return mixed
1481
+         */
1482
+        public function string_to_bool( $options ) {
1483
+            // convert bool strings to booleans
1484
+            foreach ( $options as $key => $val ) {
1485
+                if ( $val == 'false' ) {
1486
+                    $options[ $key ] = false;
1487
+                } elseif ( $val == 'true' ) {
1488
+                    $options[ $key ] = true;
1489
+                }
1490
+            }
1491
+
1492
+            return $options;
1493
+        }
1494
+
1495
+        /**
1496
+         * Get the argument values that are also filterable.
1497
+         *
1498
+         * @param $instance
1499
+         *
1500
+         * @return array
1501
+         *@since 1.0.12 Don't set checkbox default value if the value is empty.
1502
+         *
1503
+         */
1504
+        public function argument_values( $instance ) {
1505
+            $argument_values = array();
1506
+
1507
+            // set widget instance
1508
+            $this->instance = $instance;
1509
+
1510
+            if ( empty( $this->arguments ) ) {
1511
+                $this->arguments = $this->get_arguments();
1512
+            }
1513
+
1514
+            if ( ! empty( $this->arguments ) ) {
1515
+                foreach ( $this->arguments as $key => $args ) {
1516
+                    // set the input name from the key
1517
+                    $args['name'] = $key;
1518
+                    //
1519
+                    $argument_values[ $key ] = isset( $instance[ $key ] ) ? $instance[ $key ] : '';
1520
+                    if ( $args['type'] == 'checkbox' && $argument_values[ $key ] == '' ) {
1521
+                        // don't set default for an empty checkbox
1522
+                    } elseif ( $argument_values[ $key ] == '' && isset( $args['default'] ) ) {
1523
+                        $argument_values[ $key ] = $args['default'];
1524
+                    }
1525
+                }
1526
+            }
1527
+
1528
+            return $argument_values;
1529
+        }
1530
+
1531
+        /**
1532
+         * Set arguments in super duper.
1533
+         *
1534
+         * @return array Set arguments.
1535
+         *@since 1.0.0
1536
+         *
1537
+         */
1538
+        public function set_arguments() {
1539
+            return $this->arguments;
1540
+        }
1541
+
1542
+        /**
1543
+         * Get arguments in super duper.
1544
+         *
1545
+         * @return array Get arguments.
1546
+         *@since 1.0.0
1547
+         *
1548
+         */
1549
+        public function get_arguments() {
1550
+            if ( empty( $this->arguments ) ) {
1551
+                $this->arguments = $this->set_arguments();
1552
+            }
1553
+
1554
+            $this->arguments = apply_filters( 'wp_super_duper_arguments', $this->arguments, $this->options, $this->instance );
1555
+            $this->arguments = $this->add_name_from_key( $this->arguments, true );
1556
+
1557
+            return $this->arguments;
1558
+        }
1559
+
1560
+        /**
1561
+         * This is the main output class for all 3 items, widget, shortcode and block, it is extended in the calling class.
1562
+         *
1563
+         * @param array $args
1564
+         * @param array $widget_args
1565
+         * @param string $content
1566
+         */
1567
+        public function output( $args = array(), $widget_args = array(), $content = '' ) {
1568
+
1569
+        }
1570
+
1571
+        /**
1572
+         * Add the dynamic block code inline when the wp-block in enqueued.
1573
+         */
1574
+        public function register_block() {
1575
+            wp_add_inline_script( 'wp-blocks', $this->block() );
1576
+            if ( class_exists( 'SiteOrigin_Panels' ) ) {
1577
+                wp_add_inline_script( 'wp-blocks', $this->siteorigin_js() );
1578
+            }
1579
+        }
1580
+
1581
+        /**
1582
+         * Check if we need to show advanced options.
1583
+         *
1584
+         * @return bool
1585
+         */
1586
+        public function block_show_advanced() {
1587
+
1588
+            $show      = false;
1589
+            $arguments = $this->get_arguments();
1590
+
1591
+            if ( ! empty( $arguments ) ) {
1592
+                foreach ( $arguments as $argument ) {
1593
+                    if ( isset( $argument['advanced'] ) && $argument['advanced'] ) {
1594
+                        $show = true;
1595
+                        break; // no need to continue if we know we have it
1596
+                    }
1597
+                }
1598
+            }
1599
+
1600
+            return $show;
1601
+        }
1602
+
1603
+        /**
1604
+         * Get the url path to the current folder.
1605
+         *
1606
+         * @return string
1607
+         */
1608
+        public function get_url() {
1609
+            $url = $this->url;
1610
+
1611
+            if ( ! $url ) {
1612
+                $content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) );
1613
+                $content_url = untrailingslashit( WP_CONTENT_URL );
1614
+
1615
+                // Replace http:// to https://.
1616
+                if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) {
1617
+                    $content_url = str_replace( 'http://', 'https://', $content_url );
1618
+                }
1619
+
1620
+                // Check if we are inside a plugin
1621
+                $file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) );
1622
+                $url = str_replace( $content_dir, $content_url, $file_dir );
1623
+                $url = trailingslashit( $url );
1624
+                $this->url = $url;
1625
+            }
1626
+
1627
+            return $url;
1628
+        }
1629
+
1630
+        /**
1631
+         * Get the url path to the current folder.
1632
+         *
1633
+         * @return string
1634
+         */
1635
+        public function get_url_old() {
1636
+
1637
+            $url = $this->url;
1638
+
1639
+            if ( ! $url ) {
1640
+                // check if we are inside a plugin
1641
+                $file_dir = str_replace( "/includes", "", dirname( __FILE__ ) );
1642
+
1643
+                $dir_parts = explode( "/wp-content/", $file_dir );
1644
+                $url_parts = explode( "/wp-content/", plugins_url() );
1645
+
1646
+                if ( ! empty( $url_parts[0] ) && ! empty( $dir_parts[1] ) ) {
1647
+                    $url       = trailingslashit( $url_parts[0] . "/wp-content/" . $dir_parts[1] );
1648
+                    $this->url = $url;
1649
+                }
1650
+            }
1651
+
1652
+
1653
+            return $url;
1654
+        }
1655
+
1656
+        /**
1657
+         * Generate the block icon.
1658
+         *
1659
+         * Enables the use of Font Awesome icons.
1660
+         *
1661
+         * @note xlink:href is actually deprecated but href is not supported by all so we use both.
1662
+         *
1663
+         * @param $icon
1664
+         *
1665
+         * @return string
1666
+         *@since 1.1.0
1667
+         */
1668
+        public function get_block_icon( $icon ) {
1669
+
1670
+            // check if we have a Font Awesome icon
1671
+            $fa_type = '';
1672
+            if ( substr( $icon, 0, 7 ) === "fas fa-" ) {
1673
+                $fa_type = 'solid';
1674
+            } elseif ( substr( $icon, 0, 7 ) === "far fa-" ) {
1675
+                $fa_type = 'regular';
1676
+            } elseif ( substr( $icon, 0, 7 ) === "fab fa-" ) {
1677
+                $fa_type = 'brands';
1678
+            } else {
1679
+                $icon = "'" . $icon . "'";
1680
+            }
1681
+
1682
+            // set the icon if we found one
1683
+            if ( $fa_type ) {
1684
+                $fa_icon = str_replace( array( "fas fa-", "far fa-", "fab fa-" ), "", $icon );
1685
+                $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 . "'}))";
1686
+            }
1687
+
1688
+            return $icon;
1689
+        }
1690
+
1691
+        public function group_arguments( $arguments ) {
1692
+            if ( ! empty( $arguments ) ) {
1693
+                $temp_arguments = array();
1694
+                $general        = __( "General", 'ayecode-connect' );
1695
+                $add_sections   = false;
1696
+                foreach ( $arguments as $key => $args ) {
1697
+                    if ( isset( $args['group'] ) ) {
1698
+                        $temp_arguments[ $args['group'] ][ $key ] = $args;
1699
+                        $add_sections                             = true;
1700
+                    } else {
1701
+                        $temp_arguments[ $general ][ $key ] = $args;
1702
+                    }
1703
+                }
1704
+
1705
+                // only add sections if more than one
1706
+                if ( $add_sections ) {
1707
+                    $arguments = $temp_arguments;
1708
+                }
1709
+            }
1710
+
1711
+            return $arguments;
1712
+        }
1713
+
1714
+        /**
1715
+         * Parse used group tabs.
1716
+         *
1717
+         * @since 1.1.17
1718
+         */
1719
+        public function group_block_tabs( $tabs, $arguments ) {
1720
+            if ( ! empty( $tabs ) && ! empty( $arguments ) ) {
1721
+                $has_sections = false;
1722
+
1723
+                foreach ( $this->arguments as $key => $args ) {
1724
+                    if ( isset( $args['group'] ) ) {
1725
+                        $has_sections = true;
1726
+                        break;
1727
+                    }
1728
+                }
1729
+
1730
+                if ( ! $has_sections ) {
1731
+                    return $tabs;
1732
+                }
1733
+
1734
+                $new_tabs = array();
1735
+
1736
+                foreach ( $tabs as $tab_key => $tab ) {
1737
+                    $new_groups = array();
1738
+
1739
+                    if ( ! empty( $tab['groups'] ) && is_array( $tab['groups'] ) ) {
1740
+                        foreach ( $tab['groups'] as $group ) {
1741
+                            if ( isset( $arguments[ $group ] ) ) {
1742
+                                $new_groups[] = $group;
1743
+                            }
1744
+                        }
1745
+                    }
1746
+
1747
+                    if ( ! empty( $new_groups ) ) {
1748
+                        $tab['groups'] = $new_groups;
1749
+
1750
+                        $new_tabs[ $tab_key ] = $tab;
1751
+                    }
1752
+                }
1753
+
1754
+                $tabs = $new_tabs;
1755
+            }
1756
+
1757
+            return $tabs;
1758
+        }
1759
+
1760
+        /**
1761
+         * Output the JS for building the dynamic Guntenberg block.
1762
+         *
1763
+         * @return mixed
1764
+         *@since 1.0.9 Save numbers as numbers and not strings.
1765
+         * @since 1.1.0 Font Awesome classes can be used for icons.
1766
+         * @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.
1767
+         */
1768
+        public function block() {
1769
+            global $sd_is_js_functions_loaded, $aui_bs5;
1770
+
1771
+            $show_advanced = $this->block_show_advanced();
1772
+
1773
+            ob_start();
1774
+            ?>
1775
+			<script>
1776
+			<?php
1777
+            if ( ! $sd_is_js_functions_loaded ) {
1778
+                $sd_is_js_functions_loaded = true;
1779
+            ?>
1780
+function sd_show_view_options($this){
1781
+	if(jQuery($this).html().length){
1782
+		jQuery($this).html('');
1783
+	}else{
1784
+		jQuery($this).html('<div class="position-absolute d-flex flex-column bg-white p-1 rounded border shadow-lg " style="top:-80px;left:-5px;"><div class="dashicons dashicons-desktop mb-1" onclick="sd_set_view_type(\'Desktop\');"></div><div class="dashicons dashicons-tablet mb-1" onclick="sd_set_view_type(\'Tablet\');"></div><div class="dashicons dashicons-smartphone" onclick="sd_set_view_type(\'Mobile\');"></div></div>');
1785
+	}
1786
+}
1303 1787
 
1304
-			return $options;
1305
-		}
1788
+function sd_set_view_type($device){
1789
+	wp.data.dispatch('core/edit-site') ? wp.data.dispatch('core/edit-site').__experimentalSetPreviewDeviceType($device) : wp.data.dispatch('core/edit-post').__experimentalSetPreviewDeviceType($device);
1790
+}
1306 1791
 
1307
-		/**
1308
-		 * Register the parent shortcode.
1309
-		 *
1310
-		 * @since 1.0.0
1311
-		 */
1312
-		public function register_shortcode() {
1313
-			add_shortcode( $this->base_id, array( $this, 'shortcode_output' ) );
1314
-			add_action( 'wp_ajax_super_duper_output_shortcode', array( $this, 'render_shortcode' ) );
1792
+jQuery(function(){
1793
+	sd_block_visibility_init();
1794
+});
1795
+function sd_block_visibility_init() {
1796
+	jQuery(document).off('change', '.bs-vc-modal-form').on('change', '.bs-vc-modal-form', function() {
1797
+		try {
1798
+			aui_conditional_fields('.bs-vc-modal-form');
1799
+		} catch(err) {
1800
+			console.log(err.message);
1315 1801
 		}
1802
+	});
1316 1803
 
1317
-		/**
1318
-		 * Render the shortcode via ajax so we can return it to Gutenberg.
1319
-		 *
1320
-		 * @since 1.0.0
1321
-		 */
1322
-		public function render_shortcode() {
1323
-			check_ajax_referer( 'super_duper_output_shortcode', '_ajax_nonce', true );
1324
-			if ( ! current_user_can( 'manage_options' ) ) {
1325
-				wp_die();
1326
-			}
1327
-
1328
-			// we might need the $post value here so lets set it.
1329
-			if ( isset( $_POST['post_id'] ) && $_POST['post_id'] ) {
1330
-				$post_obj = get_post( absint( $_POST['post_id'] ) );
1331
-				if ( ! empty( $post_obj ) && empty( $post ) ) {
1332
-					global $post;
1333
-					$post = $post_obj;
1334
-				}
1335
-			}
1336
-
1337
-			if ( isset( $_POST['shortcode'] ) && $_POST['shortcode'] ) {
1338
-				$is_preview = $this->is_preview();
1339
-				$shortcode_name   = sanitize_title_with_dashes( $_POST['shortcode'] );
1340
-				$attributes_array = isset( $_POST['attributes'] ) && $_POST['attributes'] ? $_POST['attributes'] : array();
1341
-				$attributes       = '';
1342
-				if ( ! empty( $attributes_array ) ) {
1343
-					foreach ( $attributes_array as $key => $value ) {
1344
-						if ( is_array( $value ) ) {
1345
-							$value = implode( ",", $value );
1346
-						}
1347
-
1348
-						if ( ! empty( $value ) ) {
1349
-							$value = wp_unslash( $value );
1350
-
1351
-							// Encode [ and ].
1352
-							if ( $is_preview ) {
1353
-								$value = $this->encode_shortcodes( $value );
1354
-							}
1355
-						}
1356
-						$attributes .= " " . esc_attr( sanitize_title_with_dashes( $key ) ) . "='" . esc_attr( $value ) . "' ";
1804
+	jQuery(document).off('click', '.bs-vc-save').on('click', '.bs-vc-save', function() {
1805
+		var $bsvcModal = jQuery(this).closest('.bs-vc-modal'), $bsvcForm = $bsvcModal.find('.bs-vc-modal-form'), vOutput = jQuery('#bsvc_output', $bsvcForm).val(), rawValue = '', oVal = {}, oOut = {}, iRule = 0;
1806
+		jQuery(this).addClass('disabled');
1807
+		jQuery('.bs-vc-modal-form .bs-vc-rule-sets .bs-vc-rule').each(function(){
1808
+			vRule = jQuery(this).find('.bsvc_rule').val(), oRule = {};
1809
+			if (vRule == 'logged_in' || vRule == 'logged_out' || vRule == 'post_author') {
1810
+				oRule.type = vRule;
1811
+			} else if (vRule == 'user_roles') {
1812
+				oRule.type = vRule;
1813
+				if (jQuery(this).find('.bsvc_user_roles:checked').length) {
1814
+					var user_roles = jQuery(this).find('.bsvc_user_roles:checked').map(function() {
1815
+						return jQuery(this).val();
1816
+					}).get();
1817
+					if (user_roles && user_roles.length) {
1818
+						oRule.user_roles = user_roles.join(",");
1357 1819
 					}
1358 1820
 				}
1359
-
1360
-				$shortcode = "[" . esc_attr( $shortcode_name ) . " " . $attributes . "]";
1361
-
1362
-				$content = do_shortcode( $shortcode );
1363
-
1364
-				// Decode [ and ].
1365
-				if ( ! empty( $content ) && $is_preview ) {
1366
-					$content = $this->decode_shortcodes( $content );
1821
+			} else if (vRule == 'gd_field') {
1822
+				if (jQuery(this).find('.bsvc_gd_field ').val() && jQuery(this).find('.bsvc_gd_field_condition').val()) {
1823
+					oRule.type = vRule;
1824
+					oRule.field = jQuery(this).find('.bsvc_gd_field ').val();
1825
+					oRule.condition = jQuery(this).find('.bsvc_gd_field_condition').val();
1826
+					if (oRule.condition != 'is_empty' && oRule.condition != 'is_not_empty') {
1827
+						oRule.search = jQuery(this).find('.bsvc_gd_field_search').val();
1828
+					}
1367 1829
 				}
1368
-
1369
-				echo $content;
1370 1830
 			}
1371
-			wp_die();
1372
-		}
1373
-
1374
-		/**
1375
-		 * Output the shortcode.
1376
-		 *
1377
-		 * @param array $args
1378
-		 * @param string $content
1379
-		 *
1380
-		 * @return string
1381
-		 */
1382
-		public function shortcode_output( $args = array(), $content = '' ) {
1383
-			$_instance = $args;
1384
-
1385
-			$args = $this->argument_values( $args );
1386
-
1387
-			// add extra argument so we know its a output to gutenberg
1388
-			//$args
1389
-			$args = $this->string_to_bool( $args );
1390
-
1391
-			// if we have a enclosed shortcode we add it to the special `html` argument
1392
-			if ( ! empty( $content ) ) {
1393
-				$args['html'] = $content;
1831
+			if (Object.keys(oRule).length > 0) {
1832
+				iRule++;
1833
+				oVal['rule'+iRule] = oRule;
1394 1834
 			}
1395
-
1396
-			if ( ! $this->is_preview() ) {
1397
-				/**
1398
-				 * Filters the settings for a particular widget args.
1399
-				 *
1400
-				 * @param array          $args      The current widget instance's settings.
1401
-				 * @param WP_Super_Duper $widget    The current widget settings.
1402
-				 * @param array          $_instance An array of default widget arguments.
1403
-				 *
1404
-				 *@since 1.0.28
1405
-				 *
1406
-				 */
1407
-				$args = apply_filters( 'wp_super_duper_widget_display_callback', $args, $this, $_instance );
1408
-
1409
-				if ( ! is_array( $args ) ) {
1410
-					return $args;
1835
+		});
1836
+		if (vOutput == 'hide') {
1837
+			oOut.type = vOutput;
1838
+		} else if (vOutput == 'message') {
1839
+			if (jQuery('#bsvc_message', $bsvcForm).val()) {
1840
+				oOut.type = vOutput;
1841
+				oOut.message = jQuery('#bsvc_message', $bsvcForm).val();
1842
+				if (jQuery('#bsvc_message_type', $bsvcForm).val()) {
1843
+					oOut.message_type = jQuery('#bsvc_message_type', $bsvcForm).val();
1411 1844
 				}
1412 1845
 			}
1413
-
1414
-			$class = isset( $this->options['widget_ops']['classname'] ) ? esc_attr( $this->options['widget_ops']['classname'] ) : '';
1415
-			$class .= " sdel-".$this->get_instance_hash();
1416
-
1417
-			$class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
1418
-			$class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
1419
-
1420
-			$attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
1421
-			$attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this );
1422
-
1423
-			$shortcode_args = array();
1424
-			$output         = '';
1425
-			$no_wrap        = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
1426
-			if ( isset( $args['no_wrap'] ) && $args['no_wrap'] ) {
1427
-				$no_wrap = true;
1428
-			}
1429
-			$main_content = $this->output( $args, $shortcode_args, $content );
1430
-			if ( $main_content && ! $no_wrap ) {
1431
-				// wrap the shortcode in a div with the same class as the widget
1432
-				$output .= '<div class="' . $class . '" ' . $attrs . '>';
1433
-				if ( ! empty( $args['title'] ) ) {
1434
-					// if its a shortcode and there is a title try to grab the title wrappers
1435
-					$shortcode_args = array( 'before_title' => '', 'after_title' => '' );
1436
-					if ( empty( $instance ) ) {
1437
-						global $wp_registered_sidebars;
1438
-						if ( ! empty( $wp_registered_sidebars ) ) {
1439
-							foreach ( $wp_registered_sidebars as $sidebar ) {
1440
-								if ( ! empty( $sidebar['before_title'] ) ) {
1441
-									$shortcode_args['before_title'] = $sidebar['before_title'];
1442
-									$shortcode_args['after_title']  = $sidebar['after_title'];
1443
-									break;
1444
-								}
1445
-							}
1446
-						}
1447
-					}
1448
-					$output .= $this->output_title( $shortcode_args, $args );
1449
-				}
1450
-				$output .= $main_content;
1451
-				$output .= '</div>';
1452
-			} elseif ( $main_content && $no_wrap ) {
1453
-				$output .= $main_content;
1846
+		} else if (vOutput == 'page') {
1847
+			if (jQuery('#bsvc_page', $bsvcForm).val()) {
1848
+				oOut.type = vOutput;
1849
+				oOut.page = jQuery('#bsvc_page', $bsvcForm).val();
1454 1850
 			}
1455
-
1456
-			// if preview show a placeholder if empty
1457
-			if ( $this->is_preview() && $output == '' ) {
1458
-				$output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
1851
+		} else if (vOutput == 'template_part') {
1852
+			if (jQuery('#bsvc_tmpl_part', $bsvcForm).val()) {
1853
+				oOut.type = vOutput;
1854
+				oOut.template_part = jQuery('#bsvc_tmpl_part', $bsvcForm).val();
1459 1855
 			}
1460
-
1461
-			return apply_filters( 'wp_super_duper_widget_output', $output, $args, $shortcode_args, $this );
1462 1856
 		}
1463
-
1464
-		/**
1465
-		 * Placeholder text to show if output is empty and we are on a preview/builder page.
1466
-		 *
1467
-		 * @param string $name
1468
-		 *
1469
-		 * @return string
1470
-		 */
1471
-		public function preview_placeholder_text( $name = '' ) {
1472
-			return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . wp_sprintf( __( 'Placeholder for: %s', 'ayecode-connect' ), $name ) . "</div>";
1857
+		if (Object.keys(oOut).length > 0) {
1858
+			oVal.output = oOut;
1473 1859
 		}
1474
-
1475
-		/**
1476
-		 * Sometimes booleans values can be turned to strings, so we fix that.
1477
-		 *
1478
-		 * @param $options
1479
-		 *
1480
-		 * @return mixed
1481
-		 */
1482
-		public function string_to_bool( $options ) {
1483
-			// convert bool strings to booleans
1484
-			foreach ( $options as $key => $val ) {
1485
-				if ( $val == 'false' ) {
1486
-					$options[ $key ] = false;
1487
-				} elseif ( $val == 'true' ) {
1488
-					$options[ $key ] = true;
1489
-				}
1490
-			}
1491
-
1492
-			return $options;
1493
-		}
1494
-
1495
-		/**
1496
-		 * Get the argument values that are also filterable.
1497
-		 *
1498
-		 * @param $instance
1499
-		 *
1500
-		 * @return array
1501
-		 *@since 1.0.12 Don't set checkbox default value if the value is empty.
1502
-		 *
1503
-		 */
1504
-		public function argument_values( $instance ) {
1505
-			$argument_values = array();
1506
-
1507
-			// set widget instance
1508
-			$this->instance = $instance;
1509
-
1510
-			if ( empty( $this->arguments ) ) {
1511
-				$this->arguments = $this->get_arguments();
1512
-			}
1513
-
1514
-			if ( ! empty( $this->arguments ) ) {
1515
-				foreach ( $this->arguments as $key => $args ) {
1516
-					// set the input name from the key
1517
-					$args['name'] = $key;
1518
-					//
1519
-					$argument_values[ $key ] = isset( $instance[ $key ] ) ? $instance[ $key ] : '';
1520
-					if ( $args['type'] == 'checkbox' && $argument_values[ $key ] == '' ) {
1521
-						// don't set default for an empty checkbox
1522
-					} elseif ( $argument_values[ $key ] == '' && isset( $args['default'] ) ) {
1523
-						$argument_values[ $key ] = $args['default'];
1524
-					}
1525
-				}
1526
-			}
1527
-
1528
-			return $argument_values;
1529
-		}
1530
-
1531
-		/**
1532
-		 * Set arguments in super duper.
1533
-		 *
1534
-		 * @return array Set arguments.
1535
-		 *@since 1.0.0
1536
-		 *
1537
-		 */
1538
-		public function set_arguments() {
1539
-			return $this->arguments;
1540
-		}
1541
-
1542
-		/**
1543
-		 * Get arguments in super duper.
1544
-		 *
1545
-		 * @return array Get arguments.
1546
-		 *@since 1.0.0
1547
-		 *
1548
-		 */
1549
-		public function get_arguments() {
1550
-			if ( empty( $this->arguments ) ) {
1551
-				$this->arguments = $this->set_arguments();
1552
-			}
1553
-
1554
-			$this->arguments = apply_filters( 'wp_super_duper_arguments', $this->arguments, $this->options, $this->instance );
1555
-			$this->arguments = $this->add_name_from_key( $this->arguments, true );
1556
-
1557
-			return $this->arguments;
1558
-		}
1559
-
1560
-		/**
1561
-		 * This is the main output class for all 3 items, widget, shortcode and block, it is extended in the calling class.
1562
-		 *
1563
-		 * @param array $args
1564
-		 * @param array $widget_args
1565
-		 * @param string $content
1566
-		 */
1567
-		public function output( $args = array(), $widget_args = array(), $content = '' ) {
1568
-
1569
-		}
1570
-
1571
-		/**
1572
-		 * Add the dynamic block code inline when the wp-block in enqueued.
1573
-		 */
1574
-		public function register_block() {
1575
-			wp_add_inline_script( 'wp-blocks', $this->block() );
1576
-			if ( class_exists( 'SiteOrigin_Panels' ) ) {
1577
-				wp_add_inline_script( 'wp-blocks', $this->siteorigin_js() );
1578
-			}
1579
-		}
1580
-
1581
-		/**
1582
-		 * Check if we need to show advanced options.
1583
-		 *
1584
-		 * @return bool
1585
-		 */
1586
-		public function block_show_advanced() {
1587
-
1588
-			$show      = false;
1589
-			$arguments = $this->get_arguments();
1590
-
1591
-			if ( ! empty( $arguments ) ) {
1592
-				foreach ( $arguments as $argument ) {
1593
-					if ( isset( $argument['advanced'] ) && $argument['advanced'] ) {
1594
-						$show = true;
1595
-						break; // no need to continue if we know we have it
1596
-					}
1597
-				}
1598
-			}
1599
-
1600
-			return $show;
1601
-		}
1602
-
1603
-		/**
1604
-		 * Get the url path to the current folder.
1605
-		 *
1606
-		 * @return string
1607
-		 */
1608
-		public function get_url() {
1609
-			$url = $this->url;
1610
-
1611
-			if ( ! $url ) {
1612
-				$content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) );
1613
-				$content_url = untrailingslashit( WP_CONTENT_URL );
1614
-
1615
-				// Replace http:// to https://.
1616
-				if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) {
1617
-					$content_url = str_replace( 'http://', 'https://', $content_url );
1618
-				}
1619
-
1620
-				// Check if we are inside a plugin
1621
-				$file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) );
1622
-				$url = str_replace( $content_dir, $content_url, $file_dir );
1623
-				$url = trailingslashit( $url );
1624
-				$this->url = $url;
1625
-			}
1626
-
1627
-			return $url;
1628
-		}
1629
-
1630
-		/**
1631
-		 * Get the url path to the current folder.
1632
-		 *
1633
-		 * @return string
1634
-		 */
1635
-		public function get_url_old() {
1636
-
1637
-			$url = $this->url;
1638
-
1639
-			if ( ! $url ) {
1640
-				// check if we are inside a plugin
1641
-				$file_dir = str_replace( "/includes", "", dirname( __FILE__ ) );
1642
-
1643
-				$dir_parts = explode( "/wp-content/", $file_dir );
1644
-				$url_parts = explode( "/wp-content/", plugins_url() );
1645
-
1646
-				if ( ! empty( $url_parts[0] ) && ! empty( $dir_parts[1] ) ) {
1647
-					$url       = trailingslashit( $url_parts[0] . "/wp-content/" . $dir_parts[1] );
1648
-					$this->url = $url;
1649
-				}
1650
-			}
1651
-
1652
-
1653
-			return $url;
1654
-		}
1655
-
1656
-		/**
1657
-		 * Generate the block icon.
1658
-		 *
1659
-		 * Enables the use of Font Awesome icons.
1660
-		 *
1661
-		 * @note xlink:href is actually deprecated but href is not supported by all so we use both.
1662
-		 *
1663
-		 * @param $icon
1664
-		 *
1665
-		 * @return string
1666
-		 *@since 1.1.0
1667
-		 */
1668
-		public function get_block_icon( $icon ) {
1669
-
1670
-			// check if we have a Font Awesome icon
1671
-			$fa_type = '';
1672
-			if ( substr( $icon, 0, 7 ) === "fas fa-" ) {
1673
-				$fa_type = 'solid';
1674
-			} elseif ( substr( $icon, 0, 7 ) === "far fa-" ) {
1675
-				$fa_type = 'regular';
1676
-			} elseif ( substr( $icon, 0, 7 ) === "fab fa-" ) {
1677
-				$fa_type = 'brands';
1678
-			} else {
1679
-				$icon = "'" . $icon . "'";
1680
-			}
1681
-
1682
-			// set the icon if we found one
1683
-			if ( $fa_type ) {
1684
-				$fa_icon = str_replace( array( "fas fa-", "far fa-", "fab fa-" ), "", $icon );
1685
-				$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 . "'}))";
1686
-			}
1687
-
1688
-			return $icon;
1689
-		}
1690
-
1691
-		public function group_arguments( $arguments ) {
1692
-			if ( ! empty( $arguments ) ) {
1693
-				$temp_arguments = array();
1694
-				$general        = __( "General", 'ayecode-connect' );
1695
-				$add_sections   = false;
1696
-				foreach ( $arguments as $key => $args ) {
1697
-					if ( isset( $args['group'] ) ) {
1698
-						$temp_arguments[ $args['group'] ][ $key ] = $args;
1699
-						$add_sections                             = true;
1700
-					} else {
1701
-						$temp_arguments[ $general ][ $key ] = $args;
1702
-					}
1703
-				}
1704
-
1705
-				// only add sections if more than one
1706
-				if ( $add_sections ) {
1707
-					$arguments = $temp_arguments;
1708
-				}
1709
-			}
1710
-
1711
-			return $arguments;
1712
-		}
1713
-
1714
-		/**
1715
-		 * Parse used group tabs.
1716
-		 *
1717
-		 * @since 1.1.17
1718
-		 */
1719
-		public function group_block_tabs( $tabs, $arguments ) {
1720
-			if ( ! empty( $tabs ) && ! empty( $arguments ) ) {
1721
-				$has_sections = false;
1722
-
1723
-				foreach ( $this->arguments as $key => $args ) {
1724
-					if ( isset( $args['group'] ) ) {
1725
-						$has_sections = true;
1726
-						break;
1727
-					}
1728
-				}
1729
-
1730
-				if ( ! $has_sections ) {
1731
-					return $tabs;
1732
-				}
1733
-
1734
-				$new_tabs = array();
1735
-
1736
-				foreach ( $tabs as $tab_key => $tab ) {
1737
-					$new_groups = array();
1738
-
1739
-					if ( ! empty( $tab['groups'] ) && is_array( $tab['groups'] ) ) {
1740
-						foreach ( $tab['groups'] as $group ) {
1741
-							if ( isset( $arguments[ $group ] ) ) {
1742
-								$new_groups[] = $group;
1743
-							}
1744
-						}
1745
-					}
1746
-
1747
-					if ( ! empty( $new_groups ) ) {
1748
-						$tab['groups'] = $new_groups;
1749
-
1750
-						$new_tabs[ $tab_key ] = $tab;
1751
-					}
1752
-				}
1753
-
1754
-				$tabs = $new_tabs;
1755
-			}
1756
-
1757
-			return $tabs;
1758
-		}
1759
-
1760
-		/**
1761
-		 * Output the JS for building the dynamic Guntenberg block.
1762
-		 *
1763
-		 * @return mixed
1764
-		 *@since 1.0.9 Save numbers as numbers and not strings.
1765
-		 * @since 1.1.0 Font Awesome classes can be used for icons.
1766
-		 * @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.
1767
-		 */
1768
-		public function block() {
1769
-			global $sd_is_js_functions_loaded, $aui_bs5;
1770
-
1771
-			$show_advanced = $this->block_show_advanced();
1772
-
1773
-			ob_start();
1774
-			?>
1775
-			<script>
1776
-			<?php
1777
-			if ( ! $sd_is_js_functions_loaded ) {
1778
-				$sd_is_js_functions_loaded = true;
1779
-			?>
1780
-function sd_show_view_options($this){
1781
-	if(jQuery($this).html().length){
1782
-		jQuery($this).html('');
1783
-	}else{
1784
-		jQuery($this).html('<div class="position-absolute d-flex flex-column bg-white p-1 rounded border shadow-lg " style="top:-80px;left:-5px;"><div class="dashicons dashicons-desktop mb-1" onclick="sd_set_view_type(\'Desktop\');"></div><div class="dashicons dashicons-tablet mb-1" onclick="sd_set_view_type(\'Tablet\');"></div><div class="dashicons dashicons-smartphone" onclick="sd_set_view_type(\'Mobile\');"></div></div>');
1785
-	}
1786
-}
1787
-
1788
-function sd_set_view_type($device){
1789
-	wp.data.dispatch('core/edit-site') ? wp.data.dispatch('core/edit-site').__experimentalSetPreviewDeviceType($device) : wp.data.dispatch('core/edit-post').__experimentalSetPreviewDeviceType($device);
1790
-}
1791
-
1792
-jQuery(function(){
1793
-	sd_block_visibility_init();
1794
-});
1795
-function sd_block_visibility_init() {
1796
-	jQuery(document).off('change', '.bs-vc-modal-form').on('change', '.bs-vc-modal-form', function() {
1797
-		try {
1798
-			aui_conditional_fields('.bs-vc-modal-form');
1799
-		} catch(err) {
1800
-			console.log(err.message);
1801
-		}
1802
-	});
1803
-
1804
-	jQuery(document).off('click', '.bs-vc-save').on('click', '.bs-vc-save', function() {
1805
-		var $bsvcModal = jQuery(this).closest('.bs-vc-modal'), $bsvcForm = $bsvcModal.find('.bs-vc-modal-form'), vOutput = jQuery('#bsvc_output', $bsvcForm).val(), rawValue = '', oVal = {}, oOut = {}, iRule = 0;
1806
-		jQuery(this).addClass('disabled');
1807
-		jQuery('.bs-vc-modal-form .bs-vc-rule-sets .bs-vc-rule').each(function(){
1808
-			vRule = jQuery(this).find('.bsvc_rule').val(), oRule = {};
1809
-			if (vRule == 'logged_in' || vRule == 'logged_out' || vRule == 'post_author') {
1810
-				oRule.type = vRule;
1811
-			} else if (vRule == 'user_roles') {
1812
-				oRule.type = vRule;
1813
-				if (jQuery(this).find('.bsvc_user_roles:checked').length) {
1814
-					var user_roles = jQuery(this).find('.bsvc_user_roles:checked').map(function() {
1815
-						return jQuery(this).val();
1816
-					}).get();
1817
-					if (user_roles && user_roles.length) {
1818
-						oRule.user_roles = user_roles.join(",");
1819
-					}
1820
-				}
1821
-			} else if (vRule == 'gd_field') {
1822
-				if (jQuery(this).find('.bsvc_gd_field ').val() && jQuery(this).find('.bsvc_gd_field_condition').val()) {
1823
-					oRule.type = vRule;
1824
-					oRule.field = jQuery(this).find('.bsvc_gd_field ').val();
1825
-					oRule.condition = jQuery(this).find('.bsvc_gd_field_condition').val();
1826
-					if (oRule.condition != 'is_empty' && oRule.condition != 'is_not_empty') {
1827
-						oRule.search = jQuery(this).find('.bsvc_gd_field_search').val();
1828
-					}
1829
-				}
1830
-			}
1831
-			if (Object.keys(oRule).length > 0) {
1832
-				iRule++;
1833
-				oVal['rule'+iRule] = oRule;
1834
-			}
1835
-		});
1836
-		if (vOutput == 'hide') {
1837
-			oOut.type = vOutput;
1838
-		} else if (vOutput == 'message') {
1839
-			if (jQuery('#bsvc_message', $bsvcForm).val()) {
1840
-				oOut.type = vOutput;
1841
-				oOut.message = jQuery('#bsvc_message', $bsvcForm).val();
1842
-				if (jQuery('#bsvc_message_type', $bsvcForm).val()) {
1843
-					oOut.message_type = jQuery('#bsvc_message_type', $bsvcForm).val();
1844
-				}
1845
-			}
1846
-		} else if (vOutput == 'page') {
1847
-			if (jQuery('#bsvc_page', $bsvcForm).val()) {
1848
-				oOut.type = vOutput;
1849
-				oOut.page = jQuery('#bsvc_page', $bsvcForm).val();
1850
-			}
1851
-		} else if (vOutput == 'template_part') {
1852
-			if (jQuery('#bsvc_tmpl_part', $bsvcForm).val()) {
1853
-				oOut.type = vOutput;
1854
-				oOut.template_part = jQuery('#bsvc_tmpl_part', $bsvcForm).val();
1855
-			}
1856
-		}
1857
-		if (Object.keys(oOut).length > 0) {
1858
-			oVal.output = oOut;
1859
-		}
1860
-		if (Object.keys(oVal).length > 0) {
1861
-			rawValue = JSON.stringify(oVal);
1860
+		if (Object.keys(oVal).length > 0) {
1861
+			rawValue = JSON.stringify(oVal);
1862 1862
 		}
1863 1863
 		$bsvcModal.find('[name="bsvc_raw_value"]').val(rawValue).trigger('change');
1864 1864
 		$bsvcModal.find('.bs-vc-close').trigger('click');
@@ -2222,8 +2222,8 @@  discard block
 block discarded – undo
2222 2222
 				$classes = [];
2223 2223
 
2224 2224
 				<?php
2225
-				if($aui_bs5){
2226
-					?>
2225
+                if($aui_bs5){
2226
+                    ?>
2227 2227
 				$aui_bs5 = true;
2228 2228
 				$p_ml = 'ms-';
2229 2229
 				$p_mr = 'me-';
@@ -2231,8 +2231,8 @@  discard block
 block discarded – undo
2231 2231
 				$p_pl = 'ps-';
2232 2232
 				$p_pr = 'pe-';
2233 2233
 					<?php
2234
-				}else{
2235
-						?>
2234
+                }else{
2235
+                        ?>
2236 2236
 				$aui_bs5 = false;
2237 2237
 				$p_ml = 'ml-';
2238 2238
 				$p_mr = 'mr-';
@@ -2240,8 +2240,8 @@  discard block
 block discarded – undo
2240 2240
 				$p_pl = 'pl-';
2241 2241
 				$p_pr = 'pr-';
2242 2242
 					<?php
2243
-				}
2244
-				?>
2243
+                }
2244
+                ?>
2245 2245
 
2246 2246
 				// margins
2247 2247
 				if ( $args['mt'] !== undefined && $args['mt'] !== '' ) { $classes.push( "mt-" + $args['mt'] );  $mt = $args['mt']; }else{$mt = null;}
@@ -2425,12 +2425,12 @@  discard block
 block discarded – undo
2425 2425
 			<?php
2426 2426
 
2427 2427
 
2428
-			}
2428
+            }
2429 2429
 
2430
-			if(method_exists($this,'block_global_js')){
2431
-					echo $this->block_global_js();
2432
-			}
2433
-			?>
2430
+            if(method_exists($this,'block_global_js')){
2431
+                    echo $this->block_global_js();
2432
+            }
2433
+            ?>
2434 2434
 
2435 2435
 jQuery(function() {
2436 2436
 
@@ -2483,13 +2483,13 @@  discard block
 block discarded – undo
2483 2483
 						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/.
2484 2484
 						supports: {
2485 2485
 							<?php
2486
-							if(!isset($this->options['block-supports']['renaming'])){
2487
-								$this->options['block-supports']['renaming'] = false;
2488
-							}
2489
-							if ( isset( $this->options['block-supports'] ) ) {
2490
-								echo $this->array_to_attributes( $this->options['block-supports'] );
2491
-							}
2492
-							?>
2486
+                            if(!isset($this->options['block-supports']['renaming'])){
2487
+                                $this->options['block-supports']['renaming'] = false;
2488
+                            }
2489
+                            if ( isset( $this->options['block-supports'] ) ) {
2490
+                                echo $this->array_to_attributes( $this->options['block-supports'] );
2491
+                            }
2492
+                            ?>
2493 2493
 						},
2494 2494
 						__experimentalLabel( attributes, { context } ) {
2495 2495
 							var visibility_html = attributes && attributes.visibility_conditions ? ' &#128065;' : '';
@@ -2499,174 +2499,174 @@  discard block
 block discarded – undo
2499 2499
 						},
2500 2500
 						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.
2501 2501
 						<?php if ( isset( $this->options['block-keywords'] ) ) {
2502
-						echo "keywords : " . $this->options['block-keywords'] . ",";
2503
-						}
2504
-
2505
-
2506
-						// block hover preview.
2507
-						$example_args = array();
2508
-						if(!empty($this->arguments)){
2509
-							foreach($this->arguments as $key => $a_args){
2510
-								if(isset($a_args['example'])){
2511
-									$example_args[$key] = $a_args['example'];
2512
-								}
2513
-							}
2514
-						}
2515
-						$viewport_width = isset($this->options['example']['viewportWidth']) ? 'viewportWidth: '.absint($this->options['example']['viewportWidth']) : '';
2516
-						$example_inner_blocks = !empty($this->options['example']['innerBlocks']) && is_array($this->options['example']['innerBlocks']) ? 'innerBlocks: ' . wp_json_encode($this->options['example']['innerBlocks']) : '';
2517
-						if( isset( $this->options['example'] ) && $this->options['example'] === false ){
2518
-							// no preview if set to false
2519
-						}elseif( !empty( $example_args ) ){
2520
-							echo "example : {attributes:{".$this->array_to_attributes( $example_args )."},$viewport_width},";
2521
-						}elseif( !empty( $this->options['example'] ) ){
2522
-							unset($this->options['example']['viewportWidth']);
2523
-							unset($this->options['example']['innerBlocks']);
2524
-							$example_atts = $this->array_to_attributes( $this->options['example'] );
2525
-							$example_parts = array();
2526
-							if($example_atts){
2527
-								$example_parts[] = rtrim($example_atts,",");
2528
-							}
2529
-							if($viewport_width){
2530
-								$example_parts[] = $viewport_width;
2531
-							}
2532
-							if($example_inner_blocks){
2533
-								$example_parts[] = $example_inner_blocks;
2534
-							}
2535
-							if(!empty($example_parts)){
2536
-								echo "example : {".implode(',', $example_parts)."},";
2537
-							}
2538
-						}else{
2539
-							echo 'example : {viewportWidth: 500},';
2540
-						}
2541
-
2542
-
2543
-
2544
-						// limit to parent
2545
-						if( !empty( $this->options['parent'] ) ){
2546
-							echo "parent : " . wp_json_encode( $this->options['parent'] ) . ",";
2547
-						}
2548
-
2549
-						// limit allowed blocks
2550
-						if( !empty( $this->options['allowed-blocks'] ) ){
2551
-							echo "allowedBlocks : " . wp_json_encode( $this->options['allowed-blocks'] ) . ",";
2552
-						}
2553
-
2554
-						// maybe set no_wrap
2555
-						$no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
2556
-						if ( isset( $this->arguments['no_wrap'] ) && $this->arguments['no_wrap'] ) {
2557
-							$no_wrap = true;
2558
-						}
2559
-						if ( $no_wrap ) {
2560
-							$this->options['block-wrap'] = '';
2561
-						}
2562
-
2563
-						// maybe load the drag/drop functions.
2564
-						$img_drag_drop = false;
2565
-
2566
-						$show_alignment = false;
2567
-						// align feature
2568
-						/*echo "supports: {";
2502
+                        echo "keywords : " . $this->options['block-keywords'] . ",";
2503
+                        }
2504
+
2505
+
2506
+                        // block hover preview.
2507
+                        $example_args = array();
2508
+                        if(!empty($this->arguments)){
2509
+                            foreach($this->arguments as $key => $a_args){
2510
+                                if(isset($a_args['example'])){
2511
+                                    $example_args[$key] = $a_args['example'];
2512
+                                }
2513
+                            }
2514
+                        }
2515
+                        $viewport_width = isset($this->options['example']['viewportWidth']) ? 'viewportWidth: '.absint($this->options['example']['viewportWidth']) : '';
2516
+                        $example_inner_blocks = !empty($this->options['example']['innerBlocks']) && is_array($this->options['example']['innerBlocks']) ? 'innerBlocks: ' . wp_json_encode($this->options['example']['innerBlocks']) : '';
2517
+                        if( isset( $this->options['example'] ) && $this->options['example'] === false ){
2518
+                            // no preview if set to false
2519
+                        }elseif( !empty( $example_args ) ){
2520
+                            echo "example : {attributes:{".$this->array_to_attributes( $example_args )."},$viewport_width},";
2521
+                        }elseif( !empty( $this->options['example'] ) ){
2522
+                            unset($this->options['example']['viewportWidth']);
2523
+                            unset($this->options['example']['innerBlocks']);
2524
+                            $example_atts = $this->array_to_attributes( $this->options['example'] );
2525
+                            $example_parts = array();
2526
+                            if($example_atts){
2527
+                                $example_parts[] = rtrim($example_atts,",");
2528
+                            }
2529
+                            if($viewport_width){
2530
+                                $example_parts[] = $viewport_width;
2531
+                            }
2532
+                            if($example_inner_blocks){
2533
+                                $example_parts[] = $example_inner_blocks;
2534
+                            }
2535
+                            if(!empty($example_parts)){
2536
+                                echo "example : {".implode(',', $example_parts)."},";
2537
+                            }
2538
+                        }else{
2539
+                            echo 'example : {viewportWidth: 500},';
2540
+                        }
2541
+
2542
+
2543
+
2544
+                        // limit to parent
2545
+                        if( !empty( $this->options['parent'] ) ){
2546
+                            echo "parent : " . wp_json_encode( $this->options['parent'] ) . ",";
2547
+                        }
2548
+
2549
+                        // limit allowed blocks
2550
+                        if( !empty( $this->options['allowed-blocks'] ) ){
2551
+                            echo "allowedBlocks : " . wp_json_encode( $this->options['allowed-blocks'] ) . ",";
2552
+                        }
2553
+
2554
+                        // maybe set no_wrap
2555
+                        $no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
2556
+                        if ( isset( $this->arguments['no_wrap'] ) && $this->arguments['no_wrap'] ) {
2557
+                            $no_wrap = true;
2558
+                        }
2559
+                        if ( $no_wrap ) {
2560
+                            $this->options['block-wrap'] = '';
2561
+                        }
2562
+
2563
+                        // maybe load the drag/drop functions.
2564
+                        $img_drag_drop = false;
2565
+
2566
+                        $show_alignment = false;
2567
+                        // align feature
2568
+                        /*echo "supports: {";
2569 2569
 						echo "	align: true,";
2570 2570
 						echo "  html: false";
2571 2571
 						echo "},";*/
2572 2572
 
2573 2573
 
2574
-							echo "attributes : {";
2575
-
2576
-							if ( $show_advanced ) {
2577
-								echo "show_advanced: {";
2578
-								echo "	type: 'boolean',";
2579
-								echo "  default: false,";
2580
-								echo "},";
2581
-							}
2582
-
2583
-							// block wrap element
2584
-							if ( ! empty( $this->options['block-wrap'] ) ) { //@todo we should validate this?
2585
-								echo "block_wrap: {";
2586
-								echo "	type: 'string',";
2587
-								echo "  default: '" . esc_attr( $this->options['block-wrap'] ) . "',";
2588
-								echo "},";
2589
-							}
2590
-
2591
-
2592
-							if ( ! empty( $this->arguments ) ) {
2593
-
2594
-								foreach ( $this->arguments as $key => $args ) {
2595
-
2596
-									if( $args['type'] == 'image' ||  $args['type'] == 'images' ){
2597
-										$img_drag_drop = true;
2598
-									}
2599
-
2600
-									// set if we should show alignment
2601
-									if ( $key == 'alignment' ) {
2602
-										$show_alignment = true;
2603
-									}
2604
-
2605
-									$extra = '';
2606
-
2607
-									if ( $args['type'] == 'notice' ||  $args['type'] == 'tab' ) {
2608
-										continue;
2609
-									}
2610
-									elseif ( $args['type'] == 'checkbox' ) {
2611
-										$type    = 'boolean';
2612
-										$default = isset( $args['default'] ) && $args['default'] ? 'true' : 'false';
2613
-									} elseif ( $args['type'] == 'number' ) {
2614
-										$type    = 'number';
2615
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2616
-									} elseif ( $args['type'] == 'select' && ! empty( $args['multiple'] ) ) {
2617
-										$type = 'array';
2618
-										if ( isset( $args['default'] ) && is_array( $args['default'] ) ) {
2619
-											$default = ! empty( $args['default'] ) ? "['" . implode( "','", $args['default'] ) . "']" : "[]";
2620
-										} else {
2621
-											$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2622
-										}
2623
-									} elseif ( $args['type'] == 'tagselect' ) {
2624
-										$type    = 'array';
2625
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2626
-									} elseif ( $args['type'] == 'multiselect' ) {
2627
-										$type    = 'array';
2628
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2629
-									} elseif ( $args['type'] == 'image_xy' ) {
2630
-										$type    = 'object';
2631
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2632
-									} elseif ( $args['type'] == 'image' ) {
2633
-										$type    = 'string';
2634
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2635
-
2636
-										// add a field for ID
2637
-	//                                    echo $key . "_id : {";
2638
-	//                                    echo "type : 'number',";
2639
-	//                                    echo "},";
2640
-	//                                    echo $key . "_xy : {";
2641
-	//                                    echo "type : 'object',";
2642
-	//                                    echo "},";
2643
-
2644
-									} else {
2645
-										$type    = !empty($args['hidden_type']) ? esc_attr($args['hidden_type']) : 'string';
2646
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2647
-
2648
-									}
2649
-									echo $key . " : {";
2650
-									echo "type : '$type',";
2651
-									echo "default : $default,";
2652
-									echo "},";
2653
-								}
2654
-							}
2655
-
2656
-							echo "content : {type : 'string',default: 'Please select the attributes in the block settings'},";
2657
-							echo "sd_shortcode : {type : 'string',default: ''},";
2658
-
2659
-							if(!empty($this->options['nested-block']) || !empty($this->arguments['html']) ){
2660
-								echo "sd_shortcode_close : {type : 'string',default: ''},";
2661
-							}
2662
-
2663
-							echo "className: { type: 'string', default: '' },";
2664
-
2665
-							echo "},";
2666
-
2667
-
2668
-
2669
-						?>
2574
+                            echo "attributes : {";
2575
+
2576
+                            if ( $show_advanced ) {
2577
+                                echo "show_advanced: {";
2578
+                                echo "	type: 'boolean',";
2579
+                                echo "  default: false,";
2580
+                                echo "},";
2581
+                            }
2582
+
2583
+                            // block wrap element
2584
+                            if ( ! empty( $this->options['block-wrap'] ) ) { //@todo we should validate this?
2585
+                                echo "block_wrap: {";
2586
+                                echo "	type: 'string',";
2587
+                                echo "  default: '" . esc_attr( $this->options['block-wrap'] ) . "',";
2588
+                                echo "},";
2589
+                            }
2590
+
2591
+
2592
+                            if ( ! empty( $this->arguments ) ) {
2593
+
2594
+                                foreach ( $this->arguments as $key => $args ) {
2595
+
2596
+                                    if( $args['type'] == 'image' ||  $args['type'] == 'images' ){
2597
+                                        $img_drag_drop = true;
2598
+                                    }
2599
+
2600
+                                    // set if we should show alignment
2601
+                                    if ( $key == 'alignment' ) {
2602
+                                        $show_alignment = true;
2603
+                                    }
2604
+
2605
+                                    $extra = '';
2606
+
2607
+                                    if ( $args['type'] == 'notice' ||  $args['type'] == 'tab' ) {
2608
+                                        continue;
2609
+                                    }
2610
+                                    elseif ( $args['type'] == 'checkbox' ) {
2611
+                                        $type    = 'boolean';
2612
+                                        $default = isset( $args['default'] ) && $args['default'] ? 'true' : 'false';
2613
+                                    } elseif ( $args['type'] == 'number' ) {
2614
+                                        $type    = 'number';
2615
+                                        $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2616
+                                    } elseif ( $args['type'] == 'select' && ! empty( $args['multiple'] ) ) {
2617
+                                        $type = 'array';
2618
+                                        if ( isset( $args['default'] ) && is_array( $args['default'] ) ) {
2619
+                                            $default = ! empty( $args['default'] ) ? "['" . implode( "','", $args['default'] ) . "']" : "[]";
2620
+                                        } else {
2621
+                                            $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2622
+                                        }
2623
+                                    } elseif ( $args['type'] == 'tagselect' ) {
2624
+                                        $type    = 'array';
2625
+                                        $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2626
+                                    } elseif ( $args['type'] == 'multiselect' ) {
2627
+                                        $type    = 'array';
2628
+                                        $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2629
+                                    } elseif ( $args['type'] == 'image_xy' ) {
2630
+                                        $type    = 'object';
2631
+                                        $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2632
+                                    } elseif ( $args['type'] == 'image' ) {
2633
+                                        $type    = 'string';
2634
+                                        $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2635
+
2636
+                                        // add a field for ID
2637
+    //                                    echo $key . "_id : {";
2638
+    //                                    echo "type : 'number',";
2639
+    //                                    echo "},";
2640
+    //                                    echo $key . "_xy : {";
2641
+    //                                    echo "type : 'object',";
2642
+    //                                    echo "},";
2643
+
2644
+                                    } else {
2645
+                                        $type    = !empty($args['hidden_type']) ? esc_attr($args['hidden_type']) : 'string';
2646
+                                        $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2647
+
2648
+                                    }
2649
+                                    echo $key . " : {";
2650
+                                    echo "type : '$type',";
2651
+                                    echo "default : $default,";
2652
+                                    echo "},";
2653
+                                }
2654
+                            }
2655
+
2656
+                            echo "content : {type : 'string',default: 'Please select the attributes in the block settings'},";
2657
+                            echo "sd_shortcode : {type : 'string',default: ''},";
2658
+
2659
+                            if(!empty($this->options['nested-block']) || !empty($this->arguments['html']) ){
2660
+                                echo "sd_shortcode_close : {type : 'string',default: ''},";
2661
+                            }
2662
+
2663
+                            echo "className: { type: 'string', default: '' },";
2664
+
2665
+                            echo "},";
2666
+
2667
+
2668
+
2669
+                        ?>
2670 2670
 
2671 2671
 						// The "edit" property must be a valid function.
2672 2672
 						edit: function (props) {
@@ -2740,10 +2740,10 @@  discard block
 block discarded – undo
2740 2740
 							}
2741 2741
 
2742 2742
 							<?php
2743
-							if(!empty($this->options['block-edit-raw'])) {
2744
-								echo $this->options['block-edit-raw']; // strings have to be in single quotes, may cause issues
2745
-							}else{
2746
-							?>
2743
+                            if(!empty($this->options['block-edit-raw'])) {
2744
+                                echo $this->options['block-edit-raw']; // strings have to be in single quotes, may cause issues
2745
+                            }else{
2746
+                            ?>
2747 2747
 
2748 2748
 function hasSelectedInnerBlock(props) {
2749 2749
 	const select = wp.data.select('core/editor');
@@ -2765,9 +2765,9 @@  discard block
 block discarded – undo
2765 2765
 
2766 2766
 	var $value = '';
2767 2767
 	<?php
2768
-	// if we have a post_type and a category then link them
2769
-	if( isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked']) ){
2770
-	?>
2768
+    // if we have a post_type and a category then link them
2769
+    if( isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked']) ){
2770
+    ?>
2771 2771
 	if(typeof(prev_attributes[props.clientId]) != 'undefined'){
2772 2772
 		$pt = props.attributes.post_type;
2773 2773
 		if(post_type_rest_slugs.length){
@@ -2780,11 +2780,11 @@  discard block
 block discarded – undo
2780 2780
 			term_query_type = $pt;
2781 2781
 		}
2782 2782
 <?php
2783
-	$cat_path = '';
2784
-	if ( ! empty( $this->arguments['post_type']['onchange_rest']['path'] ) ) {
2785
-		$cat_path = esc_js( strip_tags( $this->arguments['post_type']['onchange_rest']['path'] ) );
2786
-		$cat_path = str_replace( array( '&quot;', '&#039;' ), array( '"', "'" ), $cat_path );
2787
-	}
2783
+    $cat_path = '';
2784
+    if ( ! empty( $this->arguments['post_type']['onchange_rest']['path'] ) ) {
2785
+        $cat_path = esc_js( strip_tags( $this->arguments['post_type']['onchange_rest']['path'] ) );
2786
+        $cat_path = str_replace( array( '&quot;', '&#039;' ), array( '"', "'" ), $cat_path );
2787
+    }
2788 2788
 ?>
2789 2789
 		/* taxonomies */
2790 2790
 		if($value && 'post_type' in prev_attributes[props.clientId] && 'category' in prev_attributes[props.clientId] && run){
@@ -2876,7 +2876,7 @@  discard block
 block discarded – undo
2876 2876
 <?php
2877 2877
 $current_screen = function_exists('get_current_screen') ? get_current_screen() : '';
2878 2878
 if(!empty($current_screen->base) && $current_screen->base==='widgets'){
2879
-	echo 'const { deviceType } = "";';
2879
+    echo 'const { deviceType } = "";';
2880 2880
 }else{
2881 2881
 ?>
2882 2882
 /** Get device type const. */
@@ -2911,8 +2911,8 @@  discard block
 block discarded – undo
2911 2911
 										'attributes': props.attributes,
2912 2912
 										'block_parent_name': parentBlocks.length ? parentBlocks[parentBlocks.length - 1].name : '',
2913 2913
 										'post_id': <?php global $post; if ( isset( $post->ID ) ) {
2914
-										echo $post->ID;
2915
-									}else{echo '0';}?>,
2914
+                                        echo $post->ID;
2915
+                                    }else{echo '0';}?>,
2916 2916
 										'_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_output_shortcode' );?>'
2917 2917
 									};
2918 2918
 
@@ -2926,20 +2926,20 @@  discard block
 block discarded – undo
2926 2926
 										}
2927 2927
 
2928 2928
 										 <?php
2929
-										if(!empty($this->options['nested-block'])){
2930
-											?>
2929
+                                        if(!empty($this->options['nested-block'])){
2930
+                                            ?>
2931 2931
 											// props.setAttributes({content: env});
2932 2932
 										is_fetching = false;
2933 2933
 										prev_attributes[props.clientId] = props.attributes;
2934 2934
 											 <?php
2935
-										}else{
2936
-										?>
2935
+                                        }else{
2936
+                                        ?>
2937 2937
 										props.setAttributes({content: env});
2938 2938
 										is_fetching = false;
2939 2939
 										prev_attributes[props.clientId] = props.attributes;
2940 2940
 										<?php
2941
-										}
2942
-										?>
2941
+                                        }
2942
+                                        ?>
2943 2943
 
2944 2944
 
2945 2945
 										// if AUI is active call the js init function
@@ -2958,31 +2958,31 @@  discard block
 block discarded – undo
2958 2958
 							}
2959 2959
 
2960 2960
 							<?php
2961
-							if(!empty($this->options['block-edit-js'])) {
2962
-								echo  $this->options['block-edit-js'] ; // strings have to be in single quotes, may cause issues
2963
-							}
2961
+                            if(!empty($this->options['block-edit-js'])) {
2962
+                                echo  $this->options['block-edit-js'] ; // strings have to be in single quotes, may cause issues
2963
+                            }
2964 2964
 
2965 2965
 
2966 2966
 
2967 2967
 
2968
-							if(empty($this->options['block-save-return'])){
2969
-							?>
2968
+                            if(empty($this->options['block-save-return'])){
2969
+                            ?>
2970 2970
 								///////////////////////////////////////////////////////////////////////
2971 2971
 
2972 2972
 									 // build the shortcode.
2973 2973
 								shortcode = "[<?php echo $this->options['base_id'];?>";
2974 2974
 								<?php
2975 2975
 
2976
-								if(! empty( $this->arguments )){
2976
+                                if(! empty( $this->arguments )){
2977 2977
 
2978
-								foreach($this->arguments as $key => $args){
2979
-								   // if($args['type']=='tabs'){continue;}
2978
+                                foreach($this->arguments as $key => $args){
2979
+                                    // if($args['type']=='tabs'){continue;}
2980 2980
 
2981
-								   // don't add metadata arguments
2982
-								   if (substr($key, 0, 9 ) === 'metadata_') {
2983
-									   continue;
2984
-								   }
2985
-								?>
2981
+                                    // don't add metadata arguments
2982
+                                    if (substr($key, 0, 9 ) === 'metadata_') {
2983
+                                        continue;
2984
+                                    }
2985
+                                ?>
2986 2986
 								if (props.attributes.hasOwnProperty("<?php echo esc_attr( $key );?>")) {
2987 2987
 									if ('<?php echo esc_attr( $key );?>' == 'html') {
2988 2988
 									} else if ('<?php echo esc_attr( $args['type'] );?>' == 'image_xy') {
@@ -2993,10 +2993,10 @@  discard block
 block discarded – undo
2993 2993
 									}
2994 2994
 								}
2995 2995
 								<?php
2996
-								}
2997
-								}
2996
+                                }
2997
+                                }
2998 2998
 
2999
-								?>
2999
+                                ?>
3000 3000
 								shortcode += "]";
3001 3001
 
3002 3002
 								if(shortcode){
@@ -3004,17 +3004,17 @@  discard block
 block discarded – undo
3004 3004
 									props.setAttributes({sd_shortcode: shortcode});
3005 3005
 
3006 3006
 									<?php
3007
-									if(!empty($this->options['nested-block']) || !empty($this->arguments['html']) ){
3008
-										echo "props.setAttributes({sd_shortcode_close: '[/".esc_attr( $this->options['base_id'] )."]'});";
3009
-									}
3010
-									?>
3007
+                                    if(!empty($this->options['nested-block']) || !empty($this->arguments['html']) ){
3008
+                                        echo "props.setAttributes({sd_shortcode_close: '[/".esc_attr( $this->options['base_id'] )."]'});";
3009
+                                    }
3010
+                                    ?>
3011 3011
 								}
3012 3012
 
3013 3013
 
3014 3014
 							///////////////////////////////////////////////////////////////////////
3015 3015
 							<?php
3016
-							} // end nested block check
3017
-							?>
3016
+                            } // end nested block check
3017
+                            ?>
3018 3018
 
3019 3019
 							return [
3020 3020
 
@@ -3038,10 +3038,10 @@  discard block
 block discarded – undo
3038 3038
 
3039 3039
 									<?php
3040 3040
 
3041
-									if(! empty( $this->arguments )){
3041
+                                    if(! empty( $this->arguments )){
3042 3042
 
3043
-									if ( $show_advanced ) {
3044
-									?>
3043
+                                    if ( $show_advanced ) {
3044
+                                    ?>
3045 3045
 									el('div', {
3046 3046
 											style: {'padding-left': '16px','padding-right': '16px'}
3047 3047
 										},
@@ -3058,119 +3058,119 @@  discard block
 block discarded – undo
3058 3058
 									)
3059 3059
 									,
3060 3060
 									<?php
3061
-									}
3062
-
3063
-									$arguments = $this->group_arguments( $this->arguments );
3064
-									$block_group_tabs = ! empty( $this->options['block_group_tabs'] ) ? $this->group_block_tabs( $this->options['block_group_tabs'], $arguments ) : array();
3065
-
3066
-									// Do we have sections?
3067
-									$has_sections = $arguments == $this->arguments ? false : true;
3068
-
3069
-									if($has_sections){
3070
-									$panel_count = 0;
3071
-									$open_tab = '';
3072
-
3073
-									$open_tab_groups = array();
3074
-									$used_tabs = array();
3075
-
3076
-									foreach ( $arguments as $key => $args ) {
3077
-										$close_tab = false;
3078
-										$close_tabs = false;
3079
-
3080
-										 if ( ! empty( $block_group_tabs ) ) {
3081
-											foreach ( $block_group_tabs as $tab_name => $tab_args ) {
3082
-												if ( in_array( $key, $tab_args['groups'] ) ) {
3083
-													$open_tab_groups[] = $key;
3084
-
3085
-													if ( $open_tab != $tab_name ) {
3086
-														$tab_args['tab']['tabs_open'] = $open_tab == '' ? true : false;
3087
-														$tab_args['tab']['open'] = true;
3088
-
3089
-														$this->block_tab_start( '', $tab_args );
3090
-														$open_tab = $tab_name;
3091
-														$used_tabs[] = $tab_name;
3092
-													}
3093
-
3094
-													if ( $open_tab_groups == $tab_args['groups'] ) {
3095
-														$close_tab = true;
3096
-														$open_tab_groups = array();
3097
-
3098
-														if ( $used_tabs == array_keys( $block_group_tabs ) ) {
3099
-															$close_tabs = true;
3100
-														}
3101
-													}
3102
-												}
3103
-											}
3104
-										}
3105
-										?>
3061
+                                    }
3062
+
3063
+                                    $arguments = $this->group_arguments( $this->arguments );
3064
+                                    $block_group_tabs = ! empty( $this->options['block_group_tabs'] ) ? $this->group_block_tabs( $this->options['block_group_tabs'], $arguments ) : array();
3065
+
3066
+                                    // Do we have sections?
3067
+                                    $has_sections = $arguments == $this->arguments ? false : true;
3068
+
3069
+                                    if($has_sections){
3070
+                                    $panel_count = 0;
3071
+                                    $open_tab = '';
3072
+
3073
+                                    $open_tab_groups = array();
3074
+                                    $used_tabs = array();
3075
+
3076
+                                    foreach ( $arguments as $key => $args ) {
3077
+                                        $close_tab = false;
3078
+                                        $close_tabs = false;
3079
+
3080
+                                            if ( ! empty( $block_group_tabs ) ) {
3081
+                                            foreach ( $block_group_tabs as $tab_name => $tab_args ) {
3082
+                                                if ( in_array( $key, $tab_args['groups'] ) ) {
3083
+                                                    $open_tab_groups[] = $key;
3084
+
3085
+                                                    if ( $open_tab != $tab_name ) {
3086
+                                                        $tab_args['tab']['tabs_open'] = $open_tab == '' ? true : false;
3087
+                                                        $tab_args['tab']['open'] = true;
3088
+
3089
+                                                        $this->block_tab_start( '', $tab_args );
3090
+                                                        $open_tab = $tab_name;
3091
+                                                        $used_tabs[] = $tab_name;
3092
+                                                    }
3093
+
3094
+                                                    if ( $open_tab_groups == $tab_args['groups'] ) {
3095
+                                                        $close_tab = true;
3096
+                                                        $open_tab_groups = array();
3097
+
3098
+                                                        if ( $used_tabs == array_keys( $block_group_tabs ) ) {
3099
+                                                            $close_tabs = true;
3100
+                                                        }
3101
+                                                    }
3102
+                                                }
3103
+                                            }
3104
+                                        }
3105
+                                        ?>
3106 3106
 										el(wp.components.PanelBody, {
3107 3107
 												title: '<?php esc_attr_e( $key ); ?>',
3108 3108
 												initialOpen: <?php if ( $panel_count ) {
3109
-												echo "false";
3110
-											} else {
3111
-												echo "true";
3112
-											}?>
3109
+                                                echo "false";
3110
+                                            } else {
3111
+                                                echo "true";
3112
+                                            }?>
3113 3113
 											},
3114 3114
 											<?php
3115
-											foreach ( $args as $k => $a ) {
3116
-												$this->block_tab_start( $k, $a );
3117
-												$this->block_row_start( $k, $a );
3118
-												$this->build_block_arguments( $k, $a );
3119
-												$this->block_row_end( $k, $a );
3120
-												$this->block_tab_end( $k, $a );
3121
-											}
3122
-											?>
3115
+                                            foreach ( $args as $k => $a ) {
3116
+                                                $this->block_tab_start( $k, $a );
3117
+                                                $this->block_row_start( $k, $a );
3118
+                                                $this->build_block_arguments( $k, $a );
3119
+                                                $this->block_row_end( $k, $a );
3120
+                                                $this->block_tab_end( $k, $a );
3121
+                                            }
3122
+                                            ?>
3123 3123
 										),
3124 3124
 										<?php
3125
-										$panel_count ++;
3125
+                                        $panel_count ++;
3126 3126
 
3127
-										if($close_tab || $close_tabs){
3128
-											$tab_args = array(
3129
-												'tab'	=> array(
3130
-													'tabs_close' => $close_tabs,
3131
-												'close' => true,
3132
-												)
3127
+                                        if($close_tab || $close_tabs){
3128
+                                            $tab_args = array(
3129
+                                                'tab'	=> array(
3130
+                                                    'tabs_close' => $close_tabs,
3131
+                                                'close' => true,
3132
+                                                )
3133 3133
 
3134
-											);
3135
-											$this->block_tab_end( '', $tab_args );
3134
+                                            );
3135
+                                            $this->block_tab_end( '', $tab_args );
3136 3136
 //											echo '###close'; print_r($tab_args);
3137
-											$panel_count = 0;
3138
-										}
3137
+                                            $panel_count = 0;
3138
+                                        }
3139 3139
 //
3140 3140
 
3141
-									}
3142
-									}else {
3143
-									?>
3141
+                                    }
3142
+                                    }else {
3143
+                                    ?>
3144 3144
 									el(wp.components.PanelBody, {
3145 3145
 											title: '<?php esc_attr_e( "Settings", 'ayecode-connect' ); ?>',
3146 3146
 											initialOpen: true
3147 3147
 										},
3148 3148
 										<?php
3149
-										foreach ( $this->arguments as $key => $args ) {
3150
-											$this->block_row_start( $key, $args );
3151
-											$this->build_block_arguments( $key, $args );
3152
-											$this->block_row_end( $key, $args );
3153
-										}
3154
-										?>
3149
+                                        foreach ( $this->arguments as $key => $args ) {
3150
+                                            $this->block_row_start( $key, $args );
3151
+                                            $this->build_block_arguments( $key, $args );
3152
+                                            $this->block_row_end( $key, $args );
3153
+                                        }
3154
+                                        ?>
3155 3155
 									),
3156 3156
 									<?php
3157
-									}
3157
+                                    }
3158 3158
 
3159
-									}
3160
-									?>
3159
+                                    }
3160
+                                    ?>
3161 3161
 
3162 3162
 								),
3163 3163
 
3164 3164
 								<?php
3165
-								// If the user sets block-output array then build it
3166
-								if ( ! empty( $this->options['block-output'] ) ) {
3167
-								$this->block_element( $this->options['block-output'] );
3168
-							}elseif(!empty($this->options['block-edit-return'])){
3169
-								   echo $this->options['block-edit-return'];
3170
-							}else{
3171
-								// if no block-output is set then we try and get the shortcode html output via ajax.
3172
-								$block_edit_wrap_tag = !empty($this->options['block_edit_wrap_tag']) ? esc_attr($this->options['block_edit_wrap_tag']) : 'div';
3173
-								?>
3165
+                                // If the user sets block-output array then build it
3166
+                                if ( ! empty( $this->options['block-output'] ) ) {
3167
+                                $this->block_element( $this->options['block-output'] );
3168
+                            }elseif(!empty($this->options['block-edit-return'])){
3169
+                                    echo $this->options['block-edit-return'];
3170
+                            }else{
3171
+                                // if no block-output is set then we try and get the shortcode html output via ajax.
3172
+                                $block_edit_wrap_tag = !empty($this->options['block_edit_wrap_tag']) ? esc_attr($this->options['block_edit_wrap_tag']) : 'div';
3173
+                                ?>
3174 3174
 								el('<?php echo esc_attr($block_edit_wrap_tag); ?>', wp.blockEditor.useBlockProps({
3175 3175
 									dangerouslySetInnerHTML: {__html: onChangeContent()},
3176 3176
 									className: props.className,
@@ -3178,13 +3178,13 @@  discard block
 block discarded – undo
3178 3178
 									style: {'minHeight': '30px'}
3179 3179
 								}))
3180 3180
 								<?php
3181
-								}
3182
-								?>
3181
+                                }
3182
+                                ?>
3183 3183
 							]; // end return
3184 3184
 
3185 3185
 							<?php
3186
-							} // end block-edit-raw else
3187
-							?>
3186
+                            } // end block-edit-raw else
3187
+                            ?>
3188 3188
 						},
3189 3189
 
3190 3190
 						// The "save" property must be specified and must be a valid function.
@@ -3198,16 +3198,16 @@  discard block
 block discarded – undo
3198 3198
 							$html = '';
3199 3199
 							<?php
3200 3200
 
3201
-							if(! empty( $this->arguments )){
3201
+                            if(! empty( $this->arguments )){
3202 3202
 
3203
-							foreach($this->arguments as $key => $args){
3204
-							   // if($args['type']=='tabs'){continue;}
3203
+                            foreach($this->arguments as $key => $args){
3204
+                                // if($args['type']=='tabs'){continue;}
3205 3205
 
3206
-							   // don't add metadata arguments
3207
-							   if (substr($key, 0, 9 ) === 'metadata_') {
3208
-								   continue;
3209
-							   }
3210
-							?>
3206
+                                // don't add metadata arguments
3207
+                                if (substr($key, 0, 9 ) === 'metadata_') {
3208
+                                    continue;
3209
+                                }
3210
+                            ?>
3211 3211
 							if (attr.hasOwnProperty("<?php echo esc_attr( $key );?>")) {
3212 3212
 								if ('<?php echo esc_attr( $key );?>' == 'html') {
3213 3213
 									$html = attr.<?php echo esc_attr( $key );?>;
@@ -3218,10 +3218,10 @@  discard block
 block discarded – undo
3218 3218
 								}
3219 3219
 							}
3220 3220
 							<?php
3221
-							}
3222
-							}
3221
+                            }
3222
+                            }
3223 3223
 
3224
-							?>
3224
+                            ?>
3225 3225
 							content += "]";
3226 3226
 							 content = '';
3227 3227
 
@@ -3231,7 +3231,7 @@  discard block
 block discarded – undo
3231 3231
 //                                $html = 'el( InnerBlocks.Content )';
3232 3232
 //                                <?php
3233 3233
 //                            }
3234
-							?>
3234
+                            ?>
3235 3235
 							// if has html element
3236 3236
 							if ($html) {
3237 3237
 								//content += $html + "[/<?php echo $this->options['base_id'];?>]";
@@ -3264,12 +3264,12 @@  discard block
 block discarded – undo
3264 3264
 //                                <x?php
3265 3265
 //							}else
3266 3266
 
3267
-							if(!empty($this->options['block-output'])){
3267
+                            if(!empty($this->options['block-output'])){
3268 3268
 //                               echo "return";
3269 3269
 //                               $this->block_element( $this->options['block-output'], true );
3270 3270
 //                               echo ";";
3271 3271
 
3272
-							   ?>
3272
+                                ?>
3273 3273
 							  return el(
3274 3274
 								   '',
3275 3275
 								   {},
@@ -3279,10 +3279,10 @@  discard block
 block discarded – undo
3279 3279
 							   );
3280 3280
 								<?php
3281 3281
 
3282
-							}elseif(!empty($this->options['block-save-return'])){
3283
-								   echo 'return ' . $this->options['block-save-return'];
3284
-							}elseif(!empty($this->options['nested-block'])){
3285
-								?>
3282
+                            }elseif(!empty($this->options['block-save-return'])){
3283
+                                    echo 'return ' . $this->options['block-save-return'];
3284
+                            }elseif(!empty($this->options['nested-block'])){
3285
+                                ?>
3286 3286
 							  return el(
3287 3287
 								   '',
3288 3288
 								   {},
@@ -3291,22 +3291,22 @@  discard block
 block discarded – undo
3291 3291
 								 //  el('', {dangerouslySetInnerHTML: {__html: "[/<?php echo $this->options['base_id'];?>]"}})
3292 3292
 							   );
3293 3293
 								<?php
3294
-							}elseif(!empty( $this->options['block-save-return'] ) ){
3295
-								echo "return ". $this->options['block-edit-return'].";";
3296
-							}elseif(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){
3297
-							?>
3294
+                            }elseif(!empty( $this->options['block-save-return'] ) ){
3295
+                                echo "return ". $this->options['block-edit-return'].";";
3296
+                            }elseif(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){
3297
+                            ?>
3298 3298
 							return content;
3299 3299
 							<?php
3300
-							}else{
3301
-							?>
3300
+                            }else{
3301
+                            ?>
3302 3302
 							var block_wrap = 'div';
3303 3303
 							if (attr.hasOwnProperty("block_wrap")) {
3304 3304
 								block_wrap = attr.block_wrap;
3305 3305
 							}
3306 3306
 							return el(block_wrap, wp.blockEditor.useBlockProps.save( {dangerouslySetInnerHTML: {__html: content}, className: align} ));
3307 3307
 							<?php
3308
-							}
3309
-							?>
3308
+                            }
3309
+                            ?>
3310 3310
 
3311 3311
 
3312 3312
 						}
@@ -3320,43 +3320,43 @@  discard block
 block discarded – undo
3320 3320
 				});
3321 3321
 			</script>
3322 3322
 			<?php
3323
-			$output = ob_get_clean();
3323
+            $output = ob_get_clean();
3324 3324
 
3325
-			/*
3325
+            /*
3326 3326
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
3327 3327
 			 */
3328 3328
 
3329
-			return str_replace( array(
3330
-				'<script>',
3331
-				'</script>'
3332
-			), '', $output );
3333
-		}
3329
+            return str_replace( array(
3330
+                '<script>',
3331
+                '</script>'
3332
+            ), '', $output );
3333
+        }
3334 3334
 
3335 3335
 
3336 3336
 
3337
-		public function block_row_start($key, $args){
3337
+        public function block_row_start($key, $args){
3338 3338
 
3339
-			// check for row
3340
-			if(!empty($args['row'])){
3339
+            // check for row
3340
+            if(!empty($args['row'])){
3341 3341
 
3342
-				if(!empty($args['row']['open'])){
3342
+                if(!empty($args['row']['open'])){
3343 3343
 
3344
-				// element require
3345
-				$element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
3346
-				$device_type = ! empty( $args['device_type'] ) ? esc_attr($args['device_type']) : '';
3347
-				$device_type_require = ! empty( $args['device_type'] ) ? " deviceType == '" . esc_attr($device_type) . "' && " : '';
3348
-				$device_type_icon = '';
3349
-				if($device_type=='Desktop'){
3350
-					$device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3351
-				}elseif($device_type=='Tablet'){
3352
-					$device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3353
-				}elseif($device_type=='Mobile'){
3354
-					$device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3355
-				}
3356
-				echo $element_require;
3357
-				echo $device_type_require;
3344
+                // element require
3345
+                $element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
3346
+                $device_type = ! empty( $args['device_type'] ) ? esc_attr($args['device_type']) : '';
3347
+                $device_type_require = ! empty( $args['device_type'] ) ? " deviceType == '" . esc_attr($device_type) . "' && " : '';
3348
+                $device_type_icon = '';
3349
+                if($device_type=='Desktop'){
3350
+                    $device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3351
+                }elseif($device_type=='Tablet'){
3352
+                    $device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3353
+                }elseif($device_type=='Mobile'){
3354
+                    $device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3355
+                }
3356
+                echo $element_require;
3357
+                echo $device_type_require;
3358 3358
 
3359
-					if(false){?><script><?php }?>
3359
+                    if(false){?><script><?php }?>
3360 3360
 						el('div', {
3361 3361
 								className: 'bsui components-base-control',
3362 3362
 							},
@@ -3369,8 +3369,8 @@  discard block
 block discarded – undo
3369 3369
 								<?php if($device_type_icon){ ?>
3370 3370
 									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)"}})
3371 3371
 								<?php
3372
-								}
3373
-								?>
3372
+                                }
3373
+                                ?>
3374 3374
 
3375 3375
 
3376 3376
 							),
@@ -3394,51 +3394,51 @@  discard block
 block discarded – undo
3394 3394
 									},
3395 3395
 
3396 3396
 					<?php
3397
-					if(false){?></script><?php }
3398
-				}elseif(!empty($args['row']['close'])){
3399
-					if(false){?><script><?php }?>
3397
+                    if(false){?></script><?php }
3398
+                }elseif(!empty($args['row']['close'])){
3399
+                    if(false){?><script><?php }?>
3400 3400
 						el(
3401 3401
 							'div',
3402 3402
 							{
3403 3403
 								className: 'col pl-0 ps-0',
3404 3404
 							},
3405 3405
 					<?php
3406
-					if(false){?></script><?php }
3407
-				}else{
3408
-					if(false){?><script><?php }?>
3406
+                    if(false){?></script><?php }
3407
+                }else{
3408
+                    if(false){?><script><?php }?>
3409 3409
 						el(
3410 3410
 							'div',
3411 3411
 							{
3412 3412
 								className: 'col pl-0 ps-0 pr-2 pe-2',
3413 3413
 							},
3414 3414
 					<?php
3415
-					if(false){?></script><?php }
3416
-				}
3415
+                    if(false){?></script><?php }
3416
+                }
3417 3417
 
3418
-			}
3418
+            }
3419 3419
 
3420
-		}
3420
+        }
3421 3421
 
3422
-		public function block_row_end($key, $args){
3422
+        public function block_row_end($key, $args){
3423 3423
 
3424
-			if(!empty($args['row'])){
3425
-				// maybe close
3426
-				if(!empty($args['row']['close'])){
3427
-					echo "))";
3428
-				}
3424
+            if(!empty($args['row'])){
3425
+                // maybe close
3426
+                if(!empty($args['row']['close'])){
3427
+                    echo "))";
3428
+                }
3429 3429
 
3430
-				echo "),";
3431
-			}
3432
-		}
3430
+                echo "),";
3431
+            }
3432
+        }
3433 3433
 
3434
-		public function block_tab_start($key, $args){
3434
+        public function block_tab_start($key, $args){
3435 3435
 
3436
-			// check for row
3437
-			if(!empty($args['tab'])){
3436
+            // check for row
3437
+            if(!empty($args['tab'])){
3438 3438
 
3439
-				if(!empty($args['tab']['tabs_open'])){
3439
+                if(!empty($args['tab']['tabs_open'])){
3440 3440
 
3441
-					if(false){?><script><?php }?>
3441
+                    if(false){?><script><?php }?>
3442 3442
 
3443 3443
 el('div',{className: 'bsui'},
3444 3444
 
@@ -3451,12 +3451,12 @@  discard block
 block discarded – undo
3451 3451
 										tabs: [
3452 3452
 
3453 3453
 					<?php
3454
-					if(false){?></script><?php }
3455
-				}
3454
+                    if(false){?></script><?php }
3455
+                }
3456 3456
 
3457
-				if(!empty($args['tab']['open'])){
3457
+                if(!empty($args['tab']['open'])){
3458 3458
 
3459
-					if(false){?><script><?php }?>
3459
+                    if(false){?><script><?php }?>
3460 3460
 							{
3461 3461
 												name: '<?php echo addslashes( esc_attr( $args['tab']['key']) ); ?>',
3462 3462
 												title: el('div', {dangerouslySetInnerHTML: {__html: '<?php echo addslashes( esc_attr( $args['tab']['title']) ); ?>'}}),
@@ -3465,93 +3465,93 @@  discard block
 block discarded – undo
3465 3465
 									className: 'components-base-control__help mb-0',
3466 3466
 									dangerouslySetInnerHTML: {__html:'<?php echo addslashes( $args['tab']['desc'] ); ?>'}
3467 3467
 								}),<?php }
3468
-					if(false){?></script><?php }
3469
-				}
3468
+                    if(false){?></script><?php }
3469
+                }
3470 3470
 
3471
-			}
3471
+            }
3472 3472
 
3473
-		}
3473
+        }
3474 3474
 
3475
-		public function block_tab_end($key, $args){
3475
+        public function block_tab_end($key, $args){
3476 3476
 
3477
-			if(!empty($args['tab'])){
3478
-				// maybe close
3479
-				if(!empty($args['tab']['close'])){
3480
-					echo ")}, /* tab close */";
3481
-				}
3477
+            if(!empty($args['tab'])){
3478
+                // maybe close
3479
+                if(!empty($args['tab']['close'])){
3480
+                    echo ")}, /* tab close */";
3481
+                }
3482 3482
 
3483
-				if(!empty($args['tab']['tabs_close'])){
3484
-					if(false){?><script><?php }?>
3483
+                if(!empty($args['tab']['tabs_close'])){
3484
+                    if(false){?><script><?php }?>
3485 3485
 						]}, ( tab ) => {
3486 3486
 								return tab.content;
3487 3487
 							}
3488 3488
 						)), /* tabs close */
3489 3489
 					<?php if(false){ ?></script><?php }
3490
-				}
3491
-			}
3492
-		}
3493
-
3494
-		public function build_block_arguments( $key, $args ) {
3495
-			$custom_attributes = ! empty( $args['custom_attributes'] ) ? $this->array_to_attributes( $args['custom_attributes'] ) : '';
3496
-			$options           = '';
3497
-			$extra             = '';
3498
-			$require           = '';
3499
-			$inside_elements   = '';
3500
-			$after_elements	   = '';
3501
-
3502
-			// `content` is a protected and special argument
3503
-			if ( $key == 'content' ) {
3504
-				return;
3505
-			}
3506
-
3507
-			$device_type = ! empty( $args['device_type'] ) ? esc_attr($args['device_type']) : '';
3508
-			$device_type_require = ! empty( $args['device_type'] ) ? " deviceType == '" . esc_attr($device_type) . "' && " : '';
3509
-			$device_type_icon = '';
3510
-			if($device_type=='Desktop'){
3511
-				$device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3512
-			}elseif($device_type=='Tablet'){
3513
-				$device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3514
-			}elseif($device_type=='Mobile'){
3515
-				$device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3516
-			}
3517
-
3518
-			// icon
3519
-			$icon = '';
3520
-			if( !empty( $args['icon'] ) ){
3521
-				$icon .= "el('div', {";
3522
-									$icon .= "dangerouslySetInnerHTML: {__html: '".self::get_widget_icon( esc_attr($args['icon']))."'},";
3523
-									$icon .= "className: 'text-center',";
3524
-									$icon .= "title: '".addslashes( $args['title'] )."',";
3525
-								$icon .= "}),";
3526
-
3527
-				// blank title as its added to the icon.
3528
-				$args['title'] = '';
3529
-			}
3530
-
3531
-			// require advanced
3532
-			$require_advanced = ! empty( $args['advanced'] ) ? "props.attributes.show_advanced && " : "";
3533
-
3534
-			// element require
3535
-			$element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
3536
-
3537
-
3538
-			$onchange  = "props.setAttributes({ $key: $key } )";
3539
-			$onchangecomplete  = "";
3540
-			$value     = "props.attributes.$key";
3541
-			$text_type = array( 'text', 'password', 'number', 'email', 'tel', 'url', 'colorx','range' );
3542
-			if ( in_array( $args['type'], $text_type ) ) {
3543
-				$type = 'TextControl';
3544
-				// Save numbers as numbers and not strings
3545
-				if ( $args['type'] == 'number' ) {
3546
-					$onchange = "props.setAttributes({ $key: $key ? Number($key) : '' } )";
3547
-				}
3548
-
3549
-				if (substr($key, 0, 9 ) === 'metadata_') {
3550
-					$real_key = str_replace('metadata_','', $key );
3551
-					$onchange = "props.setAttributes({ metadata: { $real_key: $key } } )";
3552
-					$value     = "props.attributes.metadata && props.attributes.metadata.$real_key ? props.attributes.metadata.$real_key : ''";
3553
-				}
3554
-			}
3490
+                }
3491
+            }
3492
+        }
3493
+
3494
+        public function build_block_arguments( $key, $args ) {
3495
+            $custom_attributes = ! empty( $args['custom_attributes'] ) ? $this->array_to_attributes( $args['custom_attributes'] ) : '';
3496
+            $options           = '';
3497
+            $extra             = '';
3498
+            $require           = '';
3499
+            $inside_elements   = '';
3500
+            $after_elements	   = '';
3501
+
3502
+            // `content` is a protected and special argument
3503
+            if ( $key == 'content' ) {
3504
+                return;
3505
+            }
3506
+
3507
+            $device_type = ! empty( $args['device_type'] ) ? esc_attr($args['device_type']) : '';
3508
+            $device_type_require = ! empty( $args['device_type'] ) ? " deviceType == '" . esc_attr($device_type) . "' && " : '';
3509
+            $device_type_icon = '';
3510
+            if($device_type=='Desktop'){
3511
+                $device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3512
+            }elseif($device_type=='Tablet'){
3513
+                $device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3514
+            }elseif($device_type=='Mobile'){
3515
+                $device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3516
+            }
3517
+
3518
+            // icon
3519
+            $icon = '';
3520
+            if( !empty( $args['icon'] ) ){
3521
+                $icon .= "el('div', {";
3522
+                                    $icon .= "dangerouslySetInnerHTML: {__html: '".self::get_widget_icon( esc_attr($args['icon']))."'},";
3523
+                                    $icon .= "className: 'text-center',";
3524
+                                    $icon .= "title: '".addslashes( $args['title'] )."',";
3525
+                                $icon .= "}),";
3526
+
3527
+                // blank title as its added to the icon.
3528
+                $args['title'] = '';
3529
+            }
3530
+
3531
+            // require advanced
3532
+            $require_advanced = ! empty( $args['advanced'] ) ? "props.attributes.show_advanced && " : "";
3533
+
3534
+            // element require
3535
+            $element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
3536
+
3537
+
3538
+            $onchange  = "props.setAttributes({ $key: $key } )";
3539
+            $onchangecomplete  = "";
3540
+            $value     = "props.attributes.$key";
3541
+            $text_type = array( 'text', 'password', 'number', 'email', 'tel', 'url', 'colorx','range' );
3542
+            if ( in_array( $args['type'], $text_type ) ) {
3543
+                $type = 'TextControl';
3544
+                // Save numbers as numbers and not strings
3545
+                if ( $args['type'] == 'number' ) {
3546
+                    $onchange = "props.setAttributes({ $key: $key ? Number($key) : '' } )";
3547
+                }
3548
+
3549
+                if (substr($key, 0, 9 ) === 'metadata_') {
3550
+                    $real_key = str_replace('metadata_','', $key );
3551
+                    $onchange = "props.setAttributes({ metadata: { $real_key: $key } } )";
3552
+                    $value     = "props.attributes.metadata && props.attributes.metadata.$real_key ? props.attributes.metadata.$real_key : ''";
3553
+                }
3554
+            }
3555 3555
 //			else if ( $args['type'] == 'popup' ) {
3556 3556
 //				$type = 'TextControl';
3557 3557
 //				$args['type'] == 'text';
@@ -3569,21 +3569,21 @@  discard block
 block discarded – undo
3569 3569
 //
3570 3570
 //				$value     = "props.attributes.$key ? props.attributes.$key : ''";
3571 3571
 //			}
3572
-			else if ( $args['type'] == 'styleid' ) {
3573
-				$type = 'TextControl';
3574
-				$args['type'] == 'text';
3575
-				// Save numbers as numbers and not strings
3576
-				$value     = "props.attributes.$key ? props.attributes.$key : ''";
3577
-			}else if ( $args['type'] == 'notice' ) {
3578
-
3579
-				$notice_message = !empty($args['desc']) ? addslashes($args['desc']) : '';
3580
-				$notice_status = !empty($args['status']) ? esc_attr($args['status']) : 'info';
3581
-
3582
-				$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'}}))),";
3583
-				echo $notice_message ? $element_require . $notice : '';
3584
-				return;
3585
-			}
3586
-			/*
3572
+            else if ( $args['type'] == 'styleid' ) {
3573
+                $type = 'TextControl';
3574
+                $args['type'] == 'text';
3575
+                // Save numbers as numbers and not strings
3576
+                $value     = "props.attributes.$key ? props.attributes.$key : ''";
3577
+            }else if ( $args['type'] == 'notice' ) {
3578
+
3579
+                $notice_message = !empty($args['desc']) ? addslashes($args['desc']) : '';
3580
+                $notice_status = !empty($args['status']) ? esc_attr($args['status']) : 'info';
3581
+
3582
+                $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'}}))),";
3583
+                echo $notice_message ? $element_require . $notice : '';
3584
+                return;
3585
+            }
3586
+            /*
3587 3587
 			 * https://www.wptricks.com/question/set-current-tab-on-a-gutenberg-tabpanel-component-from-outside-that-component/ es5 layout
3588 3588
 						elseif($args['type']=='tabs'){
3589 3589
 							?>
@@ -3636,22 +3636,22 @@  discard block
 block discarded – undo
3636 3636
 							return;
3637 3637
 						}
3638 3638
 */
3639
-			elseif ( $args['type'] == 'color' ) {
3640
-				$type = 'ColorPicker';
3641
-				$onchange = "";
3642
-				$extra = "color: $value,";
3643
-				if(!empty($args['disable_alpha'])){
3644
-					$extra .= "disableAlpha: true,";
3645
-				}
3646
-				$onchangecomplete = "onChangeComplete: function($key) {
3639
+            elseif ( $args['type'] == 'color' ) {
3640
+                $type = 'ColorPicker';
3641
+                $onchange = "";
3642
+                $extra = "color: $value,";
3643
+                if(!empty($args['disable_alpha'])){
3644
+                    $extra .= "disableAlpha: true,";
3645
+                }
3646
+                $onchangecomplete = "onChangeComplete: function($key) {
3647 3647
 				value =  $key.rgb.a && $key.rgb.a < 1 ? \"rgba(\"+$key.rgb.r+\",\"+$key.rgb.g+\",\"+$key.rgb.b+\",\"+$key.rgb.a+\")\" : $key.hex;
3648 3648
 						props.setAttributes({
3649 3649
 							$key: value
3650 3650
 						});
3651 3651
 					},";
3652
-			}elseif ( $args['type'] == 'gradient' ) {
3653
-				$type = 'GradientPicker';
3654
-				$extra .= "gradients: [{
3652
+            }elseif ( $args['type'] == 'gradient' ) {
3653
+                $type = 'GradientPicker';
3654
+                $extra .= "gradients: [{
3655 3655
 			name: 'Vivid cyan blue to vivid purple',
3656 3656
 			gradient:
3657 3657
 				'linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)',
@@ -3688,10 +3688,10 @@  discard block
 block discarded – undo
3688 3688
 			slug: 'cool-to-warm-spectrum',
3689 3689
 		}],";
3690 3690
 
3691
-			}elseif ( $args['type'] == 'image' ) {
3691
+            }elseif ( $args['type'] == 'image' ) {
3692 3692
 //                print_r($args);
3693 3693
 
3694
-				$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,{
3694
+                $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,{
3695 3695
 							url:  props.attributes.{$key}_use_featured === true ? 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiID8+CjxzdmcgYmFzZVByb2ZpbGU9InRpbnkiIGhlaWdodD0iNDAwIiB2ZXJzaW9uPSIxLjIiIHdpZHRoPSI0MDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6ZXY9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEveG1sLWV2ZW50cyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxkZWZzIC8+PHJlY3QgZmlsbD0iI2QzZDNkMyIgaGVpZ2h0PSI0MDAiIHdpZHRoPSI0MDAiIHg9IjAiIHk9IjAiIC8+PGxpbmUgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIxMCIgeDE9IjAiIHgyPSI0MDAiIHkxPSIwIiB5Mj0iNDAwIiAvPjxsaW5lIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMTAiIHgxPSIwIiB4Mj0iNDAwIiB5MT0iNDAwIiB5Mj0iMCIgLz48cmVjdCBmaWxsPSIjZDNkM2QzIiBoZWlnaHQ9IjUwIiB3aWR0aD0iMjE4LjAiIHg9IjkxLjAiIHk9IjE3NS4wIiAvPjx0ZXh0IGZpbGw9IndoaXRlIiBmb250LXNpemU9IjMwIiBmb250LXdlaWdodD0iYm9sZCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgeD0iMjAwLjAiIHk9IjIwNy41Ij5QTEFDRUhPTERFUjwvdGV4dD48L3N2Zz4='  : props.attributes.$key,
3696 3696
 							value: props.attributes.{$key}_xy.x !== undefined && props.attributes.{$key}_xy.x >= 0 ? props.attributes.{$key}_xy  : {x: 0.5,y: 0.5,},
3697 3697
 //                            value: props.attributes.{$key}_xy,
@@ -3712,16 +3712,16 @@  discard block
 block discarded – undo
3712 3712
 						}), ";
3713 3713
 
3714 3714
 
3715
-				$value = '""';
3716
-				$type = 'MediaUpload';
3717
-				$extra .= "onSelect: function(media){
3715
+                $value = '""';
3716
+                $type = 'MediaUpload';
3717
+                $extra .= "onSelect: function(media){
3718 3718
 					  return props.setAttributes({
3719 3719
 						  $key: media.url,
3720 3720
 						  {$key}_id: media.id
3721 3721
 						});
3722 3722
 					  },";
3723
-				   $extra .= "type: 'image',";
3724
-				   $extra .= "render: function (obj) {
3723
+                    $extra .= "type: 'image',";
3724
+                    $extra .= "render: function (obj) {
3725 3725
 						return el( 'div',{},
3726 3726
 						( !props.attributes.$key && !props.attributes.{$key}_use_featured ) && el( wp.components.Button, {
3727 3727
 						  className: 'components-button components-circular-option-picker__clear is-primary is-smallx',
@@ -3747,11 +3747,11 @@  discard block
 block discarded – undo
3747 3747
 
3748 3748
 
3749 3749
 					  }";
3750
-				$onchange = "";
3750
+                $onchange = "";
3751 3751
 
3752
-				//$inside_elements = ",el('div',{},'file upload')";
3753
-			} else if ( $args['type'] == 'images' ) {
3754
-				$img_preview = "props.attributes.$key && (function() {
3752
+                //$inside_elements = ",el('div',{},'file upload')";
3753
+            } else if ( $args['type'] == 'images' ) {
3754
+                $img_preview = "props.attributes.$key && (function() {
3755 3755
 	let uploads = JSON.parse('['+props.attributes.$key+']');
3756 3756
 	let images = [];
3757 3757
 	uploads.map((upload, index) => (
@@ -3778,9 +3778,9 @@  discard block
 block discarded – undo
3778 3778
 })(),";
3779 3779
 
3780 3780
 
3781
-				$value = '""';
3782
-				$type = 'MediaUpload';
3783
-				$extra .= "onSelect: function(media){
3781
+                $value = '""';
3782
+                $type = 'MediaUpload';
3783
+                $extra .= "onSelect: function(media){
3784 3784
 	let slim_images = props.attributes.$key ? JSON.parse('['+props.attributes.$key+']') : [];
3785 3785
 	if(media.length){
3786 3786
 		for (var i=0; i < media.length; i++) {
@@ -3793,9 +3793,9 @@  discard block
 block discarded – undo
3793 3793
 	}
3794 3794
 	return props.setAttributes({ $key: slimImagesV});
3795 3795
 },";
3796
-				$extra .= "type: 'image',";
3797
-				$extra .= "multiple: true,";
3798
-				$extra .= "render: function (obj) {
3796
+                $extra .= "type: 'image',";
3797
+                $extra .= "multiple: true,";
3798
+                $extra .= "render: function (obj) {
3799 3799
 	/* Init the sort */
3800 3800
 	enableDragSort('sd-sortable');
3801 3801
 	return el( 'div',{},
@@ -3822,40 +3822,40 @@  discard block
 block discarded – undo
3822 3822
 		)
3823 3823
 	)
3824 3824
 }";
3825
-				$onchange = "";
3826
-
3827
-				//$inside_elements = ",el('div',{},'file upload')";
3828
-			}
3829
-			elseif ( $args['type'] == 'checkbox' ) {
3830
-				$type = 'CheckboxControl';
3831
-				$extra .= "checked: props.attributes.$key,";
3832
-				$onchange = "props.setAttributes({ $key: ! props.attributes.$key } )";
3833
-			} elseif ( $args['type'] == 'textarea' ) {
3834
-				$type = 'TextareaControl';
3835
-
3836
-			} elseif ( $args['type'] == 'select' || $args['type'] == 'multiselect' ) {
3837
-				$type = 'SelectControl';
3838
-
3839
-				if($args['name'] == 'category' && !empty($args['post_type_linked'])){
3840
-					$options .= "options: taxonomies_".str_replace("-","_", $this->id).",";
3841
-				}elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){
3842
-					$options .= "options: sort_by_".str_replace("-","_", $this->id).",";
3843
-				}else {
3844
-
3845
-					if ( ! empty( $args['options'] ) ) {
3846
-						$options .= "options: [";
3847
-						foreach ( $args['options'] as $option_val => $option_label ) {
3848
-							$options .= "{ value: '" . esc_attr( $option_val ) . "', label: '" . esc_js( addslashes( $option_label ) ) . "' },";
3849
-						}
3850
-						$options .= "],";
3851
-					}
3852
-				}
3853
-				if ( isset( $args['multiple'] ) && $args['multiple'] ) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550
3854
-					$extra .= ' multiple:true,style:{height:"auto",paddingRight:"8px","overflow-y":"auto"}, ';
3855
-				}
3856
-
3857
-				if($args['type'] == 'multiselect' ||  ( isset( $args['multiple'] ) && $args['multiple'] ) ){
3858
-					$after_elements	 .= "props.attributes.$key && el( wp.components.Button, {
3825
+                $onchange = "";
3826
+
3827
+                //$inside_elements = ",el('div',{},'file upload')";
3828
+            }
3829
+            elseif ( $args['type'] == 'checkbox' ) {
3830
+                $type = 'CheckboxControl';
3831
+                $extra .= "checked: props.attributes.$key,";
3832
+                $onchange = "props.setAttributes({ $key: ! props.attributes.$key } )";
3833
+            } elseif ( $args['type'] == 'textarea' ) {
3834
+                $type = 'TextareaControl';
3835
+
3836
+            } elseif ( $args['type'] == 'select' || $args['type'] == 'multiselect' ) {
3837
+                $type = 'SelectControl';
3838
+
3839
+                if($args['name'] == 'category' && !empty($args['post_type_linked'])){
3840
+                    $options .= "options: taxonomies_".str_replace("-","_", $this->id).",";
3841
+                }elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){
3842
+                    $options .= "options: sort_by_".str_replace("-","_", $this->id).",";
3843
+                }else {
3844
+
3845
+                    if ( ! empty( $args['options'] ) ) {
3846
+                        $options .= "options: [";
3847
+                        foreach ( $args['options'] as $option_val => $option_label ) {
3848
+                            $options .= "{ value: '" . esc_attr( $option_val ) . "', label: '" . esc_js( addslashes( $option_label ) ) . "' },";
3849
+                        }
3850
+                        $options .= "],";
3851
+                    }
3852
+                }
3853
+                if ( isset( $args['multiple'] ) && $args['multiple'] ) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550
3854
+                    $extra .= ' multiple:true,style:{height:"auto",paddingRight:"8px","overflow-y":"auto"}, ';
3855
+                }
3856
+
3857
+                if($args['type'] == 'multiselect' ||  ( isset( $args['multiple'] ) && $args['multiple'] ) ){
3858
+                    $after_elements	 .= "props.attributes.$key && el( wp.components.Button, {
3859 3859
 									  className: 'components-button components-circular-option-picker__clear is-secondary is-small',
3860 3860
 									  style: {margin:'-8px 0 8px 0',display: 'block'},
3861 3861
 									  onClick: function(){
@@ -3866,8 +3866,8 @@  discard block
 block discarded – undo
3866 3866
 									},
3867 3867
 									'Clear'
3868 3868
 							),";
3869
-				}
3870
-			} elseif ( $args['type'] == 'tagselect' ) {
3869
+                }
3870
+            } elseif ( $args['type'] == 'tagselect' ) {
3871 3871
 //				$type = 'FormTokenField';
3872 3872
 //
3873 3873
 //				if ( ! empty( $args['options'] ) ) {
@@ -3902,20 +3902,20 @@  discard block
 block discarded – undo
3902 3902
 //				$value     = "[]";
3903 3903
 //				$extra .= ' __experimentalExpandOnFocus: true,';
3904 3904
 
3905
-			} else if ( $args['type'] == 'alignment' ) {
3906
-				$type = 'AlignmentToolbar'; // @todo this does not seem to work but cant find a example
3907
-			} else if ( $args['type'] == 'margins' ) {
3908
-
3909
-			} else if ( $args['type'] == 'visibility_conditions' && ( function_exists( 'wp_is_block_theme' ) && wp_is_block_theme() ) ) {
3910
-				$type = 'TextControl';
3911
-				$value = "(props.attributes.$key ? props.attributes.$key : '')";
3912
-				$args['type'] = 'text';
3913
-				$options .= 'disabled:true,';
3914
-				$bsvc_title = esc_attr( addslashes( $args['title'] ) );
3915
-				$bsvc_body = $this->block_visibility_fields( $args );
3916
-				// @TODO reset button
3917
-				$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>';
3918
-				$after_elements .= "el('div', {className: 'components-base-control bs-vc-button-wrap'}, el(wp.components.Button, {
3905
+            } else if ( $args['type'] == 'alignment' ) {
3906
+                $type = 'AlignmentToolbar'; // @todo this does not seem to work but cant find a example
3907
+            } else if ( $args['type'] == 'margins' ) {
3908
+
3909
+            } else if ( $args['type'] == 'visibility_conditions' && ( function_exists( 'wp_is_block_theme' ) && wp_is_block_theme() ) ) {
3910
+                $type = 'TextControl';
3911
+                $value = "(props.attributes.$key ? props.attributes.$key : '')";
3912
+                $args['type'] = 'text';
3913
+                $options .= 'disabled:true,';
3914
+                $bsvc_title = esc_attr( addslashes( $args['title'] ) );
3915
+                $bsvc_body = $this->block_visibility_fields( $args );
3916
+                // @TODO reset button
3917
+                $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>';
3918
+                $after_elements .= "el('div', {className: 'components-base-control bs-vc-button-wrap'}, el(wp.components.Button, {
3919 3919
 						className: 'components-button components-circular-option-picker__clear is-primary is-smallx',
3920 3920
 						onClick: function() {
3921 3921
 							var sValue = props.attributes." . $key . ";
@@ -3941,39 +3941,39 @@  discard block
 block discarded – undo
3941 3941
 					},
3942 3942
 					'" . addslashes( ! empty( $args['button_title'] ) ? $args['button_title'] : $args['title'] ) . "'
3943 3943
 				) ),";
3944
-			} else {
3945
-				return;// if we have not implemented the control then don't break the JS.
3946
-			}
3947
-
3948
-			// color input does not show the labels so we add them
3949
-			if($args['type']=='color'){
3950
-				// add show only if advanced
3951
-				echo $require_advanced;
3952
-				// add setting require if defined
3953
-				echo $element_require;
3954
-				echo "el('div', {style: {'marginBottom': '8px'}}, '".addslashes( $args['title'] )."'),";
3955
-			}
3956
-
3957
-			// add show only if advanced
3958
-			echo $require_advanced;
3959
-			// add setting require if defined
3960
-			echo $element_require;
3961
-			echo $device_type_require;
3962
-
3963
-			// icon
3964
-			echo $icon;
3965
-			?>
3944
+            } else {
3945
+                return;// if we have not implemented the control then don't break the JS.
3946
+            }
3947
+
3948
+            // color input does not show the labels so we add them
3949
+            if($args['type']=='color'){
3950
+                // add show only if advanced
3951
+                echo $require_advanced;
3952
+                // add setting require if defined
3953
+                echo $element_require;
3954
+                echo "el('div', {style: {'marginBottom': '8px'}}, '".addslashes( $args['title'] )."'),";
3955
+            }
3956
+
3957
+            // add show only if advanced
3958
+            echo $require_advanced;
3959
+            // add setting require if defined
3960
+            echo $element_require;
3961
+            echo $device_type_require;
3962
+
3963
+            // icon
3964
+            echo $icon;
3965
+            ?>
3966 3966
 			el( <?php echo $args['type'] == 'image' || $args['type'] == 'images' ? $type  : "wp.components.".$type; ?>, {
3967 3967
 			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
3968
-			} else { ?>'<?php echo addslashes( trim( esc_html( $args['title'] ) ) ); ?>'<?php } ?>,
3968
+            } else { ?>'<?php echo addslashes( trim( esc_html( $args['title'] ) ) ); ?>'<?php } ?>,
3969 3969
 			help: <?php echo ( isset( $args['desc'] ) ? "el('span', {dangerouslySetInnerHTML: {__html: '" . trim( wp_kses_post( addslashes( $args['desc'] ) ) ) . "'}})" : "''" ); ?>,
3970 3970
 			value: <?php echo $value; ?>,
3971 3971
 			<?php if ( $type == 'TextControl' && $args['type'] != 'text' ) {
3972
-				echo "type: '" . addslashes( $args['type'] ) . "',";
3973
-			} ?>
3972
+                echo "type: '" . addslashes( $args['type'] ) . "',";
3973
+            } ?>
3974 3974
 			<?php if ( ! empty( $args['placeholder'] ) ) {
3975
-				echo "placeholder: '" . esc_js( addslashes( trim( esc_html( $args['placeholder'] ) ) ) ) . "',";
3976
-			} ?>
3975
+                echo "placeholder: '" . esc_js( addslashes( trim( esc_html( $args['placeholder'] ) ) ) ) . "',";
3976
+            } ?>
3977 3977
 			<?php echo $options; ?>
3978 3978
 			<?php echo $extra; ?>
3979 3979
 			<?php echo $custom_attributes; ?>
@@ -3985,1250 +3985,1250 @@  discard block
 block discarded – undo
3985 3985
 			<?php } ?>
3986 3986
 		} <?php echo $inside_elements; ?> ),
3987 3987
 			<?php
3988
-			echo $after_elements;
3989
-		}
3990
-
3991
-		/**
3992
-		 * Convert an array of attributes to block string.
3993
-		 *
3994
-		 * @param $custom_attributes
3995
-		 *
3996
-		 * @return string
3997
-		 *@todo there is prob a faster way to do this, also we could add some validation here.
3998
-		 *
3999
-		 */
4000
-		public function array_to_attributes( $custom_attributes, $html = false ) {
4001
-			$attributes = '';
4002
-			if ( ! empty( $custom_attributes ) ) {
4003
-
4004
-				foreach ( $custom_attributes as $key => $val ) {
4005
-					if(is_array($val)){
4006
-						$attributes .= $key.': {'.$this->array_to_attributes( $val, $html ).'},';
4007
-					}else{
4008
-						$attributes .= $html ?  " $key='$val' " : "'$key': '$val',";
4009
-					}
4010
-				}
4011
-
4012
-			}
4013
-
4014
-			return $attributes;
4015
-		}
4016
-
4017
-
4018
-
4019
-		/**
4020
-		 * A self looping function to create the output for JS block elements.
4021
-		 *
4022
-		 * This is what is output in the WP Editor visual view.
4023
-		 *
4024
-		 * @param $args
4025
-		 */
4026
-		public function block_element( $args, $save = false ) {
3988
+            echo $after_elements;
3989
+        }
3990
+
3991
+        /**
3992
+         * Convert an array of attributes to block string.
3993
+         *
3994
+         * @param $custom_attributes
3995
+         *
3996
+         * @return string
3997
+         *@todo there is prob a faster way to do this, also we could add some validation here.
3998
+         *
3999
+         */
4000
+        public function array_to_attributes( $custom_attributes, $html = false ) {
4001
+            $attributes = '';
4002
+            if ( ! empty( $custom_attributes ) ) {
4003
+
4004
+                foreach ( $custom_attributes as $key => $val ) {
4005
+                    if(is_array($val)){
4006
+                        $attributes .= $key.': {'.$this->array_to_attributes( $val, $html ).'},';
4007
+                    }else{
4008
+                        $attributes .= $html ?  " $key='$val' " : "'$key': '$val',";
4009
+                    }
4010
+                }
4011
+
4012
+            }
4013
+
4014
+            return $attributes;
4015
+        }
4016
+
4017
+
4018
+
4019
+        /**
4020
+         * A self looping function to create the output for JS block elements.
4021
+         *
4022
+         * This is what is output in the WP Editor visual view.
4023
+         *
4024
+         * @param $args
4025
+         */
4026
+        public function block_element( $args, $save = false ) {
4027 4027
 
4028 4028
 //            print_r($args);echo '###';exit;
4029 4029
 
4030
-			if ( ! empty( $args ) ) {
4031
-				foreach ( $args as $element => $new_args ) {
4030
+            if ( ! empty( $args ) ) {
4031
+                foreach ( $args as $element => $new_args ) {
4032 4032
 
4033
-					if ( is_array( $new_args ) ) { // its an element
4033
+                    if ( is_array( $new_args ) ) { // its an element
4034 4034
 
4035 4035
 
4036
-						if ( isset( $new_args['element'] ) ) {
4036
+                        if ( isset( $new_args['element'] ) ) {
4037 4037
 
4038
-							if ( isset( $new_args['element_require'] ) ) {
4039
-								echo str_replace( array(
4040
-										"'+",
4041
-										"+'"
4042
-									), '', $this->block_props_replace( $new_args['element_require'] ) ) . " &&  ";
4043
-								unset( $new_args['element_require'] );
4044
-							}
4038
+                            if ( isset( $new_args['element_require'] ) ) {
4039
+                                echo str_replace( array(
4040
+                                        "'+",
4041
+                                        "+'"
4042
+                                    ), '', $this->block_props_replace( $new_args['element_require'] ) ) . " &&  ";
4043
+                                unset( $new_args['element_require'] );
4044
+                            }
4045 4045
 
4046
-							if($new_args['element']=='InnerBlocks'){
4047
-								echo "\n el( InnerBlocks, {";
4048
-							}elseif($new_args['element']=='innerBlocksProps'){
4049
-								$element = isset($new_args['inner_element']) ? esc_attr($new_args['inner_element']) : 'div';
4050
-							  //  echo "\n el( 'section', wp.blockEditor.useInnerBlocksProps( blockProps, {";
4046
+                            if($new_args['element']=='InnerBlocks'){
4047
+                                echo "\n el( InnerBlocks, {";
4048
+                            }elseif($new_args['element']=='innerBlocksProps'){
4049
+                                $element = isset($new_args['inner_element']) ? esc_attr($new_args['inner_element']) : 'div';
4050
+                                //  echo "\n el( 'section', wp.blockEditor.useInnerBlocksProps( blockProps, {";
4051 4051
 //                                echo $save ? "\n el( '$element', wp.blockEditor.useInnerBlocksProps.save( " : "\n el( '$element', wp.blockEditor.useInnerBlocksProps( ";
4052
-								echo $save ? "\n el( '$element', wp.blockEditor.useInnerBlocksProps.save( " : "\n el( '$element', wp.blockEditor.useInnerBlocksProps( ";
4053
-								echo $save ? "wp.blockEditor.useBlockProps.save( {" : "wp.blockEditor.useBlockProps( {";
4054
-								echo !empty($new_args['blockProps']) ? $this->block_element( $new_args['blockProps'],$save ) : '';
4055
-
4056
-								echo "} ), {";
4057
-								echo !empty($new_args['innerBlocksProps']) && !$save ? $this->block_element( $new_args['innerBlocksProps'],$save ) : '';
4058
-							//    echo '###';
4059
-
4060
-							  //  echo '###';
4061
-							}elseif($new_args['element']=='BlocksProps'){
4062
-
4063
-								if ( isset($new_args['if_inner_element']) ) {
4064
-									$element = $new_args['if_inner_element'];
4065
-								}else {
4066
-									$element = isset($new_args['inner_element']) ? "'".esc_attr($new_args['inner_element'])."'" : "'div'";
4067
-								}
4068
-
4069
-								unset($new_args['inner_element']);
4070
-								echo $save ? "\n el( $element, wp.blockEditor.useBlockProps.save( {" : "\n el( $element, wp.blockEditor.useBlockProps( {";
4071
-								echo !empty($new_args['blockProps']) ? $this->block_element( $new_args['blockProps'],$save ) : '';
4072
-
4073
-
4074
-							   // echo "} ),";
4075
-
4076
-							}else{
4077
-								echo "\n el( '" . $new_args['element'] . "', {";
4078
-							}
4079
-
4080
-
4081
-							// get the attributes
4082
-							foreach ( $new_args as $new_key => $new_value ) {
4083
-
4084
-
4085
-								if ( $new_key == 'element' || $new_key == 'content'|| $new_key == 'if_content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array( $new_value ) ) {
4086
-									// do nothing
4087
-								} else {
4088
-									echo $this->block_element( array( $new_key => $new_value ),$save );
4089
-								}
4090
-							}
4091
-
4092
-							echo $new_args['element']=='BlocksProps' ? '} ),' : "},";// end attributes
4093
-
4094
-							// get the content
4095
-							$first_item = 0;
4096
-							foreach ( $new_args as $new_key => $new_value ) {
4097
-								if ( $new_key === 'content' || $new_key === 'if_content' || is_array( $new_value ) ) {
4098
-
4099
-									if ( $new_key === 'content' ) {
4100
-										echo "'" . $this->block_props_replace( wp_slash( $new_value ) ) . "'";
4101
-									}else if ( $new_key === 'if_content' ) {
4102
-										echo  $this->block_props_replace(  $new_value  );
4103
-									}
4104
-
4105
-									if ( is_array( $new_value ) ) {
4106
-
4107
-										if ( isset( $new_value['element_require'] ) ) {
4108
-											echo str_replace( array(
4109
-													"'+",
4110
-													"+'"
4111
-												), '', $this->block_props_replace( $new_value['element_require'] ) ) . " &&  ";
4112
-											unset( $new_value['element_require'] );
4113
-										}
4114
-
4115
-										if ( isset( $new_value['element_repeat'] ) ) {
4116
-											$x = 1;
4117
-											while ( $x <= absint( $new_value['element_repeat'] ) ) {
4118
-												$this->block_element( array( '' => $new_value ),$save );
4119
-												$x ++;
4120
-											}
4121
-										} else {
4122
-											$this->block_element( array( '' => $new_value ),$save );
4123
-										}
4124
-									}
4125
-									$first_item ++;
4126
-								}
4127
-							}
4128
-
4129
-							if($new_args['element']=='innerBlocksProps' || $new_args['element']=='xBlocksProps'){
4130
-								echo "))";// end content
4131
-							}else{
4132
-								echo ")";// end content
4133
-							}
4134
-
4135
-
4136
-							echo ", \n";
4137
-
4138
-						}
4139
-					} else {
4140
-
4141
-						if ( substr( $element, 0, 3 ) === "if_" ) {
4142
-							$extra = '';
4143
-							if( strpos($new_args, '[%WrapClass%]') !== false ){
4144
-								$new_args = str_replace('[%WrapClass%]"','" + sd_build_aui_class(props.attributes)',$new_args);
4145
-								$new_args = str_replace('[%WrapClass%]','+ sd_build_aui_class(props.attributes)',$new_args);
4146
-							}
4147
-							echo str_replace( "if_", "", $element ) . ": " . $this->block_props_replace( $new_args, true ) . ",";
4148
-						} elseif ( $element == 'style' &&  strpos($new_args, '[%WrapStyle%]') !== false ) {
4149
-							$new_args = str_replace('[%WrapStyle%]','',$new_args);
4150
-							echo $element . ": {..." . $this->block_props_replace( $new_args ) . " , ...sd_build_aui_styles(props.attributes) },";
4052
+                                echo $save ? "\n el( '$element', wp.blockEditor.useInnerBlocksProps.save( " : "\n el( '$element', wp.blockEditor.useInnerBlocksProps( ";
4053
+                                echo $save ? "wp.blockEditor.useBlockProps.save( {" : "wp.blockEditor.useBlockProps( {";
4054
+                                echo !empty($new_args['blockProps']) ? $this->block_element( $new_args['blockProps'],$save ) : '';
4055
+
4056
+                                echo "} ), {";
4057
+                                echo !empty($new_args['innerBlocksProps']) && !$save ? $this->block_element( $new_args['innerBlocksProps'],$save ) : '';
4058
+                            //    echo '###';
4059
+
4060
+                                //  echo '###';
4061
+                            }elseif($new_args['element']=='BlocksProps'){
4062
+
4063
+                                if ( isset($new_args['if_inner_element']) ) {
4064
+                                    $element = $new_args['if_inner_element'];
4065
+                                }else {
4066
+                                    $element = isset($new_args['inner_element']) ? "'".esc_attr($new_args['inner_element'])."'" : "'div'";
4067
+                                }
4068
+
4069
+                                unset($new_args['inner_element']);
4070
+                                echo $save ? "\n el( $element, wp.blockEditor.useBlockProps.save( {" : "\n el( $element, wp.blockEditor.useBlockProps( {";
4071
+                                echo !empty($new_args['blockProps']) ? $this->block_element( $new_args['blockProps'],$save ) : '';
4072
+
4073
+
4074
+                                // echo "} ),";
4075
+
4076
+                            }else{
4077
+                                echo "\n el( '" . $new_args['element'] . "', {";
4078
+                            }
4079
+
4080
+
4081
+                            // get the attributes
4082
+                            foreach ( $new_args as $new_key => $new_value ) {
4083
+
4084
+
4085
+                                if ( $new_key == 'element' || $new_key == 'content'|| $new_key == 'if_content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array( $new_value ) ) {
4086
+                                    // do nothing
4087
+                                } else {
4088
+                                    echo $this->block_element( array( $new_key => $new_value ),$save );
4089
+                                }
4090
+                            }
4091
+
4092
+                            echo $new_args['element']=='BlocksProps' ? '} ),' : "},";// end attributes
4093
+
4094
+                            // get the content
4095
+                            $first_item = 0;
4096
+                            foreach ( $new_args as $new_key => $new_value ) {
4097
+                                if ( $new_key === 'content' || $new_key === 'if_content' || is_array( $new_value ) ) {
4098
+
4099
+                                    if ( $new_key === 'content' ) {
4100
+                                        echo "'" . $this->block_props_replace( wp_slash( $new_value ) ) . "'";
4101
+                                    }else if ( $new_key === 'if_content' ) {
4102
+                                        echo  $this->block_props_replace(  $new_value  );
4103
+                                    }
4104
+
4105
+                                    if ( is_array( $new_value ) ) {
4106
+
4107
+                                        if ( isset( $new_value['element_require'] ) ) {
4108
+                                            echo str_replace( array(
4109
+                                                    "'+",
4110
+                                                    "+'"
4111
+                                                ), '', $this->block_props_replace( $new_value['element_require'] ) ) . " &&  ";
4112
+                                            unset( $new_value['element_require'] );
4113
+                                        }
4114
+
4115
+                                        if ( isset( $new_value['element_repeat'] ) ) {
4116
+                                            $x = 1;
4117
+                                            while ( $x <= absint( $new_value['element_repeat'] ) ) {
4118
+                                                $this->block_element( array( '' => $new_value ),$save );
4119
+                                                $x ++;
4120
+                                            }
4121
+                                        } else {
4122
+                                            $this->block_element( array( '' => $new_value ),$save );
4123
+                                        }
4124
+                                    }
4125
+                                    $first_item ++;
4126
+                                }
4127
+                            }
4128
+
4129
+                            if($new_args['element']=='innerBlocksProps' || $new_args['element']=='xBlocksProps'){
4130
+                                echo "))";// end content
4131
+                            }else{
4132
+                                echo ")";// end content
4133
+                            }
4134
+
4135
+
4136
+                            echo ", \n";
4137
+
4138
+                        }
4139
+                    } else {
4140
+
4141
+                        if ( substr( $element, 0, 3 ) === "if_" ) {
4142
+                            $extra = '';
4143
+                            if( strpos($new_args, '[%WrapClass%]') !== false ){
4144
+                                $new_args = str_replace('[%WrapClass%]"','" + sd_build_aui_class(props.attributes)',$new_args);
4145
+                                $new_args = str_replace('[%WrapClass%]','+ sd_build_aui_class(props.attributes)',$new_args);
4146
+                            }
4147
+                            echo str_replace( "if_", "", $element ) . ": " . $this->block_props_replace( $new_args, true ) . ",";
4148
+                        } elseif ( $element == 'style' &&  strpos($new_args, '[%WrapStyle%]') !== false ) {
4149
+                            $new_args = str_replace('[%WrapStyle%]','',$new_args);
4150
+                            echo $element . ": {..." . $this->block_props_replace( $new_args ) . " , ...sd_build_aui_styles(props.attributes) },";
4151 4151
 //                            echo $element . ": " . $this->block_props_replace( $new_args ) . ",";
4152
-						} elseif ( $element == 'style' ) {
4153
-							echo $element . ": " . $this->block_props_replace( $new_args ) . ",";
4154
-						} elseif ( ( $element == 'class' || $element == 'className'  ) &&  strpos($new_args, '[%WrapClass%]') !== false ) {
4155
-							$new_args = str_replace('[%WrapClass%]','',$new_args);
4156
-							echo $element . ": '" . $this->block_props_replace( $new_args ) . "' + sd_build_aui_class(props.attributes),";
4157
-						} elseif ( $element == 'template' && $new_args ) {
4158
-							echo $element . ": $new_args,";
4159
-						} else {
4160
-							echo $element . ": '" . $this->block_props_replace( $new_args ) . "',";
4161
-						}
4162
-
4163
-					}
4164
-				}
4165
-			}
4166
-		}
4167
-
4168
-		/**
4169
-		 * Replace block attributes placeholders with the proper naming.
4170
-		 *
4171
-		 * @param $string
4172
-		 *
4173
-		 * @return mixed
4174
-		 */
4175
-		public function block_props_replace( $string, $no_wrap = false ) {
4176
-			if ( $no_wrap ) {
4177
-				$string = str_replace( array( "[%", "%]", "%:checked]" ), array( "props.attributes.", "", "" ), $string );
4178
-			} else {
4179
-				$string = str_replace( array( "![%", "[%", "%]", "%:checked]" ), array( "'+!props.attributes.", "'+props.attributes.", "+'", "+'" ), $string );
4180
-			}
4181
-
4182
-			return $string;
4183
-		}
4184
-
4185
-		/**
4186
-		 * Outputs the content of the widget
4187
-		 *
4188
-		 * @param array $args
4189
-		 * @param array $instance
4190
-		 */
4191
-		public function widget( $args, $instance ) {
4192
-			if ( ! is_array( $args ) ) {
4193
-				$args = array();
4194
-			}
4195
-
4196
-			// Get the filtered values
4197
-			$argument_values = $this->argument_values( $instance );
4198
-			$argument_values = $this->string_to_bool( $argument_values );
4199
-			$output          = $this->output( $argument_values, $args );
4200
-
4201
-			$no_wrap = false;
4202
-			if ( isset( $argument_values['no_wrap'] ) && $argument_values['no_wrap'] ) {
4203
-				$no_wrap = true;
4204
-			}
4205
-
4206
-			ob_start();
4207
-			if ( $output && ! $no_wrap ) {
4208
-
4209
-				$class_original = $this->options['widget_ops']['classname'];
4210
-				$class = $this->options['widget_ops']['classname']." sdel-".$this->get_instance_hash();
4211
-
4212
-				// Before widget
4213
-				$before_widget = ! empty( $args['before_widget'] ) ? $args['before_widget'] : '';
4214
-				$before_widget = $before_widget ? str_replace( $class_original, $class, $before_widget ) : $before_widget;
4215
-				$before_widget = apply_filters( 'wp_super_duper_before_widget', $before_widget, $args, $instance, $this );
4216
-				$before_widget = apply_filters( 'wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this );
4217
-
4218
-				// After widget
4219
-				$after_widget = ! empty( $args['after_widget'] ) ? $args['after_widget'] : '';
4220
-				$after_widget = apply_filters( 'wp_super_duper_after_widget', $after_widget, $args, $instance, $this );
4221
-				$after_widget = apply_filters( 'wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this );
4222
-
4223
-				echo $before_widget;
4224
-				// elementor strips the widget wrapping div so we check for and add it back if needed
4225
-				if ( $this->is_elementor_widget_output() ) {
4226
-					// Filter class & attrs for elementor widget output.
4227
-					$class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
4228
-					$class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
4229
-
4230
-					$attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
4231
-					$attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this );
4232
-
4233
-					echo "<span class='" . esc_attr( $class  ) . "' " . $attrs . ">";
4234
-				}
4235
-				echo $this->output_title( $args, $instance );
4236
-				echo $output;
4237
-				if ( $this->is_elementor_widget_output() ) {
4238
-					echo "</span>";
4239
-				}
4240
-				echo $after_widget;
4241
-			} elseif ( $this->is_preview() && $output == '' ) {// if preview show a placeholder if empty
4242
-				$output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
4243
-				echo $output;
4244
-			} elseif ( $output && $no_wrap ) {
4245
-				echo $output;
4246
-			}
4247
-			$output = ob_get_clean();
4248
-
4249
-			$output = apply_filters( 'wp_super_duper_widget_output', $output, $instance, $args, $this );
4250
-
4251
-			echo $output;
4252
-		}
4253
-
4254
-		/**
4255
-		 * Tests if the current output is inside a elementor container.
4256
-		 *
4257
-		 * @return bool
4258
-		 *@since 1.0.4
4259
-		 */
4260
-		public function is_elementor_widget_output() {
4261
-			$result = false;
4262
-			if ( defined( 'ELEMENTOR_VERSION' ) && isset( $this->number ) && $this->number == 'REPLACE_TO_ID' ) {
4263
-				$result = true;
4264
-			}
4265
-
4266
-			return $result;
4267
-		}
4268
-
4269
-		/**
4270
-		 * Tests if the current output is inside a elementor preview.
4271
-		 *
4272
-		 * @return bool
4273
-		 *@since 1.0.4
4274
-		 */
4275
-		public function is_elementor_preview() {
4276
-			$result = false;
4277
-			if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
4278
-				$result = true;
4279
-			}
4280
-
4281
-			return $result;
4282
-		}
4283
-
4284
-		/**
4285
-		 * Tests if the current output is inside a Divi preview.
4286
-		 *
4287
-		 * @return bool
4288
-		 *@since 1.0.6
4289
-		 */
4290
-		public function is_divi_preview() {
4291
-			$result = false;
4292
-			if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
4293
-				$result = true;
4294
-			}
4295
-
4296
-			return $result;
4297
-		}
4298
-
4299
-		/**
4300
-		 * Tests if the current output is inside a Beaver builder preview.
4301
-		 *
4302
-		 * @return bool
4303
-		 *@since 1.0.6
4304
-		 */
4305
-		public function is_beaver_preview() {
4306
-			$result = false;
4307
-			if ( isset( $_REQUEST['fl_builder'] ) ) {
4308
-				$result = true;
4309
-			}
4310
-
4311
-			return $result;
4312
-		}
4313
-
4314
-		/**
4315
-		 * Tests if the current output is inside a siteorigin builder preview.
4316
-		 *
4317
-		 * @return bool
4318
-		 *@since 1.0.6
4319
-		 */
4320
-		public function is_siteorigin_preview() {
4321
-			$result = false;
4322
-			if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
4323
-				$result = true;
4324
-			}
4325
-
4326
-			return $result;
4327
-		}
4328
-
4329
-		/**
4330
-		 * Tests if the current output is inside a cornerstone builder preview.
4331
-		 *
4332
-		 * @return bool
4333
-		 *@since 1.0.8
4334
-		 */
4335
-		public function is_cornerstone_preview() {
4336
-			$result = false;
4337
-			if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
4338
-				$result = true;
4339
-			}
4340
-
4341
-			return $result;
4342
-		}
4343
-
4344
-		/**
4345
-		 * Tests if the current output is inside a fusion builder preview.
4346
-		 *
4347
-		 * @return bool
4348
-		 *@since 1.1.0
4349
-		 */
4350
-		public function is_fusion_preview() {
4351
-			$result = false;
4352
-			if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
4353
-				$result = true;
4354
-			}
4355
-
4356
-			return $result;
4357
-		}
4358
-
4359
-		/**
4360
-		 * Tests if the current output is inside a Oxygen builder preview.
4361
-		 *
4362
-		 * @return bool
4363
-		 *@since 1.0.18
4364
-		 */
4365
-		public function is_oxygen_preview() {
4366
-			$result = false;
4367
-			if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
4368
-				$result = true;
4369
-			}
4370
-
4371
-			return $result;
4372
-		}
4373
-
4374
-		/**
4375
-		 * Check for Kallyas theme Zion builder preview.
4376
-		 *
4377
-		 * @since 1.1.22
4378
-		 *
4379
-		 * @return bool True when preview page otherwise false.
4380
-		 */
4381
-		public function is_kallyas_zion_preview() {
4382
-			$result = false;
4383
-
4384
-			if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) {
4385
-				$result = true;
4386
-			}
4387
-
4388
-			return $result;
4389
-		}
4390
-
4391
-		/**
4392
-		 * Check for Bricks theme builder preview.
4393
-		 *
4394
-		 * @since 1.1.31
4395
-		 *
4396
-		 * @return bool True when preview page otherwise false.
4397
-		 */
4398
-		public function is_bricks_preview() {
4399
-			$result = false;
4400
-
4401
-			if ( function_exists( 'bricks_is_builder' ) && ( bricks_is_builder() || bricks_is_builder_call() ) ) {
4402
-				$result = true;
4403
-			}
4404
-
4405
-			return $result;
4406
-		}
4407
-
4408
-		/**
4409
-		 * General function to check if we are in a preview situation.
4410
-		 *
4411
-		 * @return bool
4412
-		 *@since 1.0.6
4413
-		 */
4414
-		public function is_preview() {
4415
-			$preview = false;
4416
-			if ( $this->is_divi_preview() ) {
4417
-				$preview = true;
4418
-			} elseif ( $this->is_elementor_preview() ) {
4419
-				$preview = true;
4420
-			} elseif ( $this->is_beaver_preview() ) {
4421
-				$preview = true;
4422
-			} elseif ( $this->is_siteorigin_preview() ) {
4423
-				$preview = true;
4424
-			} elseif ( $this->is_cornerstone_preview() ) {
4425
-				$preview = true;
4426
-			} elseif ( $this->is_fusion_preview() ) {
4427
-				$preview = true;
4428
-			} elseif ( $this->is_oxygen_preview() ) {
4429
-				$preview = true;
4430
-			} elseif( $this->is_kallyas_zion_preview() ) {
4431
-				$preview = true;
4432
-			} elseif( $this->is_block_content_call() ) {
4433
-				$preview = true;
4434
-			} elseif( $this->is_bricks_preview() ) {
4435
-				$preview = true;
4436
-			}
4437
-
4438
-			return $preview;
4439
-		}
4440
-
4441
-		/**
4442
-		 * Output the super title.
4443
-		 *
4444
-		 * @param $args
4445
-		 * @param array $instance
4446
-		 *
4447
-		 * @return string
4448
-		 */
4449
-		public function output_title( $args, $instance = array() ) {
4450
-			$output = '';
4451
-			if ( ! empty( $instance['title'] ) ) {
4452
-				/** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */
4453
-				$title  = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base );
4454
-
4455
-				if ( empty( $instance['widget_title_tag'] ) ) {
4456
-					if ( ! isset( $args['before_title'] ) ) {
4457
-						$args['before_title'] = '';
4458
-					}
4459
-
4460
-					if ( ! isset( $args['after_title'] ) ) {
4461
-						$args['after_title'] = '';
4462
-					}
4463
-
4464
-					$output = $args['before_title'] . $title . $args['after_title'];
4465
-				} else {
4466
-					$title_tag = esc_attr( $instance['widget_title_tag'] );
4467
-
4468
-					// classes
4469
-					$title_classes = array();
4470
-					$title_classes[] = !empty( $instance['widget_title_size_class'] ) ? sanitize_html_class( $instance['widget_title_size_class'] ) : '';
4471
-					$title_classes[] = !empty( $instance['widget_title_align_class'] ) ? sanitize_html_class( $instance['widget_title_align_class'] ) : '';
4472
-					$title_classes[] = !empty( $instance['widget_title_color_class'] ) ? "text-".sanitize_html_class( $instance['widget_title_color_class'] ) : '';
4473
-					$title_classes[] = !empty( $instance['widget_title_border_class'] ) ? sanitize_html_class( $instance['widget_title_border_class'] ) : '';
4474
-					$title_classes[] = !empty( $instance['widget_title_border_color_class'] ) ? "border-".sanitize_html_class( $instance['widget_title_border_color_class'] ) : '';
4475
-					$title_classes[] = !empty( $instance['widget_title_mt_class'] ) ? "mt-".absint( $instance['widget_title_mt_class'] ) : '';
4476
-					$title_classes[] = !empty( $instance['widget_title_mr_class'] ) ? "mr-".absint( $instance['widget_title_mr_class'] ) : '';
4477
-					$title_classes[] = !empty( $instance['widget_title_mb_class'] ) ? "mb-".absint( $instance['widget_title_mb_class'] ) : '';
4478
-					$title_classes[] = !empty( $instance['widget_title_ml_class'] ) ? "ml-".absint( $instance['widget_title_ml_class'] ) : '';
4479
-					$title_classes[] = !empty( $instance['widget_title_pt_class'] ) ? "pt-".absint( $instance['widget_title_pt_class'] ) : '';
4480
-					$title_classes[] = !empty( $instance['widget_title_pr_class'] ) ? "pr-".absint( $instance['widget_title_pr_class'] ) : '';
4481
-					$title_classes[] = !empty( $instance['widget_title_pb_class'] ) ? "pb-".absint( $instance['widget_title_pb_class'] ) : '';
4482
-					$title_classes[] = !empty( $instance['widget_title_pl_class'] ) ? "pl-".absint( $instance['widget_title_pl_class'] ) : '';
4483
-
4484
-					$class = !empty( $title_classes ) ? implode(" ",$title_classes) : '';
4485
-					$output = "<$title_tag class='$class' >$title</$title_tag>";
4486
-				}
4487
-
4488
-			}
4489
-
4490
-			return $output;
4491
-		}
4492
-
4493
-		/**
4494
-		 * Outputs the options form inputs for the widget.
4495
-		 *
4496
-		 * @param array $instance The widget options.
4497
-		 */
4498
-		public function form( $instance ) {
4499
-
4500
-			// set widget instance
4501
-			$this->instance = $instance;
4502
-
4503
-			// set it as a SD widget
4504
-			echo $this->widget_advanced_toggle();
4505
-
4506
-			echo "<p>" . esc_attr( $this->options['widget_ops']['description'] ) . "</p>";
4507
-			$arguments_raw = $this->get_arguments();
4508
-
4509
-			if ( is_array( $arguments_raw ) ) {
4510
-
4511
-				$arguments = $this->group_arguments( $arguments_raw );
4512
-
4513
-				// Do we have sections?
4514
-				$has_sections = $arguments == $arguments_raw ? false : true;
4515
-
4516
-
4517
-				if ( $has_sections ) {
4518
-					$panel_count = 0;
4519
-					foreach ( $arguments as $key => $args ) {
4520
-
4521
-						?>
4152
+                        } elseif ( $element == 'style' ) {
4153
+                            echo $element . ": " . $this->block_props_replace( $new_args ) . ",";
4154
+                        } elseif ( ( $element == 'class' || $element == 'className'  ) &&  strpos($new_args, '[%WrapClass%]') !== false ) {
4155
+                            $new_args = str_replace('[%WrapClass%]','',$new_args);
4156
+                            echo $element . ": '" . $this->block_props_replace( $new_args ) . "' + sd_build_aui_class(props.attributes),";
4157
+                        } elseif ( $element == 'template' && $new_args ) {
4158
+                            echo $element . ": $new_args,";
4159
+                        } else {
4160
+                            echo $element . ": '" . $this->block_props_replace( $new_args ) . "',";
4161
+                        }
4162
+
4163
+                    }
4164
+                }
4165
+            }
4166
+        }
4167
+
4168
+        /**
4169
+         * Replace block attributes placeholders with the proper naming.
4170
+         *
4171
+         * @param $string
4172
+         *
4173
+         * @return mixed
4174
+         */
4175
+        public function block_props_replace( $string, $no_wrap = false ) {
4176
+            if ( $no_wrap ) {
4177
+                $string = str_replace( array( "[%", "%]", "%:checked]" ), array( "props.attributes.", "", "" ), $string );
4178
+            } else {
4179
+                $string = str_replace( array( "![%", "[%", "%]", "%:checked]" ), array( "'+!props.attributes.", "'+props.attributes.", "+'", "+'" ), $string );
4180
+            }
4181
+
4182
+            return $string;
4183
+        }
4184
+
4185
+        /**
4186
+         * Outputs the content of the widget
4187
+         *
4188
+         * @param array $args
4189
+         * @param array $instance
4190
+         */
4191
+        public function widget( $args, $instance ) {
4192
+            if ( ! is_array( $args ) ) {
4193
+                $args = array();
4194
+            }
4195
+
4196
+            // Get the filtered values
4197
+            $argument_values = $this->argument_values( $instance );
4198
+            $argument_values = $this->string_to_bool( $argument_values );
4199
+            $output          = $this->output( $argument_values, $args );
4200
+
4201
+            $no_wrap = false;
4202
+            if ( isset( $argument_values['no_wrap'] ) && $argument_values['no_wrap'] ) {
4203
+                $no_wrap = true;
4204
+            }
4205
+
4206
+            ob_start();
4207
+            if ( $output && ! $no_wrap ) {
4208
+
4209
+                $class_original = $this->options['widget_ops']['classname'];
4210
+                $class = $this->options['widget_ops']['classname']." sdel-".$this->get_instance_hash();
4211
+
4212
+                // Before widget
4213
+                $before_widget = ! empty( $args['before_widget'] ) ? $args['before_widget'] : '';
4214
+                $before_widget = $before_widget ? str_replace( $class_original, $class, $before_widget ) : $before_widget;
4215
+                $before_widget = apply_filters( 'wp_super_duper_before_widget', $before_widget, $args, $instance, $this );
4216
+                $before_widget = apply_filters( 'wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this );
4217
+
4218
+                // After widget
4219
+                $after_widget = ! empty( $args['after_widget'] ) ? $args['after_widget'] : '';
4220
+                $after_widget = apply_filters( 'wp_super_duper_after_widget', $after_widget, $args, $instance, $this );
4221
+                $after_widget = apply_filters( 'wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this );
4222
+
4223
+                echo $before_widget;
4224
+                // elementor strips the widget wrapping div so we check for and add it back if needed
4225
+                if ( $this->is_elementor_widget_output() ) {
4226
+                    // Filter class & attrs for elementor widget output.
4227
+                    $class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
4228
+                    $class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
4229
+
4230
+                    $attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
4231
+                    $attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this );
4232
+
4233
+                    echo "<span class='" . esc_attr( $class  ) . "' " . $attrs . ">";
4234
+                }
4235
+                echo $this->output_title( $args, $instance );
4236
+                echo $output;
4237
+                if ( $this->is_elementor_widget_output() ) {
4238
+                    echo "</span>";
4239
+                }
4240
+                echo $after_widget;
4241
+            } elseif ( $this->is_preview() && $output == '' ) {// if preview show a placeholder if empty
4242
+                $output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
4243
+                echo $output;
4244
+            } elseif ( $output && $no_wrap ) {
4245
+                echo $output;
4246
+            }
4247
+            $output = ob_get_clean();
4248
+
4249
+            $output = apply_filters( 'wp_super_duper_widget_output', $output, $instance, $args, $this );
4250
+
4251
+            echo $output;
4252
+        }
4253
+
4254
+        /**
4255
+         * Tests if the current output is inside a elementor container.
4256
+         *
4257
+         * @return bool
4258
+         *@since 1.0.4
4259
+         */
4260
+        public function is_elementor_widget_output() {
4261
+            $result = false;
4262
+            if ( defined( 'ELEMENTOR_VERSION' ) && isset( $this->number ) && $this->number == 'REPLACE_TO_ID' ) {
4263
+                $result = true;
4264
+            }
4265
+
4266
+            return $result;
4267
+        }
4268
+
4269
+        /**
4270
+         * Tests if the current output is inside a elementor preview.
4271
+         *
4272
+         * @return bool
4273
+         *@since 1.0.4
4274
+         */
4275
+        public function is_elementor_preview() {
4276
+            $result = false;
4277
+            if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
4278
+                $result = true;
4279
+            }
4280
+
4281
+            return $result;
4282
+        }
4283
+
4284
+        /**
4285
+         * Tests if the current output is inside a Divi preview.
4286
+         *
4287
+         * @return bool
4288
+         *@since 1.0.6
4289
+         */
4290
+        public function is_divi_preview() {
4291
+            $result = false;
4292
+            if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
4293
+                $result = true;
4294
+            }
4295
+
4296
+            return $result;
4297
+        }
4298
+
4299
+        /**
4300
+         * Tests if the current output is inside a Beaver builder preview.
4301
+         *
4302
+         * @return bool
4303
+         *@since 1.0.6
4304
+         */
4305
+        public function is_beaver_preview() {
4306
+            $result = false;
4307
+            if ( isset( $_REQUEST['fl_builder'] ) ) {
4308
+                $result = true;
4309
+            }
4310
+
4311
+            return $result;
4312
+        }
4313
+
4314
+        /**
4315
+         * Tests if the current output is inside a siteorigin builder preview.
4316
+         *
4317
+         * @return bool
4318
+         *@since 1.0.6
4319
+         */
4320
+        public function is_siteorigin_preview() {
4321
+            $result = false;
4322
+            if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
4323
+                $result = true;
4324
+            }
4325
+
4326
+            return $result;
4327
+        }
4328
+
4329
+        /**
4330
+         * Tests if the current output is inside a cornerstone builder preview.
4331
+         *
4332
+         * @return bool
4333
+         *@since 1.0.8
4334
+         */
4335
+        public function is_cornerstone_preview() {
4336
+            $result = false;
4337
+            if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
4338
+                $result = true;
4339
+            }
4340
+
4341
+            return $result;
4342
+        }
4343
+
4344
+        /**
4345
+         * Tests if the current output is inside a fusion builder preview.
4346
+         *
4347
+         * @return bool
4348
+         *@since 1.1.0
4349
+         */
4350
+        public function is_fusion_preview() {
4351
+            $result = false;
4352
+            if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
4353
+                $result = true;
4354
+            }
4355
+
4356
+            return $result;
4357
+        }
4358
+
4359
+        /**
4360
+         * Tests if the current output is inside a Oxygen builder preview.
4361
+         *
4362
+         * @return bool
4363
+         *@since 1.0.18
4364
+         */
4365
+        public function is_oxygen_preview() {
4366
+            $result = false;
4367
+            if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
4368
+                $result = true;
4369
+            }
4370
+
4371
+            return $result;
4372
+        }
4373
+
4374
+        /**
4375
+         * Check for Kallyas theme Zion builder preview.
4376
+         *
4377
+         * @since 1.1.22
4378
+         *
4379
+         * @return bool True when preview page otherwise false.
4380
+         */
4381
+        public function is_kallyas_zion_preview() {
4382
+            $result = false;
4383
+
4384
+            if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) {
4385
+                $result = true;
4386
+            }
4387
+
4388
+            return $result;
4389
+        }
4390
+
4391
+        /**
4392
+         * Check for Bricks theme builder preview.
4393
+         *
4394
+         * @since 1.1.31
4395
+         *
4396
+         * @return bool True when preview page otherwise false.
4397
+         */
4398
+        public function is_bricks_preview() {
4399
+            $result = false;
4400
+
4401
+            if ( function_exists( 'bricks_is_builder' ) && ( bricks_is_builder() || bricks_is_builder_call() ) ) {
4402
+                $result = true;
4403
+            }
4404
+
4405
+            return $result;
4406
+        }
4407
+
4408
+        /**
4409
+         * General function to check if we are in a preview situation.
4410
+         *
4411
+         * @return bool
4412
+         *@since 1.0.6
4413
+         */
4414
+        public function is_preview() {
4415
+            $preview = false;
4416
+            if ( $this->is_divi_preview() ) {
4417
+                $preview = true;
4418
+            } elseif ( $this->is_elementor_preview() ) {
4419
+                $preview = true;
4420
+            } elseif ( $this->is_beaver_preview() ) {
4421
+                $preview = true;
4422
+            } elseif ( $this->is_siteorigin_preview() ) {
4423
+                $preview = true;
4424
+            } elseif ( $this->is_cornerstone_preview() ) {
4425
+                $preview = true;
4426
+            } elseif ( $this->is_fusion_preview() ) {
4427
+                $preview = true;
4428
+            } elseif ( $this->is_oxygen_preview() ) {
4429
+                $preview = true;
4430
+            } elseif( $this->is_kallyas_zion_preview() ) {
4431
+                $preview = true;
4432
+            } elseif( $this->is_block_content_call() ) {
4433
+                $preview = true;
4434
+            } elseif( $this->is_bricks_preview() ) {
4435
+                $preview = true;
4436
+            }
4437
+
4438
+            return $preview;
4439
+        }
4440
+
4441
+        /**
4442
+         * Output the super title.
4443
+         *
4444
+         * @param $args
4445
+         * @param array $instance
4446
+         *
4447
+         * @return string
4448
+         */
4449
+        public function output_title( $args, $instance = array() ) {
4450
+            $output = '';
4451
+            if ( ! empty( $instance['title'] ) ) {
4452
+                /** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */
4453
+                $title  = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base );
4454
+
4455
+                if ( empty( $instance['widget_title_tag'] ) ) {
4456
+                    if ( ! isset( $args['before_title'] ) ) {
4457
+                        $args['before_title'] = '';
4458
+                    }
4459
+
4460
+                    if ( ! isset( $args['after_title'] ) ) {
4461
+                        $args['after_title'] = '';
4462
+                    }
4463
+
4464
+                    $output = $args['before_title'] . $title . $args['after_title'];
4465
+                } else {
4466
+                    $title_tag = esc_attr( $instance['widget_title_tag'] );
4467
+
4468
+                    // classes
4469
+                    $title_classes = array();
4470
+                    $title_classes[] = !empty( $instance['widget_title_size_class'] ) ? sanitize_html_class( $instance['widget_title_size_class'] ) : '';
4471
+                    $title_classes[] = !empty( $instance['widget_title_align_class'] ) ? sanitize_html_class( $instance['widget_title_align_class'] ) : '';
4472
+                    $title_classes[] = !empty( $instance['widget_title_color_class'] ) ? "text-".sanitize_html_class( $instance['widget_title_color_class'] ) : '';
4473
+                    $title_classes[] = !empty( $instance['widget_title_border_class'] ) ? sanitize_html_class( $instance['widget_title_border_class'] ) : '';
4474
+                    $title_classes[] = !empty( $instance['widget_title_border_color_class'] ) ? "border-".sanitize_html_class( $instance['widget_title_border_color_class'] ) : '';
4475
+                    $title_classes[] = !empty( $instance['widget_title_mt_class'] ) ? "mt-".absint( $instance['widget_title_mt_class'] ) : '';
4476
+                    $title_classes[] = !empty( $instance['widget_title_mr_class'] ) ? "mr-".absint( $instance['widget_title_mr_class'] ) : '';
4477
+                    $title_classes[] = !empty( $instance['widget_title_mb_class'] ) ? "mb-".absint( $instance['widget_title_mb_class'] ) : '';
4478
+                    $title_classes[] = !empty( $instance['widget_title_ml_class'] ) ? "ml-".absint( $instance['widget_title_ml_class'] ) : '';
4479
+                    $title_classes[] = !empty( $instance['widget_title_pt_class'] ) ? "pt-".absint( $instance['widget_title_pt_class'] ) : '';
4480
+                    $title_classes[] = !empty( $instance['widget_title_pr_class'] ) ? "pr-".absint( $instance['widget_title_pr_class'] ) : '';
4481
+                    $title_classes[] = !empty( $instance['widget_title_pb_class'] ) ? "pb-".absint( $instance['widget_title_pb_class'] ) : '';
4482
+                    $title_classes[] = !empty( $instance['widget_title_pl_class'] ) ? "pl-".absint( $instance['widget_title_pl_class'] ) : '';
4483
+
4484
+                    $class = !empty( $title_classes ) ? implode(" ",$title_classes) : '';
4485
+                    $output = "<$title_tag class='$class' >$title</$title_tag>";
4486
+                }
4487
+
4488
+            }
4489
+
4490
+            return $output;
4491
+        }
4492
+
4493
+        /**
4494
+         * Outputs the options form inputs for the widget.
4495
+         *
4496
+         * @param array $instance The widget options.
4497
+         */
4498
+        public function form( $instance ) {
4499
+
4500
+            // set widget instance
4501
+            $this->instance = $instance;
4502
+
4503
+            // set it as a SD widget
4504
+            echo $this->widget_advanced_toggle();
4505
+
4506
+            echo "<p>" . esc_attr( $this->options['widget_ops']['description'] ) . "</p>";
4507
+            $arguments_raw = $this->get_arguments();
4508
+
4509
+            if ( is_array( $arguments_raw ) ) {
4510
+
4511
+                $arguments = $this->group_arguments( $arguments_raw );
4512
+
4513
+                // Do we have sections?
4514
+                $has_sections = $arguments == $arguments_raw ? false : true;
4515
+
4516
+
4517
+                if ( $has_sections ) {
4518
+                    $panel_count = 0;
4519
+                    foreach ( $arguments as $key => $args ) {
4520
+
4521
+                        ?>
4522 4522
 						<script>
4523 4523
 							//							jQuery(this).find("i").toggleClass("fas fa-chevron-up fas fa-chevron-down");jQuery(this).next().toggle();
4524 4524
 						</script>
4525 4525
 						<?php
4526 4526
 
4527
-						$hide       = $panel_count ? ' style="display:none;" ' : '';
4528
-						$icon_class = $panel_count ? 'fas fa-chevron-up' : 'fas fa-chevron-down';
4529
-						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>";
4530
-						echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes( $key ) . "' $hide>";
4527
+                        $hide       = $panel_count ? ' style="display:none;" ' : '';
4528
+                        $icon_class = $panel_count ? 'fas fa-chevron-up' : 'fas fa-chevron-down';
4529
+                        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>";
4530
+                        echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes( $key ) . "' $hide>";
4531 4531
 
4532
-						foreach ( $args as $k => $a ) {
4532
+                        foreach ( $args as $k => $a ) {
4533 4533
 
4534
-							$this->widget_inputs_row_start($k, $a);
4535
-							$this->widget_inputs( $a, $instance );
4536
-							$this->widget_inputs_row_end($k, $a);
4534
+                            $this->widget_inputs_row_start($k, $a);
4535
+                            $this->widget_inputs( $a, $instance );
4536
+                            $this->widget_inputs_row_end($k, $a);
4537 4537
 
4538
-						}
4538
+                        }
4539 4539
 
4540
-						echo "</div>";
4540
+                        echo "</div>";
4541 4541
 
4542
-						$panel_count ++;
4542
+                        $panel_count ++;
4543 4543
 
4544
-					}
4545
-				} else {
4546
-					foreach ( $arguments as $key => $args ) {
4547
-						$this->widget_inputs_row_start($key, $args);
4548
-						$this->widget_inputs( $args, $instance );
4549
-						$this->widget_inputs_row_end($key, $args);
4550
-					}
4551
-				}
4544
+                    }
4545
+                } else {
4546
+                    foreach ( $arguments as $key => $args ) {
4547
+                        $this->widget_inputs_row_start($key, $args);
4548
+                        $this->widget_inputs( $args, $instance );
4549
+                        $this->widget_inputs_row_end($key, $args);
4550
+                    }
4551
+                }
4552 4552
 
4553
-			}
4554
-		}
4553
+            }
4554
+        }
4555 4555
 
4556
-		public function widget_inputs_row_start( $key, $args ) {
4557
-			if ( ! empty( $args['row'] ) ) {
4558
-				// Maybe open
4559
-				if ( ! empty( $args['row']['open'] ) ) {
4560
-					?>
4556
+        public function widget_inputs_row_start( $key, $args ) {
4557
+            if ( ! empty( $args['row'] ) ) {
4558
+                // Maybe open
4559
+                if ( ! empty( $args['row']['open'] ) ) {
4560
+                    ?>
4561 4561
 					<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'] ) : '' ); ?>'>
4562 4562
 					<?php if ( ! empty( $args['row']['title'] ) ) { ?>
4563 4563
 					<?php
4564
-						if ( isset( $args['row']['icon'] ) ) {
4565
-							$args['row']['icon'] = '';
4566
-						}
4567
-
4568
-						if ( ! isset( $args['row']['device_type'] ) && isset( $args['device_type'] ) ) {
4569
-							$args['row']['device_type'] = $args['device_type'];
4570
-						}
4571
-					?>
4564
+                        if ( isset( $args['row']['icon'] ) ) {
4565
+                            $args['row']['icon'] = '';
4566
+                        }
4567
+
4568
+                        if ( ! isset( $args['row']['device_type'] ) && isset( $args['device_type'] ) ) {
4569
+                            $args['row']['device_type'] = $args['device_type'];
4570
+                        }
4571
+                    ?>
4572 4572
 					<label class="mb-0"><?php echo $this->widget_field_title( $args['row'] ); ?><?php echo $this->widget_field_desc( $args['row'] ); ?></label>
4573 4573
 					<?php } ?>
4574 4574
 					<div class='row<?php echo ( ! empty( $args['row']['class'] ) ? ' ' . esc_attr( $args['row']['class'] ) : '' ); ?>'>
4575 4575
 					<div class='col pr-2'>
4576 4576
 					<?php
4577
-				} else if ( ! empty( $args['row']['close'] ) ) {
4578
-					echo "<div class='col pl-0 ps-0'>";
4579
-				} else {
4580
-					echo "<div class='col pl-0 ps-0 pr-2 pe-2'>";
4581
-				}
4582
-			}
4583
-		}
4584
-
4585
-		public function widget_inputs_row_end( $key, $args ) {
4586
-			if ( ! empty( $args['row'] ) ) {
4587
-				// Maybe close
4588
-				if ( ! empty( $args['row']['close'] ) ) {
4589
-					echo "</div></div>";
4590
-				}
4591
-				echo "</div>";
4592
-			}
4593
-		}
4594
-
4595
-		/**
4596
-		 * Get the hidden input that when added makes the advanced button show on widget settings.
4597
-		 *
4598
-		 * @return string
4599
-		 */
4600
-		public function widget_advanced_toggle() {
4601
-
4602
-			$output = '';
4603
-			if ( $this->block_show_advanced() ) {
4604
-				$val = 1;
4605
-			} else {
4606
-				$val = 0;
4607
-			}
4608
-
4609
-			$output .= "<input type='hidden'  class='sd-show-advanced' value='$val' />";
4610
-
4611
-			return $output;
4612
-		}
4613
-
4614
-		/**
4615
-		 * Convert require element.
4616
-		 *
4617
-		 * @param string $input Input element.
4618
-		 *
4619
-		 * @return string $output
4620
-		 *@since 1.0.0
4621
-		 *
4622
-		 */
4623
-		public function convert_element_require( $input ) {
4624
-			$input = str_replace( "'", '"', $input );// we only want double quotes
4625
-
4626
-			$output = esc_attr( str_replace( array( "[%", "%]", "%:checked]" ), array(
4627
-				"jQuery(form).find('[data-argument=\"",
4628
-				"\"]').find('input,select,textarea').val()",
4629
-				"\"]').find('input:checked').val()"
4630
-			), $input ) );
4631
-
4632
-			return $output;
4633
-		}
4634
-
4635
-		/**
4636
-		 * Builds the inputs for the widget options.
4637
-		 *
4638
-		 * @param $args
4639
-		 * @param $instance
4640
-		 */
4641
-		public function widget_inputs( $args, $instance ) {
4642
-
4643
-			$class             = "";
4644
-			$element_require   = "";
4645
-			$custom_attributes = "";
4646
-
4647
-			// get value
4648
-			if ( isset( $instance[ $args['name'] ] ) ) {
4649
-				$value = $instance[ $args['name'] ];
4650
-			} elseif ( ! isset( $instance[ $args['name'] ] ) && ! empty( $args['default'] ) ) {
4651
-				$value = is_array( $args['default'] ) ? array_map( "esc_html", $args['default'] ) : esc_html( $args['default'] );
4652
-			} else {
4653
-				$value = '';
4654
-			}
4655
-
4656
-			// get placeholder
4657
-			if ( ! empty( $args['placeholder'] ) ) {
4658
-				$placeholder = "placeholder='" . esc_html( $args['placeholder'] ) . "'";
4659
-			} else {
4660
-				$placeholder = '';
4661
-			}
4662
-
4663
-			// get if advanced
4664
-			if ( isset( $args['advanced'] ) && $args['advanced'] ) {
4665
-				$class .= " sd-advanced-setting ";
4666
-			}
4667
-
4668
-			// element_require
4669
-			if ( isset( $args['element_require'] ) && $args['element_require'] ) {
4670
-				$element_require = $args['element_require'];
4671
-			}
4672
-
4673
-			// custom_attributes
4674
-			if ( isset( $args['custom_attributes'] ) && $args['custom_attributes'] ) {
4675
-				$custom_attributes = $this->array_to_attributes( $args['custom_attributes'], true );
4676
-			}
4677
-
4678
-			// before wrapper
4679
-			?>
4577
+                } else if ( ! empty( $args['row']['close'] ) ) {
4578
+                    echo "<div class='col pl-0 ps-0'>";
4579
+                } else {
4580
+                    echo "<div class='col pl-0 ps-0 pr-2 pe-2'>";
4581
+                }
4582
+            }
4583
+        }
4584
+
4585
+        public function widget_inputs_row_end( $key, $args ) {
4586
+            if ( ! empty( $args['row'] ) ) {
4587
+                // Maybe close
4588
+                if ( ! empty( $args['row']['close'] ) ) {
4589
+                    echo "</div></div>";
4590
+                }
4591
+                echo "</div>";
4592
+            }
4593
+        }
4594
+
4595
+        /**
4596
+         * Get the hidden input that when added makes the advanced button show on widget settings.
4597
+         *
4598
+         * @return string
4599
+         */
4600
+        public function widget_advanced_toggle() {
4601
+
4602
+            $output = '';
4603
+            if ( $this->block_show_advanced() ) {
4604
+                $val = 1;
4605
+            } else {
4606
+                $val = 0;
4607
+            }
4608
+
4609
+            $output .= "<input type='hidden'  class='sd-show-advanced' value='$val' />";
4610
+
4611
+            return $output;
4612
+        }
4613
+
4614
+        /**
4615
+         * Convert require element.
4616
+         *
4617
+         * @param string $input Input element.
4618
+         *
4619
+         * @return string $output
4620
+         *@since 1.0.0
4621
+         *
4622
+         */
4623
+        public function convert_element_require( $input ) {
4624
+            $input = str_replace( "'", '"', $input );// we only want double quotes
4625
+
4626
+            $output = esc_attr( str_replace( array( "[%", "%]", "%:checked]" ), array(
4627
+                "jQuery(form).find('[data-argument=\"",
4628
+                "\"]').find('input,select,textarea').val()",
4629
+                "\"]').find('input:checked').val()"
4630
+            ), $input ) );
4631
+
4632
+            return $output;
4633
+        }
4634
+
4635
+        /**
4636
+         * Builds the inputs for the widget options.
4637
+         *
4638
+         * @param $args
4639
+         * @param $instance
4640
+         */
4641
+        public function widget_inputs( $args, $instance ) {
4642
+
4643
+            $class             = "";
4644
+            $element_require   = "";
4645
+            $custom_attributes = "";
4646
+
4647
+            // get value
4648
+            if ( isset( $instance[ $args['name'] ] ) ) {
4649
+                $value = $instance[ $args['name'] ];
4650
+            } elseif ( ! isset( $instance[ $args['name'] ] ) && ! empty( $args['default'] ) ) {
4651
+                $value = is_array( $args['default'] ) ? array_map( "esc_html", $args['default'] ) : esc_html( $args['default'] );
4652
+            } else {
4653
+                $value = '';
4654
+            }
4655
+
4656
+            // get placeholder
4657
+            if ( ! empty( $args['placeholder'] ) ) {
4658
+                $placeholder = "placeholder='" . esc_html( $args['placeholder'] ) . "'";
4659
+            } else {
4660
+                $placeholder = '';
4661
+            }
4662
+
4663
+            // get if advanced
4664
+            if ( isset( $args['advanced'] ) && $args['advanced'] ) {
4665
+                $class .= " sd-advanced-setting ";
4666
+            }
4667
+
4668
+            // element_require
4669
+            if ( isset( $args['element_require'] ) && $args['element_require'] ) {
4670
+                $element_require = $args['element_require'];
4671
+            }
4672
+
4673
+            // custom_attributes
4674
+            if ( isset( $args['custom_attributes'] ) && $args['custom_attributes'] ) {
4675
+                $custom_attributes = $this->array_to_attributes( $args['custom_attributes'], true );
4676
+            }
4677
+
4678
+            // before wrapper
4679
+            ?>
4680 4680
 			<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 );} ?>'>
4681 4681
 			<?php
4682
-			switch ( $args['type'] ) {
4683
-				//array('text','password','number','email','tel','url','color')
4684
-				case "text":
4685
-				case "password":
4686
-				case "number":
4687
-				case "email":
4688
-				case "tel":
4689
-				case "url":
4690
-				case "color":
4691
-					?>
4682
+            switch ( $args['type'] ) {
4683
+                //array('text','password','number','email','tel','url','color')
4684
+                case "text":
4685
+                case "password":
4686
+                case "number":
4687
+                case "email":
4688
+                case "tel":
4689
+                case "url":
4690
+                case "color":
4691
+                    ?>
4692 4692
 					<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>
4693 4693
 					<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 ); ?>">
4694 4694
 					<?php
4695 4695
 
4696
-					break;
4697
-				case "select":
4698
-					$multiple = isset( $args['multiple'] ) && $args['multiple'] ? true : false;
4699
-					if ( $multiple ) {
4700
-						if ( empty( $value ) ) {
4701
-							$value = array();
4702
-						}
4703
-					}
4704
-					?>
4696
+                    break;
4697
+                case "select":
4698
+                    $multiple = isset( $args['multiple'] ) && $args['multiple'] ? true : false;
4699
+                    if ( $multiple ) {
4700
+                        if ( empty( $value ) ) {
4701
+                            $value = array();
4702
+                        }
4703
+                    }
4704
+                    ?>
4705 4705
 					<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>
4706 4706
 					<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 "[]"; } ?>"
4707 4707
 						<?php if ( $multiple ) {
4708
-							echo "multiple";
4709
-						} //@todo not implemented yet due to gutenberg not supporting it
4710
-						?>>
4708
+                            echo "multiple";
4709
+                        } //@todo not implemented yet due to gutenberg not supporting it
4710
+                        ?>>
4711 4711
 						<?php
4712 4712
 
4713
-						if ( ! empty( $args['options'] ) ) {
4714
-							foreach ( $args['options'] as $val => $label ) {
4715
-								if ( $multiple ) {
4716
-									$selected = in_array( $val, $value ) ? 'selected="selected"' : '';
4717
-								} else {
4718
-									$selected = selected( $value, $val, false );
4719
-								}
4720
-								echo "<option value='$val' " . $selected . ">$label</option>";
4721
-							}
4722
-						}
4723
-						?>
4713
+                        if ( ! empty( $args['options'] ) ) {
4714
+                            foreach ( $args['options'] as $val => $label ) {
4715
+                                if ( $multiple ) {
4716
+                                    $selected = in_array( $val, $value ) ? 'selected="selected"' : '';
4717
+                                } else {
4718
+                                    $selected = selected( $value, $val, false );
4719
+                                }
4720
+                                echo "<option value='$val' " . $selected . ">$label</option>";
4721
+                            }
4722
+                        }
4723
+                        ?>
4724 4724
 					</select>
4725 4725
 					<?php
4726
-					break;
4727
-				case "checkbox":
4728
-					?>
4726
+                    break;
4727
+                case "checkbox":
4728
+                    ?>
4729 4729
 					<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">
4730 4730
 					<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>
4731 4731
 					<?php
4732
-					break;
4733
-				case "textarea":
4734
-					?>
4732
+                    break;
4733
+                case "textarea":
4734
+                    ?>
4735 4735
 					<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>
4736 4736
 					<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>
4737 4737
 					<?php
4738 4738
 
4739
-					break;
4740
-				case "hidden":
4741
-					?>
4739
+                    break;
4740
+                case "hidden":
4741
+                    ?>
4742 4742
 					<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 ); ?>">
4743 4743
 					<?php
4744
-					break;
4745
-				default:
4746
-					echo "No input type found!"; // @todo we need to add more input types.
4747
-			}
4748
-			// after wrapper
4749
-			?></p><?php
4750
-		}
4751
-
4752
-		public function get_widget_icon($icon = 'box-top', $title = ''){
4753
-			if($icon=='box-top'){
4754
-				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>';
4755
-			}elseif($icon=='box-right'){
4756
-				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>';
4757
-			}elseif($icon=='box-bottom'){
4758
-				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>';
4759
-			}elseif($icon=='box-left'){
4760
-				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>';
4761
-			}
4762
-		}
4763
-
4764
-		/**
4765
-		 * Get the widget input description html.
4766
-		 *
4767
-		 * @param $args
4768
-		 *
4769
-		 * @return string
4770
-		 * @todo, need to make its own tooltip script
4771
-		 */
4772
-		public function widget_field_desc( $args ) {
4773
-
4774
-			$description = '';
4775
-			if ( isset( $args['desc'] ) && $args['desc'] ) {
4776
-				if ( isset( $args['desc_tip'] ) && $args['desc_tip'] ) {
4777
-					$description = $this->desc_tip( $args['desc'] );
4778
-				} else {
4779
-					$description = '<span class="description">' . wp_kses_post( $args['desc'] ) . '</span>';
4780
-				}
4781
-			}
4782
-
4783
-			return $description;
4784
-		}
4785
-
4786
-		/**
4787
-		 * Get the widget input title html.
4788
-		 *
4789
-		 * @param $args
4790
-		 *
4791
-		 * @return string
4792
-		 */
4793
-		public function widget_field_title( $args ) {
4794
-			$title = '';
4795
-
4796
-			if ( isset( $args['title'] ) && $args['title'] ) {
4797
-				if ( ! empty( $args['device_type'] ) ) {
4798
-					$args['title'] .= ' (' . $args['device_type'] . ')'; // Append device type to title.
4799
-				}
4800
-
4801
-				if ( isset( $args['icon'] ) && $args['icon'] ) {
4802
-					$title = self::get_widget_icon( $args['icon'], $args['title']  );
4803
-				} else {
4804
-					$title = esc_attr( $args['title'] );
4805
-				}
4806
-			}
4807
-
4808
-			return $title;
4809
-		}
4810
-
4811
-		/**
4812
-		 * Get the tool tip html.
4813
-		 *
4814
-		 * @param $tip
4815
-		 * @param bool $allow_html
4816
-		 *
4817
-		 * @return string
4818
-		 */
4819
-		function desc_tip( $tip, $allow_html = false ) {
4820
-			if ( $allow_html ) {
4821
-				$tip = $this->sanitize_tooltip( $tip );
4822
-			} else {
4823
-				$tip = esc_attr( $tip );
4824
-			}
4825
-
4826
-			return '<span class="gd-help-tip dashicons dashicons-editor-help" title="' . $tip . '"></span>';
4827
-		}
4828
-
4829
-		/**
4830
-		 * Sanitize a string destined to be a tooltip.
4831
-		 *
4832
-		 * @param string $var
4833
-		 *
4834
-		 * @return string
4835
-		 */
4836
-		public function sanitize_tooltip( $var ) {
4837
-			return htmlspecialchars( wp_kses( html_entity_decode( $var ), array(
4838
-				'br'     => array(),
4839
-				'em'     => array(),
4840
-				'strong' => array(),
4841
-				'small'  => array(),
4842
-				'span'   => array(),
4843
-				'ul'     => array(),
4844
-				'li'     => array(),
4845
-				'ol'     => array(),
4846
-				'p'      => array(),
4847
-			) ) );
4848
-		}
4849
-
4850
-		/**
4851
-		 * Processing widget options on save
4852
-		 *
4853
-		 * @param array $new_instance The new options
4854
-		 * @param array $old_instance The previous options
4855
-		 *
4856
-		 * @return array
4857
-		 * @todo we should add some sanitation here.
4858
-		 */
4859
-		public function update( $new_instance, $old_instance ) {
4860
-
4861
-			//save the widget
4862
-			$instance = array_merge( (array) $old_instance, (array) $new_instance );
4863
-
4864
-			// set widget instance
4865
-			$this->instance = $instance;
4866
-
4867
-			if ( empty( $this->arguments ) ) {
4868
-				$this->get_arguments();
4869
-			}
4870
-
4871
-			// check for checkboxes
4872
-			if ( ! empty( $this->arguments ) ) {
4873
-				foreach ( $this->arguments as $argument ) {
4874
-					if ( isset( $argument['type'] ) && $argument['type'] == 'checkbox' && ! isset( $new_instance[ $argument['name'] ] ) ) {
4875
-						$instance[ $argument['name'] ] = '0';
4876
-					}
4877
-				}
4878
-			}
4879
-
4880
-			return $instance;
4881
-		}
4882
-
4883
-		/**
4884
-		 * Checks if the current call is a ajax call to get the block content.
4885
-		 *
4886
-		 * This can be used in your widget to return different content as the block content.
4887
-		 *
4888
-		 * @return bool
4889
-		 *@since 1.0.3
4890
-		 */
4891
-		public function is_block_content_call() {
4892
-			$result = false;
4893
-			if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
4894
-				$result = true;
4895
-			}
4896
-
4897
-			return $result;
4898
-		}
4899
-
4900
-		/**
4901
-		 * Get an instance hash that will be unique to the type and settings.
4902
-		 *
4903
-		 * @return string
4904
-		 *@since 1.0.20
4905
-		 */
4906
-		public function get_instance_hash(){
4907
-			$instance_string = $this->base_id.serialize($this->instance);
4908
-			return hash('crc32b',$instance_string);
4909
-		}
4910
-
4911
-		/**
4912
-		 * Generate and return inline styles from CSS rules that will match the unique class of the instance.
4913
-		 *
4914
-		 * @param array $rules
4915
-		 *
4916
-		 * @return string
4917
-		 *@since 1.0.20
4918
-		 */
4919
-		public function get_instance_style($rules = array()){
4920
-			$css = '';
4921
-
4922
-			if(!empty($rules)){
4923
-				$rules = array_unique($rules);
4924
-				$instance_hash = $this->get_instance_hash();
4925
-				$css .= "<style>";
4926
-				foreach($rules as $rule){
4927
-					$css .= ".sdel-$instance_hash $rule";
4928
-				}
4929
-				$css .= "</style>";
4930
-			}
4931
-
4932
-			return $css;
4933
-		}
4934
-
4935
-		/**
4936
-		 * Encode shortcodes tags.
4937
-		 *
4938
-		 * @param string $content Content to search for shortcode tags.
4939
-		 *
4744
+                    break;
4745
+                default:
4746
+                    echo "No input type found!"; // @todo we need to add more input types.
4747
+            }
4748
+            // after wrapper
4749
+            ?></p><?php
4750
+        }
4751
+
4752
+        public function get_widget_icon($icon = 'box-top', $title = ''){
4753
+            if($icon=='box-top'){
4754
+                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>';
4755
+            }elseif($icon=='box-right'){
4756
+                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>';
4757
+            }elseif($icon=='box-bottom'){
4758
+                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>';
4759
+            }elseif($icon=='box-left'){
4760
+                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>';
4761
+            }
4762
+        }
4763
+
4764
+        /**
4765
+         * Get the widget input description html.
4766
+         *
4767
+         * @param $args
4768
+         *
4769
+         * @return string
4770
+         * @todo, need to make its own tooltip script
4771
+         */
4772
+        public function widget_field_desc( $args ) {
4773
+
4774
+            $description = '';
4775
+            if ( isset( $args['desc'] ) && $args['desc'] ) {
4776
+                if ( isset( $args['desc_tip'] ) && $args['desc_tip'] ) {
4777
+                    $description = $this->desc_tip( $args['desc'] );
4778
+                } else {
4779
+                    $description = '<span class="description">' . wp_kses_post( $args['desc'] ) . '</span>';
4780
+                }
4781
+            }
4782
+
4783
+            return $description;
4784
+        }
4785
+
4786
+        /**
4787
+         * Get the widget input title html.
4788
+         *
4789
+         * @param $args
4790
+         *
4791
+         * @return string
4792
+         */
4793
+        public function widget_field_title( $args ) {
4794
+            $title = '';
4795
+
4796
+            if ( isset( $args['title'] ) && $args['title'] ) {
4797
+                if ( ! empty( $args['device_type'] ) ) {
4798
+                    $args['title'] .= ' (' . $args['device_type'] . ')'; // Append device type to title.
4799
+                }
4800
+
4801
+                if ( isset( $args['icon'] ) && $args['icon'] ) {
4802
+                    $title = self::get_widget_icon( $args['icon'], $args['title']  );
4803
+                } else {
4804
+                    $title = esc_attr( $args['title'] );
4805
+                }
4806
+            }
4807
+
4808
+            return $title;
4809
+        }
4810
+
4811
+        /**
4812
+         * Get the tool tip html.
4813
+         *
4814
+         * @param $tip
4815
+         * @param bool $allow_html
4816
+         *
4817
+         * @return string
4818
+         */
4819
+        function desc_tip( $tip, $allow_html = false ) {
4820
+            if ( $allow_html ) {
4821
+                $tip = $this->sanitize_tooltip( $tip );
4822
+            } else {
4823
+                $tip = esc_attr( $tip );
4824
+            }
4825
+
4826
+            return '<span class="gd-help-tip dashicons dashicons-editor-help" title="' . $tip . '"></span>';
4827
+        }
4828
+
4829
+        /**
4830
+         * Sanitize a string destined to be a tooltip.
4831
+         *
4832
+         * @param string $var
4833
+         *
4834
+         * @return string
4835
+         */
4836
+        public function sanitize_tooltip( $var ) {
4837
+            return htmlspecialchars( wp_kses( html_entity_decode( $var ), array(
4838
+                'br'     => array(),
4839
+                'em'     => array(),
4840
+                'strong' => array(),
4841
+                'small'  => array(),
4842
+                'span'   => array(),
4843
+                'ul'     => array(),
4844
+                'li'     => array(),
4845
+                'ol'     => array(),
4846
+                'p'      => array(),
4847
+            ) ) );
4848
+        }
4849
+
4850
+        /**
4851
+         * Processing widget options on save
4852
+         *
4853
+         * @param array $new_instance The new options
4854
+         * @param array $old_instance The previous options
4855
+         *
4856
+         * @return array
4857
+         * @todo we should add some sanitation here.
4858
+         */
4859
+        public function update( $new_instance, $old_instance ) {
4860
+
4861
+            //save the widget
4862
+            $instance = array_merge( (array) $old_instance, (array) $new_instance );
4863
+
4864
+            // set widget instance
4865
+            $this->instance = $instance;
4866
+
4867
+            if ( empty( $this->arguments ) ) {
4868
+                $this->get_arguments();
4869
+            }
4870
+
4871
+            // check for checkboxes
4872
+            if ( ! empty( $this->arguments ) ) {
4873
+                foreach ( $this->arguments as $argument ) {
4874
+                    if ( isset( $argument['type'] ) && $argument['type'] == 'checkbox' && ! isset( $new_instance[ $argument['name'] ] ) ) {
4875
+                        $instance[ $argument['name'] ] = '0';
4876
+                    }
4877
+                }
4878
+            }
4879
+
4880
+            return $instance;
4881
+        }
4882
+
4883
+        /**
4884
+         * Checks if the current call is a ajax call to get the block content.
4885
+         *
4886
+         * This can be used in your widget to return different content as the block content.
4887
+         *
4888
+         * @return bool
4889
+         *@since 1.0.3
4890
+         */
4891
+        public function is_block_content_call() {
4892
+            $result = false;
4893
+            if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
4894
+                $result = true;
4895
+            }
4896
+
4897
+            return $result;
4898
+        }
4899
+
4900
+        /**
4901
+         * Get an instance hash that will be unique to the type and settings.
4902
+         *
4903
+         * @return string
4904
+         *@since 1.0.20
4905
+         */
4906
+        public function get_instance_hash(){
4907
+            $instance_string = $this->base_id.serialize($this->instance);
4908
+            return hash('crc32b',$instance_string);
4909
+        }
4910
+
4911
+        /**
4912
+         * Generate and return inline styles from CSS rules that will match the unique class of the instance.
4913
+         *
4914
+         * @param array $rules
4915
+         *
4916
+         * @return string
4917
+         *@since 1.0.20
4918
+         */
4919
+        public function get_instance_style($rules = array()){
4920
+            $css = '';
4921
+
4922
+            if(!empty($rules)){
4923
+                $rules = array_unique($rules);
4924
+                $instance_hash = $this->get_instance_hash();
4925
+                $css .= "<style>";
4926
+                foreach($rules as $rule){
4927
+                    $css .= ".sdel-$instance_hash $rule";
4928
+                }
4929
+                $css .= "</style>";
4930
+            }
4931
+
4932
+            return $css;
4933
+        }
4934
+
4935
+        /**
4936
+         * Encode shortcodes tags.
4937
+         *
4938
+         * @param string $content Content to search for shortcode tags.
4939
+         *
4940 4940
 *@return string Content with shortcode tags removed.
4941
-		 *@since 1.0.28
4942
-		 *
4943
-		 */
4944
-		public function encode_shortcodes( $content ) {
4945
-			// Avoids existing encoded tags.
4946
-			$trans   = array(
4947
-				'&#91;' => '&#091;',
4948
-				'&#93;' => '&#093;',
4949
-				'&amp;#91;' => '&#091;',
4950
-				'&amp;#93;' => '&#093;',
4951
-				'&lt;' => '&0lt;',
4952
-				'&gt;' => '&0gt;',
4953
-				'&amp;lt;' => '&0lt;',
4954
-				'&amp;gt;' => '&0gt;',
4955
-			);
4956
-
4957
-			$content = strtr( $content, $trans );
4958
-
4959
-			$trans   = array(
4960
-				'[' => '&#91;',
4961
-				']' => '&#93;',
4962
-				'<' => '&lt;',
4963
-				'>' => '&gt;',
4964
-				'"' => '&quot;',
4965
-				"'" => '&#39;',
4966
-			);
4967
-
4968
-			$content = strtr( $content, $trans );
4969
-
4970
-			return $content;
4971
-		}
4972
-
4973
-		/**
4974
-		 * Remove encoded shortcod tags.
4975
-		 *
4976
-		 * @param string $content Content to search for shortcode tags.
4977
-		 *
4941
+         *@since 1.0.28
4942
+         *
4943
+         */
4944
+        public function encode_shortcodes( $content ) {
4945
+            // Avoids existing encoded tags.
4946
+            $trans   = array(
4947
+                '&#91;' => '&#091;',
4948
+                '&#93;' => '&#093;',
4949
+                '&amp;#91;' => '&#091;',
4950
+                '&amp;#93;' => '&#093;',
4951
+                '&lt;' => '&0lt;',
4952
+                '&gt;' => '&0gt;',
4953
+                '&amp;lt;' => '&0lt;',
4954
+                '&amp;gt;' => '&0gt;',
4955
+            );
4956
+
4957
+            $content = strtr( $content, $trans );
4958
+
4959
+            $trans   = array(
4960
+                '[' => '&#91;',
4961
+                ']' => '&#93;',
4962
+                '<' => '&lt;',
4963
+                '>' => '&gt;',
4964
+                '"' => '&quot;',
4965
+                "'" => '&#39;',
4966
+            );
4967
+
4968
+            $content = strtr( $content, $trans );
4969
+
4970
+            return $content;
4971
+        }
4972
+
4973
+        /**
4974
+         * Remove encoded shortcod tags.
4975
+         *
4976
+         * @param string $content Content to search for shortcode tags.
4977
+         *
4978 4978
 *@return string Content with decoded shortcode tags.
4979
-		 *@since 1.0.28
4980
-		 *
4981
-		 */
4982
-		public function decode_shortcodes( $content ) {
4983
-			$trans   = array(
4984
-				'&#91;' => '[',
4985
-				'&#93;' => ']',
4986
-				'&amp;#91;' => '[',
4987
-				'&amp;#93;' => ']',
4988
-				'&lt;' => '<',
4989
-				'&gt;' => '>',
4990
-				'&amp;lt;' => '<',
4991
-				'&amp;gt;' => '>',
4992
-				'&quot;' => '"',
4993
-				'&apos;' => "'",
4994
-			);
4995
-
4996
-			$content = strtr( $content, $trans );
4997
-
4998
-			$trans   = array(
4999
-				'&#091;' => '&#91;',
5000
-				'&#093;' => '&#93;',
5001
-				'&amp;#091;' => '&#91;',
5002
-				'&amp;#093;' => '&#93;',
5003
-				'&0lt;' => '&lt;',
5004
-				'&0gt;' => '&gt;',
5005
-				'&amp;0lt;' => '&lt;',
5006
-				'&amp;0gt;' => '&gt;',
5007
-			);
5008
-
5009
-			$content = strtr( $content, $trans );
5010
-
5011
-			return $content;
5012
-		}
5013
-
5014
-		public function block_visibility_fields( $args ) {
5015
-			$value = ! empty( $args['value'] ) ? esc_attr( $args['value'] ) : '';
5016
-			$content = '<div class="bs-vc-rule-template d-none">';
5017
-				$content .= '<div class="p-3 pb-0 mb-3 border border-1 rounded-1 position-relative bs-vc-rule" data-bs-index="BSVCINDEX" >';
5018
-					$content .= '<div class="row">';
5019
-						$content .= '<div class="col-sm-12">';
5020
-							$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>';
5021
-							$content .= aui()->select(
5022
-								array(
5023
-									'id'          => 'bsvc_rule_BSVCINDEX',
5024
-									'name'        => 'bsvc_rule_BSVCINDEX',
5025
-									'label'       => __( 'Rule', 'ayecode-connect' ),
5026
-									'placeholder' => __( 'Select Rule...', 'ayecode-connect' ),
5027
-									'class'       => 'bsvc_rule form-select-sm no-select2 mw-100',
5028
-									'options'     => sd_visibility_rules_options(),
5029
-									'default'     => '',
5030
-									'value'       => '',
5031
-									'label_type'  => '',
5032
-									'select2'     => false,
5033
-									'input_group_left' => __( 'Rule:', 'ayecode-connect' ),
5034
-									'extra_attributes' => array(
5035
-										'data-minimum-results-for-search' => '-1'
5036
-									)
5037
-								)
5038
-							);
5039
-
5040
-						$content .= '</div>';
5041
-
5042
-						if ( class_exists( 'GeoDirectory' ) ) {
5043
-							$content .= '<div class="col-md-7 col-sm-12">';
5044
-
5045
-								$content .= aui()->select(
5046
-									array(
5047
-										'id'          => 'bsvc_gd_field_BSVCINDEX',
5048
-										'name'        => 'bsvc_gd_field_BSVCINDEX',
5049
-										'label'       => __( 'FIELD', 'ayecode-connect' ),
5050
-										'placeholder' => __( 'FIELD', 'ayecode-connect' ),
5051
-										'class'       => 'bsvc_gd_field form-select-sm no-select2 mw-100',
5052
-										'options'     => sd_visibility_gd_field_options(),
5053
-										'default'     => '',
5054
-										'value'       => '',
5055
-										'label_type'  => '',
5056
-										'select2'     => false,
5057
-										'element_require'  => '[%bsvc_rule_BSVCINDEX%]=="gd_field"',
5058
-										'extra_attributes' => array(
5059
-											'data-minimum-results-for-search' => '-1'
5060
-										)
5061
-									)
5062
-								);
5063
-
5064
-							$content .= '</div>';
5065
-							$content .= '<div class="col-md-5 col-sm-12">';
5066
-
5067
-								$content .= aui()->select(
5068
-									array(
5069
-										'id'          => 'bsvc_gd_field_condition_BSVCINDEX',
5070
-										'name'        => 'bsvc_gd_field_condition_BSVCINDEX',
5071
-										'label'       => __( 'CONDITION', 'ayecode-connect' ),
5072
-										'placeholder' => __( 'CONDITION', 'ayecode-connect' ),
5073
-										'class'       => 'bsvc_gd_field_condition form-select-sm no-select2 mw-100',
5074
-										'options'     => sd_visibility_field_condition_options(),
5075
-										'default'     => '',
5076
-										'value'       => '',
5077
-										'label_type'  => '',
5078
-										'select2'     => false,
5079
-										'element_require'  => '[%bsvc_rule_BSVCINDEX%]=="gd_field"',
5080
-										'extra_attributes' => array(
5081
-											'data-minimum-results-for-search' => '-1'
5082
-										)
5083
-									)
5084
-								);
5085
-
5086
-							$content .= '</div>';
5087
-							$content .= '<div class="col-sm-12">';
5088
-
5089
-								$content .= aui()->input(
5090
-									array(
5091
-										'type'            => 'text',
5092
-										'id'              => 'bsvc_gd_field_search_BSVCINDEX',
5093
-										'name'            => 'bsvc_gd_field_search_BSVCINDEX',
5094
-										'label'           => __( 'VALUE TO MATCH', 'ayecode-connect' ),
5095
-										'class'           => 'bsvc_gd_field_search form-control-sm',
5096
-										'placeholder'     => __( 'VALUE TO MATCH', 'ayecode-connect' ),
5097
-										'label_type'      => '',
5098
-										'value'           => '',
5099
-										'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")'
5100
-									)
5101
-								);
5102
-
5103
-							$content .= '</div>';
5104
-						}
5105
-
5106
-					$content .= '</div>';
5107
-
5108
-					$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>';
5109
-						$role_options = sd_user_roles_options();
5110
-
5111
-						$role_option_i = 0;
5112
-						foreach ( $role_options as $role_option_key => $role_option_name ) {
5113
-							$role_option_i++;
5114
-
5115
-							$content .= '<div class="col-sm-6">';
5116
-							$content .= aui()->input(
5117
-								array(
5118
-									'id'               => 'bsvc_user_roles_BSVCINDEX_' . $role_option_i,
5119
-									'name'             => 'bsvc_user_roles_BSVCINDEX[]',
5120
-									'type'             => 'checkbox',
5121
-									'label'            => $role_option_name,
5122
-									'label_type'       => 'hidden',
5123
-									'class'            => 'bsvc_user_roles',
5124
-									'value'            => $role_option_key,
5125
-									'switch'           => 'md',
5126
-									'no_wrap'          => true
5127
-								)
5128
-							);
5129
-							$content .= '</div>';
5130
-						}
5131
-					$content .= '</div>';
5132
-				$content .= '</div>';
5133
-			$content .= '</div>';
5134
-			$content .= '<form id="bs-vc-modal-form" class="bs-vc-modal-form">';
5135
-			$content .= '<div class="bs-vc-rule-sets"></div>';
5136
-			$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>';
5137
-			$content .= '<div class="row"><div class="col-md-6 col-sm-12">';
5138
-			$content .= aui()->select(
5139
-				array(
5140
-					'id'          => 'bsvc_output',
5141
-					'name'        => 'bsvc_output',
5142
-					'label'       => __( 'What should happen if rules met.', 'ayecode-connect' ),
5143
-					'placeholder' => __( 'Default Output', 'ayecode-connect' ),
5144
-					'class'       => 'bsvc_output form-select-sm no-select2 mw-100',
5145
-					'options'     => sd_visibility_output_options(),
5146
-					'default'     => '',
5147
-					'value'       => '',
5148
-					'label_type'  => 'top',
5149
-					'select2'     => false,
5150
-					'extra_attributes' => array(
5151
-						'data-minimum-results-for-search' => '-1'
5152
-					)
5153
-				)
5154
-			);
5155
-
5156
-			$content .= '</div><div class="col-md-6 col-sm-12">';
5157
-
5158
-			$content .= aui()->select(
5159
-				array(
5160
-					'id'              => 'bsvc_page',
5161
-					'name'            => 'bsvc_page',
5162
-					'label'           => __( 'Page Content', 'ayecode-connect' ),
5163
-					'placeholder'     => __( 'Select Page ID...', 'ayecode-connect' ),
5164
-					'class'           => 'bsvc_page form-select-sm no-select2 mw-100',
5165
-					'options'         => sd_template_page_options(),
5166
-					'default'         => '',
5167
-					'value'           => '',
5168
-					'label_type'      => 'top',
5169
-					'select2'         => false,
5170
-					'element_require' => '[%bsvc_output%]=="page"'
5171
-				)
5172
-			);
5173
-
5174
-			$content .= aui()->select(
5175
-				array(
5176
-					'id'          => 'bsvc_tmpl_part',
5177
-					'name'        => 'bsvc_tmpl_part',
5178
-					'label'       => __( 'Template Part', 'ayecode-connect' ),
5179
-					'placeholder' => __( 'Select Template Part...', 'ayecode-connect' ),
5180
-					'class'       => 'bsvc_tmpl_part form-select-sm no-select2 mw-100',
5181
-					'options'     => sd_template_part_options(),
5182
-					'default'     => '',
5183
-					'value'       => '',
5184
-					'label_type'  => 'top',
5185
-					'select2'     => false,
5186
-					'element_require'  => '[%bsvc_output%]=="template_part"',
5187
-					'extra_attributes' => array(
5188
-						'data-minimum-results-for-search' => '-1'
5189
-					)
5190
-				)
5191
-			);
5192
-
5193
-			$content .= aui()->select(
5194
-				array(
5195
-					'id'               => 'bsvc_message_type',
5196
-					'name'             => 'bsvc_message_type',
5197
-					'label'            => __( 'Custom Message Type', 'ayecode-connect' ),
5198
-					'placeholder'      => __( 'Default (none)', 'ayecode-connect' ),
5199
-					'class'            => 'bsvc_message_type form-select-sm no-select2 mw-100',
5200
-					'options'          => sd_aui_colors(),
5201
-					'default'          => '',
5202
-					'value'            => '',
5203
-					'label_type'       => 'top',
5204
-					'select2'          => false,
5205
-					'element_require'  => '[%bsvc_output%]=="message"',
5206
-					'extra_attributes' => array(
5207
-						'data-minimum-results-for-search' => '-1'
5208
-					)
5209
-				)
5210
-			);
5211
-
5212
-			$content .= '</div><div class="col-sm-12">';
5213
-
5214
-			$content .= aui()->input(
5215
-				array(
5216
-					'type'            => 'text',
5217
-					'id'              => 'bsvc_message',
5218
-					'name'            => 'bsvc_message',
5219
-					'label'           => '',
5220
-					'class'           => 'bsvc_message form-control-sm',
5221
-					'placeholder'     => __( 'CUSTOM MESSAGE TO SHOW', 'ayecode-connect' ),
5222
-					'label_type'      => '',
5223
-					'value'           => '',
5224
-					'form_group_class' => ' ',
5225
-					'element_require' => '[%bsvc_output%]=="message"',
5226
-				)
5227
-			);
5228
-
5229
-			$content .= '</div></div></form><input type="hidden" id="bsvc_raw_value" name="bsvc_raw_value" value="' . $value . '">';
5230
-
5231
-			return $content;
5232
-		}
5233
-	}
4979
+         *@since 1.0.28
4980
+         *
4981
+         */
4982
+        public function decode_shortcodes( $content ) {
4983
+            $trans   = array(
4984
+                '&#91;' => '[',
4985
+                '&#93;' => ']',
4986
+                '&amp;#91;' => '[',
4987
+                '&amp;#93;' => ']',
4988
+                '&lt;' => '<',
4989
+                '&gt;' => '>',
4990
+                '&amp;lt;' => '<',
4991
+                '&amp;gt;' => '>',
4992
+                '&quot;' => '"',
4993
+                '&apos;' => "'",
4994
+            );
4995
+
4996
+            $content = strtr( $content, $trans );
4997
+
4998
+            $trans   = array(
4999
+                '&#091;' => '&#91;',
5000
+                '&#093;' => '&#93;',
5001
+                '&amp;#091;' => '&#91;',
5002
+                '&amp;#093;' => '&#93;',
5003
+                '&0lt;' => '&lt;',
5004
+                '&0gt;' => '&gt;',
5005
+                '&amp;0lt;' => '&lt;',
5006
+                '&amp;0gt;' => '&gt;',
5007
+            );
5008
+
5009
+            $content = strtr( $content, $trans );
5010
+
5011
+            return $content;
5012
+        }
5013
+
5014
+        public function block_visibility_fields( $args ) {
5015
+            $value = ! empty( $args['value'] ) ? esc_attr( $args['value'] ) : '';
5016
+            $content = '<div class="bs-vc-rule-template d-none">';
5017
+                $content .= '<div class="p-3 pb-0 mb-3 border border-1 rounded-1 position-relative bs-vc-rule" data-bs-index="BSVCINDEX" >';
5018
+                    $content .= '<div class="row">';
5019
+                        $content .= '<div class="col-sm-12">';
5020
+                            $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>';
5021
+                            $content .= aui()->select(
5022
+                                array(
5023
+                                    'id'          => 'bsvc_rule_BSVCINDEX',
5024
+                                    'name'        => 'bsvc_rule_BSVCINDEX',
5025
+                                    'label'       => __( 'Rule', 'ayecode-connect' ),
5026
+                                    'placeholder' => __( 'Select Rule...', 'ayecode-connect' ),
5027
+                                    'class'       => 'bsvc_rule form-select-sm no-select2 mw-100',
5028
+                                    'options'     => sd_visibility_rules_options(),
5029
+                                    'default'     => '',
5030
+                                    'value'       => '',
5031
+                                    'label_type'  => '',
5032
+                                    'select2'     => false,
5033
+                                    'input_group_left' => __( 'Rule:', 'ayecode-connect' ),
5034
+                                    'extra_attributes' => array(
5035
+                                        'data-minimum-results-for-search' => '-1'
5036
+                                    )
5037
+                                )
5038
+                            );
5039
+
5040
+                        $content .= '</div>';
5041
+
5042
+                        if ( class_exists( 'GeoDirectory' ) ) {
5043
+                            $content .= '<div class="col-md-7 col-sm-12">';
5044
+
5045
+                                $content .= aui()->select(
5046
+                                    array(
5047
+                                        'id'          => 'bsvc_gd_field_BSVCINDEX',
5048
+                                        'name'        => 'bsvc_gd_field_BSVCINDEX',
5049
+                                        'label'       => __( 'FIELD', 'ayecode-connect' ),
5050
+                                        'placeholder' => __( 'FIELD', 'ayecode-connect' ),
5051
+                                        'class'       => 'bsvc_gd_field form-select-sm no-select2 mw-100',
5052
+                                        'options'     => sd_visibility_gd_field_options(),
5053
+                                        'default'     => '',
5054
+                                        'value'       => '',
5055
+                                        'label_type'  => '',
5056
+                                        'select2'     => false,
5057
+                                        'element_require'  => '[%bsvc_rule_BSVCINDEX%]=="gd_field"',
5058
+                                        'extra_attributes' => array(
5059
+                                            'data-minimum-results-for-search' => '-1'
5060
+                                        )
5061
+                                    )
5062
+                                );
5063
+
5064
+                            $content .= '</div>';
5065
+                            $content .= '<div class="col-md-5 col-sm-12">';
5066
+
5067
+                                $content .= aui()->select(
5068
+                                    array(
5069
+                                        'id'          => 'bsvc_gd_field_condition_BSVCINDEX',
5070
+                                        'name'        => 'bsvc_gd_field_condition_BSVCINDEX',
5071
+                                        'label'       => __( 'CONDITION', 'ayecode-connect' ),
5072
+                                        'placeholder' => __( 'CONDITION', 'ayecode-connect' ),
5073
+                                        'class'       => 'bsvc_gd_field_condition form-select-sm no-select2 mw-100',
5074
+                                        'options'     => sd_visibility_field_condition_options(),
5075
+                                        'default'     => '',
5076
+                                        'value'       => '',
5077
+                                        'label_type'  => '',
5078
+                                        'select2'     => false,
5079
+                                        'element_require'  => '[%bsvc_rule_BSVCINDEX%]=="gd_field"',
5080
+                                        'extra_attributes' => array(
5081
+                                            'data-minimum-results-for-search' => '-1'
5082
+                                        )
5083
+                                    )
5084
+                                );
5085
+
5086
+                            $content .= '</div>';
5087
+                            $content .= '<div class="col-sm-12">';
5088
+
5089
+                                $content .= aui()->input(
5090
+                                    array(
5091
+                                        'type'            => 'text',
5092
+                                        'id'              => 'bsvc_gd_field_search_BSVCINDEX',
5093
+                                        'name'            => 'bsvc_gd_field_search_BSVCINDEX',
5094
+                                        'label'           => __( 'VALUE TO MATCH', 'ayecode-connect' ),
5095
+                                        'class'           => 'bsvc_gd_field_search form-control-sm',
5096
+                                        'placeholder'     => __( 'VALUE TO MATCH', 'ayecode-connect' ),
5097
+                                        'label_type'      => '',
5098
+                                        'value'           => '',
5099
+                                        '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")'
5100
+                                    )
5101
+                                );
5102
+
5103
+                            $content .= '</div>';
5104
+                        }
5105
+
5106
+                    $content .= '</div>';
5107
+
5108
+                    $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>';
5109
+                        $role_options = sd_user_roles_options();
5110
+
5111
+                        $role_option_i = 0;
5112
+                        foreach ( $role_options as $role_option_key => $role_option_name ) {
5113
+                            $role_option_i++;
5114
+
5115
+                            $content .= '<div class="col-sm-6">';
5116
+                            $content .= aui()->input(
5117
+                                array(
5118
+                                    'id'               => 'bsvc_user_roles_BSVCINDEX_' . $role_option_i,
5119
+                                    'name'             => 'bsvc_user_roles_BSVCINDEX[]',
5120
+                                    'type'             => 'checkbox',
5121
+                                    'label'            => $role_option_name,
5122
+                                    'label_type'       => 'hidden',
5123
+                                    'class'            => 'bsvc_user_roles',
5124
+                                    'value'            => $role_option_key,
5125
+                                    'switch'           => 'md',
5126
+                                    'no_wrap'          => true
5127
+                                )
5128
+                            );
5129
+                            $content .= '</div>';
5130
+                        }
5131
+                    $content .= '</div>';
5132
+                $content .= '</div>';
5133
+            $content .= '</div>';
5134
+            $content .= '<form id="bs-vc-modal-form" class="bs-vc-modal-form">';
5135
+            $content .= '<div class="bs-vc-rule-sets"></div>';
5136
+            $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>';
5137
+            $content .= '<div class="row"><div class="col-md-6 col-sm-12">';
5138
+            $content .= aui()->select(
5139
+                array(
5140
+                    'id'          => 'bsvc_output',
5141
+                    'name'        => 'bsvc_output',
5142
+                    'label'       => __( 'What should happen if rules met.', 'ayecode-connect' ),
5143
+                    'placeholder' => __( 'Default Output', 'ayecode-connect' ),
5144
+                    'class'       => 'bsvc_output form-select-sm no-select2 mw-100',
5145
+                    'options'     => sd_visibility_output_options(),
5146
+                    'default'     => '',
5147
+                    'value'       => '',
5148
+                    'label_type'  => 'top',
5149
+                    'select2'     => false,
5150
+                    'extra_attributes' => array(
5151
+                        'data-minimum-results-for-search' => '-1'
5152
+                    )
5153
+                )
5154
+            );
5155
+
5156
+            $content .= '</div><div class="col-md-6 col-sm-12">';
5157
+
5158
+            $content .= aui()->select(
5159
+                array(
5160
+                    'id'              => 'bsvc_page',
5161
+                    'name'            => 'bsvc_page',
5162
+                    'label'           => __( 'Page Content', 'ayecode-connect' ),
5163
+                    'placeholder'     => __( 'Select Page ID...', 'ayecode-connect' ),
5164
+                    'class'           => 'bsvc_page form-select-sm no-select2 mw-100',
5165
+                    'options'         => sd_template_page_options(),
5166
+                    'default'         => '',
5167
+                    'value'           => '',
5168
+                    'label_type'      => 'top',
5169
+                    'select2'         => false,
5170
+                    'element_require' => '[%bsvc_output%]=="page"'
5171
+                )
5172
+            );
5173
+
5174
+            $content .= aui()->select(
5175
+                array(
5176
+                    'id'          => 'bsvc_tmpl_part',
5177
+                    'name'        => 'bsvc_tmpl_part',
5178
+                    'label'       => __( 'Template Part', 'ayecode-connect' ),
5179
+                    'placeholder' => __( 'Select Template Part...', 'ayecode-connect' ),
5180
+                    'class'       => 'bsvc_tmpl_part form-select-sm no-select2 mw-100',
5181
+                    'options'     => sd_template_part_options(),
5182
+                    'default'     => '',
5183
+                    'value'       => '',
5184
+                    'label_type'  => 'top',
5185
+                    'select2'     => false,
5186
+                    'element_require'  => '[%bsvc_output%]=="template_part"',
5187
+                    'extra_attributes' => array(
5188
+                        'data-minimum-results-for-search' => '-1'
5189
+                    )
5190
+                )
5191
+            );
5192
+
5193
+            $content .= aui()->select(
5194
+                array(
5195
+                    'id'               => 'bsvc_message_type',
5196
+                    'name'             => 'bsvc_message_type',
5197
+                    'label'            => __( 'Custom Message Type', 'ayecode-connect' ),
5198
+                    'placeholder'      => __( 'Default (none)', 'ayecode-connect' ),
5199
+                    'class'            => 'bsvc_message_type form-select-sm no-select2 mw-100',
5200
+                    'options'          => sd_aui_colors(),
5201
+                    'default'          => '',
5202
+                    'value'            => '',
5203
+                    'label_type'       => 'top',
5204
+                    'select2'          => false,
5205
+                    'element_require'  => '[%bsvc_output%]=="message"',
5206
+                    'extra_attributes' => array(
5207
+                        'data-minimum-results-for-search' => '-1'
5208
+                    )
5209
+                )
5210
+            );
5211
+
5212
+            $content .= '</div><div class="col-sm-12">';
5213
+
5214
+            $content .= aui()->input(
5215
+                array(
5216
+                    'type'            => 'text',
5217
+                    'id'              => 'bsvc_message',
5218
+                    'name'            => 'bsvc_message',
5219
+                    'label'           => '',
5220
+                    'class'           => 'bsvc_message form-control-sm',
5221
+                    'placeholder'     => __( 'CUSTOM MESSAGE TO SHOW', 'ayecode-connect' ),
5222
+                    'label_type'      => '',
5223
+                    'value'           => '',
5224
+                    'form_group_class' => ' ',
5225
+                    'element_require' => '[%bsvc_output%]=="message"',
5226
+                )
5227
+            );
5228
+
5229
+            $content .= '</div></div></form><input type="hidden" id="bsvc_raw_value" name="bsvc_raw_value" value="' . $value . '">';
5230
+
5231
+            return $content;
5232
+        }
5233
+    }
5234 5234
 }
Please login to merge, or discard this patch.
Spacing   +814 added lines, -814 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.6' );
8
+	define('SUPER_DUPER_VER', '1.2.6');
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,61 +80,61 @@  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
 				// register block
88
-				if(empty($this->options['output_types']) || in_array('block',$this->options['output_types'])){
89
-					add_action( 'admin_enqueue_scripts', array( $this, 'register_block' ) );
88
+				if (empty($this->options['output_types']) || in_array('block', $this->options['output_types'])) {
89
+					add_action('admin_enqueue_scripts', array($this, 'register_block'));
90 90
 				}
91 91
 			}
92 92
 
93 93
 			// add the CSS and JS we need ONCE
94 94
 			global $sd_widget_scripts;
95 95
 
96
-			if ( ! $sd_widget_scripts ) {
97
-				wp_add_inline_script( 'admin-widgets', $this->widget_js() );
98
-				wp_add_inline_script( 'customize-controls', $this->widget_js() );
99
-				wp_add_inline_style( 'widgets', $this->widget_css() );
96
+			if (!$sd_widget_scripts) {
97
+				wp_add_inline_script('admin-widgets', $this->widget_js());
98
+				wp_add_inline_script('customize-controls', $this->widget_js());
99
+				wp_add_inline_style('widgets', $this->widget_css());
100 100
 
101 101
 				// maybe add elementor editor styles
102
-				add_action( 'elementor/editor/after_enqueue_styles', array( $this, 'elementor_editor_styles' ) );
102
+				add_action('elementor/editor/after_enqueue_styles', array($this, 'elementor_editor_styles'));
103 103
 
104 104
 				$sd_widget_scripts = true;
105 105
 
106 106
 				// add shortcode insert button once
107
-				add_action( 'media_buttons', array( $this, 'shortcode_insert_button' ) );
107
+				add_action('media_buttons', array($this, 'shortcode_insert_button'));
108 108
 				// generatepress theme sections compatibility
109
-				if ( function_exists( 'generate_sections_sections_metabox' ) ) {
110
-					add_action( 'generate_sections_metabox', array( $this, 'shortcode_insert_button_script' ) );
109
+				if (function_exists('generate_sections_sections_metabox')) {
110
+					add_action('generate_sections_metabox', array($this, 'shortcode_insert_button_script'));
111 111
 				}
112 112
 				/* Load script on Divi theme builder page */
113
-				if ( function_exists( 'et_builder_is_tb_admin_screen' ) && et_builder_is_tb_admin_screen() ) {
113
+				if (function_exists('et_builder_is_tb_admin_screen') && et_builder_is_tb_admin_screen()) {
114 114
 					add_thickbox();
115
-					add_action( 'admin_footer', array( $this, 'shortcode_insert_button_script' ) );
115
+					add_action('admin_footer', array($this, 'shortcode_insert_button_script'));
116 116
 				}
117 117
 
118
-				if ( $this->is_preview() ) {
119
-					add_action( 'wp_footer', array( $this, 'shortcode_insert_button_script' ) );
118
+				if ($this->is_preview()) {
119
+					add_action('wp_footer', array($this, 'shortcode_insert_button_script'));
120 120
 					// this makes the insert button work for elementor
121
-					add_action( 'elementor/editor/after_enqueue_scripts', array(
121
+					add_action('elementor/editor/after_enqueue_scripts', array(
122 122
 						$this,
123 123
 						'shortcode_insert_button_script'
124
-					) ); // for elementor
124
+					)); // for elementor
125 125
 				}
126 126
 				// this makes the insert button work for cornerstone
127
-				add_action( 'wp_print_footer_scripts', array( __CLASS__, 'maybe_cornerstone_builder' ) );
127
+				add_action('wp_print_footer_scripts', array(__CLASS__, 'maybe_cornerstone_builder'));
128 128
 
129
-				add_action( 'wp_ajax_super_duper_get_widget_settings', array( __CLASS__, 'get_widget_settings' ) );
130
-				add_action( 'wp_ajax_super_duper_get_picker', array( __CLASS__, 'get_picker' ) );
129
+				add_action('wp_ajax_super_duper_get_widget_settings', array(__CLASS__, 'get_widget_settings'));
130
+				add_action('wp_ajax_super_duper_get_picker', array(__CLASS__, 'get_picker'));
131 131
 
132 132
 				// add generator text to head
133
-				add_action( 'admin_head', array( $this, 'generator' ), 99 );
134
-				add_action( 'wp_head', array( $this, 'generator' ), 99 );
133
+				add_action('admin_head', array($this, 'generator'), 99);
134
+				add_action('wp_head', array($this, 'generator'), 99);
135 135
 			}
136 136
 
137
-			do_action( 'wp_super_duper_widget_init', $options, $this );
137
+			do_action('wp_super_duper_widget_init', $options, $this);
138 138
 		}
139 139
 
140 140
 		/**
@@ -142,7 +142,7 @@  discard block
 block discarded – undo
142 142
 		 * @return void
143 143
 		 */
144 144
 		public function _register() {
145
-			if(empty($this->options['output_types']) || in_array('widget',$this->options['output_types'])){
145
+			if (empty($this->options['output_types']) || in_array('widget', $this->options['output_types'])) {
146 146
 				parent::_register();
147 147
 			}
148 148
 		}
@@ -151,14 +151,14 @@  discard block
 block discarded – undo
151 151
 		 * Add our widget CSS to elementor editor.
152 152
 		 */
153 153
 		public function elementor_editor_styles() {
154
-			wp_add_inline_style( 'elementor-editor', $this->widget_css( false ) );
154
+			wp_add_inline_style('elementor-editor', $this->widget_css(false));
155 155
 		}
156 156
 
157 157
 		public function register_fusion_element() {
158 158
 
159 159
 			$options = $this->options;
160 160
 
161
-			if ( $this->base_id ) {
161
+			if ($this->base_id) {
162 162
 
163 163
 				$params = $this->get_fusion_params();
164 164
 
@@ -169,11 +169,11 @@  discard block
 block discarded – undo
169 169
 					'allow_generator' => true,
170 170
 				);
171 171
 
172
-				if ( ! empty( $params ) ) {
172
+				if (!empty($params)) {
173 173
 					$args['params'] = $params;
174 174
 				}
175 175
 
176
-				fusion_builder_map( $args );
176
+				fusion_builder_map($args);
177 177
 			}
178 178
 
179 179
 		}
@@ -182,8 +182,8 @@  discard block
 block discarded – undo
182 182
 			$params    = array();
183 183
 			$arguments = $this->get_arguments();
184 184
 
185
-			if ( ! empty( $arguments ) ) {
186
-				foreach ( $arguments as $key => $val ) {
185
+			if (!empty($arguments)) {
186
+				foreach ($arguments as $key => $val) {
187 187
 					$param = array();
188 188
 					// type
189 189
 					$param['type'] = str_replace(
@@ -205,38 +205,38 @@  discard block
 block discarded – undo
205 205
 						$val['type'] );
206 206
 
207 207
 					// multiselect
208
-					if ( $val['type'] == 'multiselect' || ( ( $param['type'] == 'select' || $val['type'] == 'select' ) && ! empty( $val['multiple'] ) ) ) {
208
+					if ($val['type'] == 'multiselect' || (($param['type'] == 'select' || $val['type'] == 'select') && !empty($val['multiple']))) {
209 209
 						$param['type']     = 'multiple_select';
210 210
 						$param['multiple'] = true;
211 211
 					}
212 212
 
213 213
 					// heading
214
-					$param['heading'] = isset( $val['title'] ) ? $val['title'] : '';
214
+					$param['heading'] = isset($val['title']) ? $val['title'] : '';
215 215
 
216 216
 					// description
217
-					$param['description'] = isset( $val['desc'] ) ? $val['desc'] : '';
217
+					$param['description'] = isset($val['desc']) ? $val['desc'] : '';
218 218
 
219 219
 					// param_name
220 220
 					$param['param_name'] = $key;
221 221
 
222 222
 					// Default
223
-					$param['default'] = isset( $val['default'] ) ? $val['default'] : '';
223
+					$param['default'] = isset($val['default']) ? $val['default'] : '';
224 224
 
225 225
 					// Group
226
-					if ( isset( $val['group'] ) ) {
226
+					if (isset($val['group'])) {
227 227
 						$param['group'] = $val['group'];
228 228
 					}
229 229
 
230 230
 					// value
231
-					if ( $val['type'] == 'checkbox' ) {
232
-						if ( isset( $val['default'] ) && $val['default'] == '0' ) {
233
-							unset( $param['default'] );
231
+					if ($val['type'] == 'checkbox') {
232
+						if (isset($val['default']) && $val['default'] == '0') {
233
+							unset($param['default']);
234 234
 						}
235
-						$param['value'] = array( '0' => __( "No", 'ayecode-connect' ), '1' => __( "Yes", 'ayecode-connect' ) );
236
-					} elseif ( $param['type'] == 'select' || $param['type'] == 'multiple_select' ) {
237
-						$param['value'] = isset( $val['options'] ) ? $val['options'] : array();
235
+						$param['value'] = array('0' => __("No", 'ayecode-connect'), '1' => __("Yes", 'ayecode-connect'));
236
+					} elseif ($param['type'] == 'select' || $param['type'] == 'multiple_select') {
237
+						$param['value'] = isset($val['options']) ? $val['options'] : array();
238 238
 					} else {
239
-						$param['value'] = isset( $val['default'] ) ? $val['default'] : '';
239
+						$param['value'] = isset($val['default']) ? $val['default'] : '';
240 240
 					}
241 241
 
242 242
 					// setup the param
@@ -253,7 +253,7 @@  discard block
 block discarded – undo
253 253
 		 * Maybe insert the shortcode inserter button in the footer if we are in the cornerstone builder
254 254
 		 */
255 255
 		public static function maybe_cornerstone_builder() {
256
-			if ( did_action( 'cornerstone_before_boot_app' ) ) {
256
+			if (did_action('cornerstone_before_boot_app')) {
257 257
 				self::shortcode_insert_button_script();
258 258
 			}
259 259
 		}
@@ -265,12 +265,12 @@  discard block
 block discarded – undo
265 265
 		 *
266 266
 		 * @return string
267 267
 		 */
268
-		public static function get_picker( $editor_id = '' ) {
268
+		public static function get_picker($editor_id = '') {
269 269
 
270 270
 			ob_start();
271
-			if ( isset( $_POST['editor_id'] ) ) {
272
-				$editor_id = esc_attr( $_POST['editor_id'] );
273
-			} elseif ( isset( $_REQUEST['et_fb'] ) ) {
271
+			if (isset($_POST['editor_id'])) {
272
+				$editor_id = esc_attr($_POST['editor_id']);
273
+			} elseif (isset($_REQUEST['et_fb'])) {
274 274
 				$editor_id = 'main_content_content_vb_tiny_mce';
275 275
 			}
276 276
 
@@ -281,14 +281,14 @@  discard block
 block discarded – undo
281 281
 
282 282
 			<div class="sd-shortcode-left-wrap">
283 283
 				<?php
284
-				ksort( $sd_widgets );
284
+				ksort($sd_widgets);
285 285
 				//				print_r($sd_widgets);exit;
286
-				if ( ! empty( $sd_widgets ) ) {
286
+				if (!empty($sd_widgets)) {
287 287
 					echo '<select class="widefat" onchange="sd_get_shortcode_options(this);">';
288
-					echo "<option>" . __( 'Select shortcode', 'ayecode-connect' ) . "</option>";
289
-					foreach ( $sd_widgets as $shortcode => $class ) {
290
-						if(!empty($class['output_types']) && !in_array('shortcode', $class['output_types'])){ continue; }
291
-						echo "<option value='" . esc_attr( $shortcode ) . "'>" . esc_attr( $shortcode ) . " (" . esc_attr( $class['name'] ) . ")</option>";
288
+					echo "<option>" . __('Select shortcode', 'ayecode-connect') . "</option>";
289
+					foreach ($sd_widgets as $shortcode => $class) {
290
+						if (!empty($class['output_types']) && !in_array('shortcode', $class['output_types'])) { continue; }
291
+						echo "<option value='" . esc_attr($shortcode) . "'>" . esc_attr($shortcode) . " (" . esc_attr($class['name']) . ")</option>";
292 292
 					}
293 293
 					echo "</select>";
294 294
 
@@ -301,37 +301,37 @@  discard block
 block discarded – undo
301 301
 			<div class="sd-shortcode-right-wrap">
302 302
 				<textarea id='sd-shortcode-output' disabled></textarea>
303 303
 				<div id='sd-shortcode-output-actions'>
304
-					<?php if ( $editor_id != '' ) { ?>
304
+					<?php if ($editor_id != '') { ?>
305 305
 						<button class="button sd-insert-shortcode-button"
306
-								onclick="sd_insert_shortcode(<?php if ( ! empty( $editor_id ) ) {
306
+								onclick="sd_insert_shortcode(<?php if (!empty($editor_id)) {
307 307
 									echo "'" . $editor_id . "'";
308
-								} ?>)"><?php _e( 'Insert shortcode', 'ayecode-connect' ); ?></button>
308
+								} ?>)"><?php _e('Insert shortcode', 'ayecode-connect'); ?></button>
309 309
 					<?php } ?>
310 310
 					<button class="button"
311
-							onclick="sd_copy_to_clipboard()"><?php _e( 'Copy shortcode' ); ?></button>
311
+							onclick="sd_copy_to_clipboard()"><?php _e('Copy shortcode'); ?></button>
312 312
 				</div>
313 313
 			</div>
314 314
 			<?php
315 315
 
316 316
 			$html = ob_get_clean();
317 317
 
318
-			if ( wp_doing_ajax() ) {
318
+			if (wp_doing_ajax()) {
319 319
 				echo $html;
320 320
 				$should_die = true;
321 321
 
322 322
 				// some builder get the editor via ajax so we should not die on those occasions
323 323
 				$dont_die = array(
324
-					'parent_tag',// WP Bakery
324
+					'parent_tag', // WP Bakery
325 325
 					'avia_request' // enfold
326 326
 				);
327 327
 
328
-				foreach ( $dont_die as $request ) {
329
-					if ( isset( $_REQUEST[ $request ] ) ) {
328
+				foreach ($dont_die as $request) {
329
+					if (isset($_REQUEST[$request])) {
330 330
 						$should_die = false;
331 331
 					}
332 332
 				}
333 333
 
334
-				if ( $should_die ) {
334
+				if ($should_die) {
335 335
 					wp_die();
336 336
 				}
337 337
 
@@ -347,22 +347,22 @@  discard block
 block discarded – undo
347 347
 		 * Output the version in the header.
348 348
 		 */
349 349
 		public function generator() {
350
-			$file = str_replace( array( "/", "\\" ), "/", realpath( __FILE__ ) );
351
-			$plugins_dir = str_replace( array( "/", "\\" ), "/", realpath( WP_PLUGIN_DIR ) );
350
+			$file = str_replace(array("/", "\\"), "/", realpath(__FILE__));
351
+			$plugins_dir = str_replace(array("/", "\\"), "/", realpath(WP_PLUGIN_DIR));
352 352
 
353 353
 			// Find source plugin/theme of SD
354 354
 			$source = array();
355
-			if ( strpos( $file, $plugins_dir ) !== false ) {
356
-				$source = explode( "/", plugin_basename( $file ) );
357
-			} else if ( function_exists( 'get_theme_root' ) ) {
358
-				$themes_dir = str_replace( array( "/", "\\" ), "/", realpath( get_theme_root() ) );
355
+			if (strpos($file, $plugins_dir) !== false) {
356
+				$source = explode("/", plugin_basename($file));
357
+			} else if (function_exists('get_theme_root')) {
358
+				$themes_dir = str_replace(array("/", "\\"), "/", realpath(get_theme_root()));
359 359
 
360
-				if ( strpos( $file, $themes_dir ) !== false ) {
361
-					$source = explode( "/", ltrim( str_replace( $themes_dir, "", $file ), "/" ) );
360
+				if (strpos($file, $themes_dir) !== false) {
361
+					$source = explode("/", ltrim(str_replace($themes_dir, "", $file), "/"));
362 362
 				}
363 363
 			}
364 364
 
365
-			echo '<meta name="generator" content="WP Super Duper v' . esc_attr( $this->version ) . '"' . ( ! empty( $source[0] ) ? ' data-sd-source="' . esc_attr( $source[0] ) . '"' : '' ) . ' />';
365
+			echo '<meta name="generator" content="WP Super Duper v' . esc_attr($this->version) . '"' . (!empty($source[0]) ? ' data-sd-source="' . esc_attr($source[0]) . '"' : '') . ' />';
366 366
 		}
367 367
 
368 368
 		/**
@@ -373,16 +373,16 @@  discard block
 block discarded – undo
373 373
 		public static function get_widget_settings() {
374 374
 			global $sd_widgets;
375 375
 
376
-			$shortcode = isset( $_REQUEST['shortcode'] ) && $_REQUEST['shortcode'] ? sanitize_title_with_dashes( $_REQUEST['shortcode'] ) : '';
377
-			if ( ! $shortcode ) {
376
+			$shortcode = isset($_REQUEST['shortcode']) && $_REQUEST['shortcode'] ? sanitize_title_with_dashes($_REQUEST['shortcode']) : '';
377
+			if (!$shortcode) {
378 378
 				wp_die();
379 379
 			}
380
-			$widget_args = isset( $sd_widgets[ $shortcode ] ) ? $sd_widgets[ $shortcode ] : '';
381
-			if ( ! $widget_args ) {
380
+			$widget_args = isset($sd_widgets[$shortcode]) ? $sd_widgets[$shortcode] : '';
381
+			if (!$widget_args) {
382 382
 				wp_die();
383 383
 			}
384
-			$class_name = isset( $widget_args['class_name'] ) && $widget_args['class_name'] ? $widget_args['class_name'] : '';
385
-			if ( ! $class_name ) {
384
+			$class_name = isset($widget_args['class_name']) && $widget_args['class_name'] ? $widget_args['class_name'] : '';
385
+			if (!$class_name) {
386 386
 				wp_die();
387 387
 			}
388 388
 
@@ -390,7 +390,7 @@  discard block
 block discarded – undo
390 390
 			$widget = new $class_name;
391 391
 
392 392
 			ob_start();
393
-			$widget->form( array() );
393
+			$widget->form(array());
394 394
 			$form = ob_get_clean();
395 395
 			echo "<form id='$shortcode'>" . $form . "<div class=\"widget-control-save\"></div></form>";
396 396
 			echo "<style>" . $widget->widget_css() . "</style>";
@@ -409,9 +409,9 @@  discard block
 block discarded – undo
409 409
 		 *@since 1.0.0
410 410
 		 *
411 411
 		 */
412
-		public static function shortcode_insert_button( $editor_id = '', $insert_shortcode_function = '' ) {
412
+		public static function shortcode_insert_button($editor_id = '', $insert_shortcode_function = '') {
413 413
 			global $sd_widgets, $shortcode_insert_button_once;
414
-			if ( $shortcode_insert_button_once ) {
414
+			if ($shortcode_insert_button_once) {
415 415
 				return;
416 416
 			}
417 417
 			add_thickbox();
@@ -421,21 +421,21 @@  discard block
 block discarded – undo
421 421
 			 * Cornerstone makes us play dirty tricks :/
422 422
 			 * 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.
423 423
 			 */
424
-			if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
424
+			if (function_exists('cornerstone_plugin_init') && !is_admin()) {
425 425
 				echo '<span id="insert-media-button">';
426 426
 			}
427 427
 
428
-			echo self::shortcode_button( 'this', 'true' );
428
+			echo self::shortcode_button('this', 'true');
429 429
 
430 430
 			// see opening note
431
-			if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
431
+			if (function_exists('cornerstone_plugin_init') && !is_admin()) {
432 432
 				echo '</span>'; // end #insert-media-button
433 433
 			}
434 434
 
435 435
 			// Add separate script for generatepress theme sections
436
-			if ( function_exists( 'generate_sections_sections_metabox' ) && did_action( 'generate_sections_metabox' ) ) {
436
+			if (function_exists('generate_sections_sections_metabox') && did_action('generate_sections_metabox')) {
437 437
 			} else {
438
-				self::shortcode_insert_button_script( $editor_id, $insert_shortcode_function );
438
+				self::shortcode_insert_button_script($editor_id, $insert_shortcode_function);
439 439
 			}
440 440
 
441 441
 			$shortcode_insert_button_once = true;
@@ -449,12 +449,12 @@  discard block
 block discarded – undo
449 449
 		 *
450 450
 		 * @return mixed
451 451
 		 */
452
-		public static function shortcode_button( $id = '', $search_for_id = '' ) {
452
+		public static function shortcode_button($id = '', $search_for_id = '') {
453 453
 			ob_start();
454 454
 			?>
455 455
 			<span class="sd-lable-shortcode-inserter">
456 456
 				<a onclick="sd_ajax_get_picker(<?php echo $id;
457
-				if ( $search_for_id ) {
457
+				if ($search_for_id) {
458 458
 					echo "," . $search_for_id;
459 459
 				} ?>);" href="#TB_inline?width=100%&height=550&inlineId=super-duper-content-ajaxed"
460 460
 				   class="thickbox button super-duper-content-open" title="Add Shortcode">
@@ -470,7 +470,7 @@  discard block
 block discarded – undo
470 470
 			$html = ob_get_clean();
471 471
 
472 472
 			// remove line breaks so we can use it in js
473
-			return preg_replace( "/\r|\n/", "", trim( $html ) );
473
+			return preg_replace("/\r|\n/", "", trim($html));
474 474
 		}
475 475
 
476 476
 		/**
@@ -528,7 +528,7 @@  discard block
 block discarded – undo
528 528
 						jQuery($this).data('sd-widget-enabled', true);
529 529
 					}
530 530
 
531
-					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>';
531
+					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>';
532 532
 					var form = jQuery($this).parents('' + $selector + '');
533 533
 
534 534
 					if (jQuery($this).val() == '1' && jQuery(form).find('.sd-advanced-button').length == 0) {
@@ -563,10 +563,10 @@  discard block
 block discarded – undo
563 563
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
564 564
 			 */
565 565
 
566
-			return str_replace( array(
566
+			return str_replace(array(
567 567
 				'<script>',
568 568
 				'</script>'
569
-			), '', $output );
569
+			), '', $output);
570 570
 		}
571 571
 
572 572
 		/**
@@ -578,7 +578,7 @@  discard block
 block discarded – undo
578 578
 		 *@since 1.0.6
579 579
 		 *
580 580
 		 */
581
-		public static function shortcode_insert_button_script( $editor_id = '', $insert_shortcode_function = '' ) {
581
+		public static function shortcode_insert_button_script($editor_id = '', $insert_shortcode_function = '') {
582 582
 			?>
583 583
 			<style>
584 584
 				.sd-shortcode-left-wrap {
@@ -697,25 +697,25 @@  discard block
 block discarded – undo
697 697
 					width: 100%;
698 698
 				}
699 699
 
700
-				<?php if ( function_exists( 'generate_sections_sections_metabox' ) ) { ?>
700
+				<?php if (function_exists('generate_sections_sections_metabox')) { ?>
701 701
 				.generate-sections-modal #custom-media-buttons > .sd-lable-shortcode-inserter {
702 702
 					display: inline;
703 703
 				}
704 704
 				<?php } ?>
705
-				<?php if ( function_exists( 'et_builder_is_tb_admin_screen' ) && et_builder_is_tb_admin_screen() ) { ?>
705
+				<?php if (function_exists('et_builder_is_tb_admin_screen') && et_builder_is_tb_admin_screen()) { ?>
706 706
 				body.divi_page_et_theme_builder div#TB_window.gd-tb-window{z-index:9999999}
707 707
 				<?php } ?>
708 708
 			</style>
709 709
 			<?php
710
-			if ( class_exists( 'SiteOrigin_Panels' ) ) {
710
+			if (class_exists('SiteOrigin_Panels')) {
711 711
 				echo "<script>" . self::siteorigin_js() . "</script>";
712 712
 			}
713 713
 			?>
714 714
 			<script>
715 715
 				<?php
716
-				if(! empty( $insert_shortcode_function )){
716
+				if (!empty($insert_shortcode_function)) {
717 717
 					echo $insert_shortcode_function;
718
-				}else{
718
+				} else {
719 719
 
720 720
 				/**
721 721
 				 * Function for super duper insert shortcode.
@@ -728,9 +728,9 @@  discard block
 block discarded – undo
728 728
 					if ($shortcode) {
729 729
 						if (!$editor_id) {
730 730
 							<?php
731
-							if ( isset( $_REQUEST['et_fb'] ) ) {
731
+							if (isset($_REQUEST['et_fb'])) {
732 732
 								echo '$editor_id = "#main_content_content_vb_tiny_mce";';
733
-							} elseif ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) {
733
+							} elseif (isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor') {
734 734
 								echo '$editor_id = "#elementor-controls .wp-editor-container textarea";';
735 735
 							} else {
736 736
 								echo '$editor_id = "#wp-content-editor-container textarea";';
@@ -813,11 +813,11 @@  discard block
 block discarded – undo
813 813
 							'shortcode': $short_code,
814 814
 							'attributes': 123,
815 815
 							'post_id': 321,
816
-							'_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_output_shortcode' );?>'
816
+							'_ajax_nonce': '<?php echo wp_create_nonce('super_duper_output_shortcode'); ?>'
817 817
 						};
818 818
 
819 819
 						if (typeof ajaxurl === 'undefined') {
820
-							var ajaxurl = "<?php echo admin_url( 'admin-ajax.php' );?>";
820
+							var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";
821 821
 						}
822 822
 
823 823
 						jQuery.post(ajaxurl, data, function (response) {
@@ -1016,11 +1016,11 @@  discard block
 block discarded – undo
1016 1016
 					var data = {
1017 1017
 						'action': 'super_duper_get_picker',
1018 1018
 						'editor_id': $id,
1019
-						'_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_picker' );?>'
1019
+						'_ajax_nonce': '<?php echo wp_create_nonce('super_duper_picker'); ?>'
1020 1020
 					};
1021 1021
 
1022 1022
 					if (!ajaxurl) {
1023
-						var ajaxurl = "<?php echo admin_url( 'admin-ajax.php' ); ?>";
1023
+						var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";
1024 1024
 					}
1025 1025
 
1026 1026
 					jQuery.post(ajaxurl, data, function (response) {
@@ -1042,9 +1042,9 @@  discard block
 block discarded – undo
1042 1042
 				 */
1043 1043
 				function sd_shortcode_button($id) {
1044 1044
 					if ($id) {
1045
-						return '<?php echo self::shortcode_button( "\\''+\$id+'\\'" );?>';
1045
+						return '<?php echo self::shortcode_button("\\''+\$id+'\\'"); ?>';
1046 1046
 					} else {
1047
-						return '<?php echo self::shortcode_button();?>';
1047
+						return '<?php echo self::shortcode_button(); ?>';
1048 1048
 					}
1049 1049
 				}
1050 1050
 			</script>
@@ -1058,11 +1058,11 @@  discard block
 block discarded – undo
1058 1058
 		 *
1059 1059
 		 * @return mixed
1060 1060
 		 */
1061
-		public function widget_css( $advanced = true ) {
1061
+		public function widget_css($advanced = true) {
1062 1062
 			ob_start();
1063 1063
 			?>
1064 1064
 			<style>
1065
-				<?php if( $advanced ){ ?>
1065
+				<?php if ($advanced) { ?>
1066 1066
 				.sd-advanced-setting {
1067 1067
 					display: none;
1068 1068
 				}
@@ -1106,10 +1106,10 @@  discard block
 block discarded – undo
1106 1106
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1107 1107
 			 */
1108 1108
 
1109
-			return str_replace( array(
1109
+			return str_replace(array(
1110 1110
 				'<style>',
1111 1111
 				'</style>'
1112
-			), '', $output );
1112
+			), '', $output);
1113 1113
 		}
1114 1114
 
1115 1115
 		/**
@@ -1176,7 +1176,7 @@  discard block
 block discarded – undo
1176 1176
 						jQuery($this).data('sd-widget-enabled', true);
1177 1177
 					}
1178 1178
 
1179
-					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>';
1179
+					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>';
1180 1180
 					var form = $form ? $form : jQuery($this).parents('' + $selector + '');
1181 1181
 
1182 1182
 					if (jQuery($this).val() == '1' && jQuery(form).find('.sd-advanced-button').length == 0) {
@@ -1267,7 +1267,7 @@  discard block
 block discarded – undo
1267 1267
 					});
1268 1268
 
1269 1269
 				}
1270
-				<?php do_action( 'wp_super_duper_widget_js', $this ); ?>
1270
+				<?php do_action('wp_super_duper_widget_js', $this); ?>
1271 1271
 			</script>
1272 1272
 			<?php
1273 1273
 			$output = ob_get_clean();
@@ -1276,10 +1276,10 @@  discard block
 block discarded – undo
1276 1276
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1277 1277
 			 */
1278 1278
 
1279
-			return str_replace( array(
1279
+			return str_replace(array(
1280 1280
 				'<script>',
1281 1281
 				'</script>'
1282
-			), '', $output );
1282
+			), '', $output);
1283 1283
 		}
1284 1284
 
1285 1285
 
@@ -1290,14 +1290,14 @@  discard block
 block discarded – undo
1290 1290
 		 *
1291 1291
 		 * @return mixed
1292 1292
 		 */
1293
-		private function add_name_from_key( $options, $arguments = false ) {
1294
-			if ( ! empty( $options['arguments'] ) ) {
1295
-				foreach ( $options['arguments'] as $key => $val ) {
1296
-					$options['arguments'][ $key ]['name'] = $key;
1293
+		private function add_name_from_key($options, $arguments = false) {
1294
+			if (!empty($options['arguments'])) {
1295
+				foreach ($options['arguments'] as $key => $val) {
1296
+					$options['arguments'][$key]['name'] = $key;
1297 1297
 				}
1298
-			} elseif ( $arguments && is_array( $options ) && ! empty( $options ) ) {
1299
-				foreach ( $options as $key => $val ) {
1300
-					$options[ $key ]['name'] = $key;
1298
+			} elseif ($arguments && is_array($options) && !empty($options)) {
1299
+				foreach ($options as $key => $val) {
1300
+					$options[$key]['name'] = $key;
1301 1301
 				}
1302 1302
 			}
1303 1303
 
@@ -1310,8 +1310,8 @@  discard block
 block discarded – undo
1310 1310
 		 * @since 1.0.0
1311 1311
 		 */
1312 1312
 		public function register_shortcode() {
1313
-			add_shortcode( $this->base_id, array( $this, 'shortcode_output' ) );
1314
-			add_action( 'wp_ajax_super_duper_output_shortcode', array( $this, 'render_shortcode' ) );
1313
+			add_shortcode($this->base_id, array($this, 'shortcode_output'));
1314
+			add_action('wp_ajax_super_duper_output_shortcode', array($this, 'render_shortcode'));
1315 1315
 		}
1316 1316
 
1317 1317
 		/**
@@ -1320,50 +1320,50 @@  discard block
 block discarded – undo
1320 1320
 		 * @since 1.0.0
1321 1321
 		 */
1322 1322
 		public function render_shortcode() {
1323
-			check_ajax_referer( 'super_duper_output_shortcode', '_ajax_nonce', true );
1324
-			if ( ! current_user_can( 'manage_options' ) ) {
1323
+			check_ajax_referer('super_duper_output_shortcode', '_ajax_nonce', true);
1324
+			if (!current_user_can('manage_options')) {
1325 1325
 				wp_die();
1326 1326
 			}
1327 1327
 
1328 1328
 			// we might need the $post value here so lets set it.
1329
-			if ( isset( $_POST['post_id'] ) && $_POST['post_id'] ) {
1330
-				$post_obj = get_post( absint( $_POST['post_id'] ) );
1331
-				if ( ! empty( $post_obj ) && empty( $post ) ) {
1329
+			if (isset($_POST['post_id']) && $_POST['post_id']) {
1330
+				$post_obj = get_post(absint($_POST['post_id']));
1331
+				if (!empty($post_obj) && empty($post)) {
1332 1332
 					global $post;
1333 1333
 					$post = $post_obj;
1334 1334
 				}
1335 1335
 			}
1336 1336
 
1337
-			if ( isset( $_POST['shortcode'] ) && $_POST['shortcode'] ) {
1337
+			if (isset($_POST['shortcode']) && $_POST['shortcode']) {
1338 1338
 				$is_preview = $this->is_preview();
1339
-				$shortcode_name   = sanitize_title_with_dashes( $_POST['shortcode'] );
1340
-				$attributes_array = isset( $_POST['attributes'] ) && $_POST['attributes'] ? $_POST['attributes'] : array();
1339
+				$shortcode_name   = sanitize_title_with_dashes($_POST['shortcode']);
1340
+				$attributes_array = isset($_POST['attributes']) && $_POST['attributes'] ? $_POST['attributes'] : array();
1341 1341
 				$attributes       = '';
1342
-				if ( ! empty( $attributes_array ) ) {
1343
-					foreach ( $attributes_array as $key => $value ) {
1344
-						if ( is_array( $value ) ) {
1345
-							$value = implode( ",", $value );
1342
+				if (!empty($attributes_array)) {
1343
+					foreach ($attributes_array as $key => $value) {
1344
+						if (is_array($value)) {
1345
+							$value = implode(",", $value);
1346 1346
 						}
1347 1347
 
1348
-						if ( ! empty( $value ) ) {
1349
-							$value = wp_unslash( $value );
1348
+						if (!empty($value)) {
1349
+							$value = wp_unslash($value);
1350 1350
 
1351 1351
 							// Encode [ and ].
1352
-							if ( $is_preview ) {
1353
-								$value = $this->encode_shortcodes( $value );
1352
+							if ($is_preview) {
1353
+								$value = $this->encode_shortcodes($value);
1354 1354
 							}
1355 1355
 						}
1356
-						$attributes .= " " . esc_attr( sanitize_title_with_dashes( $key ) ) . "='" . esc_attr( $value ) . "' ";
1356
+						$attributes .= " " . esc_attr(sanitize_title_with_dashes($key)) . "='" . esc_attr($value) . "' ";
1357 1357
 					}
1358 1358
 				}
1359 1359
 
1360
-				$shortcode = "[" . esc_attr( $shortcode_name ) . " " . $attributes . "]";
1360
+				$shortcode = "[" . esc_attr($shortcode_name) . " " . $attributes . "]";
1361 1361
 
1362
-				$content = do_shortcode( $shortcode );
1362
+				$content = do_shortcode($shortcode);
1363 1363
 
1364 1364
 				// Decode [ and ].
1365
-				if ( ! empty( $content ) && $is_preview ) {
1366
-					$content = $this->decode_shortcodes( $content );
1365
+				if (!empty($content) && $is_preview) {
1366
+					$content = $this->decode_shortcodes($content);
1367 1367
 				}
1368 1368
 
1369 1369
 				echo $content;
@@ -1379,21 +1379,21 @@  discard block
 block discarded – undo
1379 1379
 		 *
1380 1380
 		 * @return string
1381 1381
 		 */
1382
-		public function shortcode_output( $args = array(), $content = '' ) {
1382
+		public function shortcode_output($args = array(), $content = '') {
1383 1383
 			$_instance = $args;
1384 1384
 
1385
-			$args = $this->argument_values( $args );
1385
+			$args = $this->argument_values($args);
1386 1386
 
1387 1387
 			// add extra argument so we know its a output to gutenberg
1388 1388
 			//$args
1389
-			$args = $this->string_to_bool( $args );
1389
+			$args = $this->string_to_bool($args);
1390 1390
 
1391 1391
 			// if we have a enclosed shortcode we add it to the special `html` argument
1392
-			if ( ! empty( $content ) ) {
1392
+			if (!empty($content)) {
1393 1393
 				$args['html'] = $content;
1394 1394
 			}
1395 1395
 
1396
-			if ( ! $this->is_preview() ) {
1396
+			if (!$this->is_preview()) {
1397 1397
 				/**
1398 1398
 				 * Filters the settings for a particular widget args.
1399 1399
 				 *
@@ -1404,40 +1404,40 @@  discard block
 block discarded – undo
1404 1404
 				 *@since 1.0.28
1405 1405
 				 *
1406 1406
 				 */
1407
-				$args = apply_filters( 'wp_super_duper_widget_display_callback', $args, $this, $_instance );
1407
+				$args = apply_filters('wp_super_duper_widget_display_callback', $args, $this, $_instance);
1408 1408
 
1409
-				if ( ! is_array( $args ) ) {
1409
+				if (!is_array($args)) {
1410 1410
 					return $args;
1411 1411
 				}
1412 1412
 			}
1413 1413
 
1414
-			$class = isset( $this->options['widget_ops']['classname'] ) ? esc_attr( $this->options['widget_ops']['classname'] ) : '';
1415
-			$class .= " sdel-".$this->get_instance_hash();
1414
+			$class = isset($this->options['widget_ops']['classname']) ? esc_attr($this->options['widget_ops']['classname']) : '';
1415
+			$class .= " sdel-" . $this->get_instance_hash();
1416 1416
 
1417
-			$class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
1418
-			$class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
1417
+			$class = apply_filters('wp_super_duper_div_classname', $class, $args, $this);
1418
+			$class = apply_filters('wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this);
1419 1419
 
1420
-			$attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
1421
-			$attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this );
1420
+			$attrs = apply_filters('wp_super_duper_div_attrs', '', $args, $this);
1421
+			$attrs = apply_filters('wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this);
1422 1422
 
1423 1423
 			$shortcode_args = array();
1424 1424
 			$output         = '';
1425
-			$no_wrap        = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
1426
-			if ( isset( $args['no_wrap'] ) && $args['no_wrap'] ) {
1425
+			$no_wrap        = isset($this->options['no_wrap']) && $this->options['no_wrap'] ? true : false;
1426
+			if (isset($args['no_wrap']) && $args['no_wrap']) {
1427 1427
 				$no_wrap = true;
1428 1428
 			}
1429
-			$main_content = $this->output( $args, $shortcode_args, $content );
1430
-			if ( $main_content && ! $no_wrap ) {
1429
+			$main_content = $this->output($args, $shortcode_args, $content);
1430
+			if ($main_content && !$no_wrap) {
1431 1431
 				// wrap the shortcode in a div with the same class as the widget
1432 1432
 				$output .= '<div class="' . $class . '" ' . $attrs . '>';
1433
-				if ( ! empty( $args['title'] ) ) {
1433
+				if (!empty($args['title'])) {
1434 1434
 					// if its a shortcode and there is a title try to grab the title wrappers
1435
-					$shortcode_args = array( 'before_title' => '', 'after_title' => '' );
1436
-					if ( empty( $instance ) ) {
1435
+					$shortcode_args = array('before_title' => '', 'after_title' => '');
1436
+					if (empty($instance)) {
1437 1437
 						global $wp_registered_sidebars;
1438
-						if ( ! empty( $wp_registered_sidebars ) ) {
1439
-							foreach ( $wp_registered_sidebars as $sidebar ) {
1440
-								if ( ! empty( $sidebar['before_title'] ) ) {
1438
+						if (!empty($wp_registered_sidebars)) {
1439
+							foreach ($wp_registered_sidebars as $sidebar) {
1440
+								if (!empty($sidebar['before_title'])) {
1441 1441
 									$shortcode_args['before_title'] = $sidebar['before_title'];
1442 1442
 									$shortcode_args['after_title']  = $sidebar['after_title'];
1443 1443
 									break;
@@ -1445,20 +1445,20 @@  discard block
 block discarded – undo
1445 1445
 							}
1446 1446
 						}
1447 1447
 					}
1448
-					$output .= $this->output_title( $shortcode_args, $args );
1448
+					$output .= $this->output_title($shortcode_args, $args);
1449 1449
 				}
1450 1450
 				$output .= $main_content;
1451 1451
 				$output .= '</div>';
1452
-			} elseif ( $main_content && $no_wrap ) {
1452
+			} elseif ($main_content && $no_wrap) {
1453 1453
 				$output .= $main_content;
1454 1454
 			}
1455 1455
 
1456 1456
 			// if preview show a placeholder if empty
1457
-			if ( $this->is_preview() && $output == '' ) {
1458
-				$output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
1457
+			if ($this->is_preview() && $output == '') {
1458
+				$output = $this->preview_placeholder_text("{{" . $this->base_id . "}}");
1459 1459
 			}
1460 1460
 
1461
-			return apply_filters( 'wp_super_duper_widget_output', $output, $args, $shortcode_args, $this );
1461
+			return apply_filters('wp_super_duper_widget_output', $output, $args, $shortcode_args, $this);
1462 1462
 		}
1463 1463
 
1464 1464
 		/**
@@ -1468,8 +1468,8 @@  discard block
 block discarded – undo
1468 1468
 		 *
1469 1469
 		 * @return string
1470 1470
 		 */
1471
-		public function preview_placeholder_text( $name = '' ) {
1472
-			return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . wp_sprintf( __( 'Placeholder for: %s', 'ayecode-connect' ), $name ) . "</div>";
1471
+		public function preview_placeholder_text($name = '') {
1472
+			return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . wp_sprintf(__('Placeholder for: %s', 'ayecode-connect'), $name) . "</div>";
1473 1473
 		}
1474 1474
 
1475 1475
 		/**
@@ -1479,13 +1479,13 @@  discard block
 block discarded – undo
1479 1479
 		 *
1480 1480
 		 * @return mixed
1481 1481
 		 */
1482
-		public function string_to_bool( $options ) {
1482
+		public function string_to_bool($options) {
1483 1483
 			// convert bool strings to booleans
1484
-			foreach ( $options as $key => $val ) {
1485
-				if ( $val == 'false' ) {
1486
-					$options[ $key ] = false;
1487
-				} elseif ( $val == 'true' ) {
1488
-					$options[ $key ] = true;
1484
+			foreach ($options as $key => $val) {
1485
+				if ($val == 'false') {
1486
+					$options[$key] = false;
1487
+				} elseif ($val == 'true') {
1488
+					$options[$key] = true;
1489 1489
 				}
1490 1490
 			}
1491 1491
 
@@ -1501,26 +1501,26 @@  discard block
 block discarded – undo
1501 1501
 		 *@since 1.0.12 Don't set checkbox default value if the value is empty.
1502 1502
 		 *
1503 1503
 		 */
1504
-		public function argument_values( $instance ) {
1504
+		public function argument_values($instance) {
1505 1505
 			$argument_values = array();
1506 1506
 
1507 1507
 			// set widget instance
1508 1508
 			$this->instance = $instance;
1509 1509
 
1510
-			if ( empty( $this->arguments ) ) {
1510
+			if (empty($this->arguments)) {
1511 1511
 				$this->arguments = $this->get_arguments();
1512 1512
 			}
1513 1513
 
1514
-			if ( ! empty( $this->arguments ) ) {
1515
-				foreach ( $this->arguments as $key => $args ) {
1514
+			if (!empty($this->arguments)) {
1515
+				foreach ($this->arguments as $key => $args) {
1516 1516
 					// set the input name from the key
1517 1517
 					$args['name'] = $key;
1518 1518
 					//
1519
-					$argument_values[ $key ] = isset( $instance[ $key ] ) ? $instance[ $key ] : '';
1520
-					if ( $args['type'] == 'checkbox' && $argument_values[ $key ] == '' ) {
1519
+					$argument_values[$key] = isset($instance[$key]) ? $instance[$key] : '';
1520
+					if ($args['type'] == 'checkbox' && $argument_values[$key] == '') {
1521 1521
 						// don't set default for an empty checkbox
1522
-					} elseif ( $argument_values[ $key ] == '' && isset( $args['default'] ) ) {
1523
-						$argument_values[ $key ] = $args['default'];
1522
+					} elseif ($argument_values[$key] == '' && isset($args['default'])) {
1523
+						$argument_values[$key] = $args['default'];
1524 1524
 					}
1525 1525
 				}
1526 1526
 			}
@@ -1547,12 +1547,12 @@  discard block
 block discarded – undo
1547 1547
 		 *
1548 1548
 		 */
1549 1549
 		public function get_arguments() {
1550
-			if ( empty( $this->arguments ) ) {
1550
+			if (empty($this->arguments)) {
1551 1551
 				$this->arguments = $this->set_arguments();
1552 1552
 			}
1553 1553
 
1554
-			$this->arguments = apply_filters( 'wp_super_duper_arguments', $this->arguments, $this->options, $this->instance );
1555
-			$this->arguments = $this->add_name_from_key( $this->arguments, true );
1554
+			$this->arguments = apply_filters('wp_super_duper_arguments', $this->arguments, $this->options, $this->instance);
1555
+			$this->arguments = $this->add_name_from_key($this->arguments, true);
1556 1556
 
1557 1557
 			return $this->arguments;
1558 1558
 		}
@@ -1564,7 +1564,7 @@  discard block
 block discarded – undo
1564 1564
 		 * @param array $widget_args
1565 1565
 		 * @param string $content
1566 1566
 		 */
1567
-		public function output( $args = array(), $widget_args = array(), $content = '' ) {
1567
+		public function output($args = array(), $widget_args = array(), $content = '') {
1568 1568
 
1569 1569
 		}
1570 1570
 
@@ -1572,9 +1572,9 @@  discard block
 block discarded – undo
1572 1572
 		 * Add the dynamic block code inline when the wp-block in enqueued.
1573 1573
 		 */
1574 1574
 		public function register_block() {
1575
-			wp_add_inline_script( 'wp-blocks', $this->block() );
1576
-			if ( class_exists( 'SiteOrigin_Panels' ) ) {
1577
-				wp_add_inline_script( 'wp-blocks', $this->siteorigin_js() );
1575
+			wp_add_inline_script('wp-blocks', $this->block());
1576
+			if (class_exists('SiteOrigin_Panels')) {
1577
+				wp_add_inline_script('wp-blocks', $this->siteorigin_js());
1578 1578
 			}
1579 1579
 		}
1580 1580
 
@@ -1588,9 +1588,9 @@  discard block
 block discarded – undo
1588 1588
 			$show      = false;
1589 1589
 			$arguments = $this->get_arguments();
1590 1590
 
1591
-			if ( ! empty( $arguments ) ) {
1592
-				foreach ( $arguments as $argument ) {
1593
-					if ( isset( $argument['advanced'] ) && $argument['advanced'] ) {
1591
+			if (!empty($arguments)) {
1592
+				foreach ($arguments as $argument) {
1593
+					if (isset($argument['advanced']) && $argument['advanced']) {
1594 1594
 						$show = true;
1595 1595
 						break; // no need to continue if we know we have it
1596 1596
 					}
@@ -1608,19 +1608,19 @@  discard block
 block discarded – undo
1608 1608
 		public function get_url() {
1609 1609
 			$url = $this->url;
1610 1610
 
1611
-			if ( ! $url ) {
1612
-				$content_dir = wp_normalize_path( untrailingslashit( WP_CONTENT_DIR ) );
1613
-				$content_url = untrailingslashit( WP_CONTENT_URL );
1611
+			if (!$url) {
1612
+				$content_dir = wp_normalize_path(untrailingslashit(WP_CONTENT_DIR));
1613
+				$content_url = untrailingslashit(WP_CONTENT_URL);
1614 1614
 
1615 1615
 				// Replace http:// to https://.
1616
-				if ( strpos( $content_url, 'http://' ) === 0 && strpos( plugins_url(), 'https://' ) === 0 ) {
1617
-					$content_url = str_replace( 'http://', 'https://', $content_url );
1616
+				if (strpos($content_url, 'http://') === 0 && strpos(plugins_url(), 'https://') === 0) {
1617
+					$content_url = str_replace('http://', 'https://', $content_url);
1618 1618
 				}
1619 1619
 
1620 1620
 				// Check if we are inside a plugin
1621
-				$file_dir = str_replace( "/includes", "", wp_normalize_path( dirname( __FILE__ ) ) );
1622
-				$url = str_replace( $content_dir, $content_url, $file_dir );
1623
-				$url = trailingslashit( $url );
1621
+				$file_dir = str_replace("/includes", "", wp_normalize_path(dirname(__FILE__)));
1622
+				$url = str_replace($content_dir, $content_url, $file_dir);
1623
+				$url = trailingslashit($url);
1624 1624
 				$this->url = $url;
1625 1625
 			}
1626 1626
 
@@ -1636,15 +1636,15 @@  discard block
 block discarded – undo
1636 1636
 
1637 1637
 			$url = $this->url;
1638 1638
 
1639
-			if ( ! $url ) {
1639
+			if (!$url) {
1640 1640
 				// check if we are inside a plugin
1641
-				$file_dir = str_replace( "/includes", "", dirname( __FILE__ ) );
1641
+				$file_dir = str_replace("/includes", "", dirname(__FILE__));
1642 1642
 
1643
-				$dir_parts = explode( "/wp-content/", $file_dir );
1644
-				$url_parts = explode( "/wp-content/", plugins_url() );
1643
+				$dir_parts = explode("/wp-content/", $file_dir);
1644
+				$url_parts = explode("/wp-content/", plugins_url());
1645 1645
 
1646
-				if ( ! empty( $url_parts[0] ) && ! empty( $dir_parts[1] ) ) {
1647
-					$url       = trailingslashit( $url_parts[0] . "/wp-content/" . $dir_parts[1] );
1646
+				if (!empty($url_parts[0]) && !empty($dir_parts[1])) {
1647
+					$url       = trailingslashit($url_parts[0] . "/wp-content/" . $dir_parts[1]);
1648 1648
 					$this->url = $url;
1649 1649
 				}
1650 1650
 			}
@@ -1665,45 +1665,45 @@  discard block
 block discarded – undo
1665 1665
 		 * @return string
1666 1666
 		 *@since 1.1.0
1667 1667
 		 */
1668
-		public function get_block_icon( $icon ) {
1668
+		public function get_block_icon($icon) {
1669 1669
 
1670 1670
 			// check if we have a Font Awesome icon
1671 1671
 			$fa_type = '';
1672
-			if ( substr( $icon, 0, 7 ) === "fas fa-" ) {
1672
+			if (substr($icon, 0, 7) === "fas fa-") {
1673 1673
 				$fa_type = 'solid';
1674
-			} elseif ( substr( $icon, 0, 7 ) === "far fa-" ) {
1674
+			} elseif (substr($icon, 0, 7) === "far fa-") {
1675 1675
 				$fa_type = 'regular';
1676
-			} elseif ( substr( $icon, 0, 7 ) === "fab fa-" ) {
1676
+			} elseif (substr($icon, 0, 7) === "fab fa-") {
1677 1677
 				$fa_type = 'brands';
1678 1678
 			} else {
1679 1679
 				$icon = "'" . $icon . "'";
1680 1680
 			}
1681 1681
 
1682 1682
 			// set the icon if we found one
1683
-			if ( $fa_type ) {
1684
-				$fa_icon = str_replace( array( "fas fa-", "far fa-", "fab fa-" ), "", $icon );
1683
+			if ($fa_type) {
1684
+				$fa_icon = str_replace(array("fas fa-", "far fa-", "fab fa-"), "", $icon);
1685 1685
 				$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 . "'}))";
1686 1686
 			}
1687 1687
 
1688 1688
 			return $icon;
1689 1689
 		}
1690 1690
 
1691
-		public function group_arguments( $arguments ) {
1692
-			if ( ! empty( $arguments ) ) {
1691
+		public function group_arguments($arguments) {
1692
+			if (!empty($arguments)) {
1693 1693
 				$temp_arguments = array();
1694
-				$general        = __( "General", 'ayecode-connect' );
1694
+				$general        = __("General", 'ayecode-connect');
1695 1695
 				$add_sections   = false;
1696
-				foreach ( $arguments as $key => $args ) {
1697
-					if ( isset( $args['group'] ) ) {
1698
-						$temp_arguments[ $args['group'] ][ $key ] = $args;
1696
+				foreach ($arguments as $key => $args) {
1697
+					if (isset($args['group'])) {
1698
+						$temp_arguments[$args['group']][$key] = $args;
1699 1699
 						$add_sections                             = true;
1700 1700
 					} else {
1701
-						$temp_arguments[ $general ][ $key ] = $args;
1701
+						$temp_arguments[$general][$key] = $args;
1702 1702
 					}
1703 1703
 				}
1704 1704
 
1705 1705
 				// only add sections if more than one
1706
-				if ( $add_sections ) {
1706
+				if ($add_sections) {
1707 1707
 					$arguments = $temp_arguments;
1708 1708
 				}
1709 1709
 			}
@@ -1716,38 +1716,38 @@  discard block
 block discarded – undo
1716 1716
 		 *
1717 1717
 		 * @since 1.1.17
1718 1718
 		 */
1719
-		public function group_block_tabs( $tabs, $arguments ) {
1720
-			if ( ! empty( $tabs ) && ! empty( $arguments ) ) {
1719
+		public function group_block_tabs($tabs, $arguments) {
1720
+			if (!empty($tabs) && !empty($arguments)) {
1721 1721
 				$has_sections = false;
1722 1722
 
1723
-				foreach ( $this->arguments as $key => $args ) {
1724
-					if ( isset( $args['group'] ) ) {
1723
+				foreach ($this->arguments as $key => $args) {
1724
+					if (isset($args['group'])) {
1725 1725
 						$has_sections = true;
1726 1726
 						break;
1727 1727
 					}
1728 1728
 				}
1729 1729
 
1730
-				if ( ! $has_sections ) {
1730
+				if (!$has_sections) {
1731 1731
 					return $tabs;
1732 1732
 				}
1733 1733
 
1734 1734
 				$new_tabs = array();
1735 1735
 
1736
-				foreach ( $tabs as $tab_key => $tab ) {
1736
+				foreach ($tabs as $tab_key => $tab) {
1737 1737
 					$new_groups = array();
1738 1738
 
1739
-					if ( ! empty( $tab['groups'] ) && is_array( $tab['groups'] ) ) {
1740
-						foreach ( $tab['groups'] as $group ) {
1741
-							if ( isset( $arguments[ $group ] ) ) {
1739
+					if (!empty($tab['groups']) && is_array($tab['groups'])) {
1740
+						foreach ($tab['groups'] as $group) {
1741
+							if (isset($arguments[$group])) {
1742 1742
 								$new_groups[] = $group;
1743 1743
 							}
1744 1744
 						}
1745 1745
 					}
1746 1746
 
1747
-					if ( ! empty( $new_groups ) ) {
1747
+					if (!empty($new_groups)) {
1748 1748
 						$tab['groups'] = $new_groups;
1749 1749
 
1750
-						$new_tabs[ $tab_key ] = $tab;
1750
+						$new_tabs[$tab_key] = $tab;
1751 1751
 					}
1752 1752
 				}
1753 1753
 
@@ -1774,7 +1774,7 @@  discard block
 block discarded – undo
1774 1774
 			?>
1775 1775
 			<script>
1776 1776
 			<?php
1777
-			if ( ! $sd_is_js_functions_loaded ) {
1777
+			if (!$sd_is_js_functions_loaded) {
1778 1778
 				$sd_is_js_functions_loaded = true;
1779 1779
 			?>
1780 1780
 function sd_show_view_options($this){
@@ -2043,7 +2043,7 @@  discard block
 block discarded – undo
2043 2043
 	}
2044 2044
 }
2045 2045
 
2046
-<?php if( !isset( $_REQUEST['sd-block-recover-debug'] ) ){ ?>
2046
+<?php if (!isset($_REQUEST['sd-block-recover-debug'])) { ?>
2047 2047
 // Wait will window is loaded before calling.
2048 2048
 window.onload = function() {
2049 2049
 	sd_auto_recover_blocks();
@@ -2222,7 +2222,7 @@  discard block
 block discarded – undo
2222 2222
 				$classes = [];
2223 2223
 
2224 2224
 				<?php
2225
-				if($aui_bs5){
2225
+				if ($aui_bs5) {
2226 2226
 					?>
2227 2227
 				$aui_bs5 = true;
2228 2228
 				$p_ml = 'ms-';
@@ -2231,7 +2231,7 @@  discard block
 block discarded – undo
2231 2231
 				$p_pl = 'ps-';
2232 2232
 				$p_pr = 'pe-';
2233 2233
 					<?php
2234
-				}else{
2234
+				} else {
2235 2235
 						?>
2236 2236
 				$aui_bs5 = false;
2237 2237
 				$p_ml = 'ml-';
@@ -2419,7 +2419,7 @@  discard block
 block discarded – undo
2419 2419
 			}
2420 2420
 
2421 2421
 			function sd_get_class_build_keys(){
2422
-				return <?php echo json_encode(sd_get_class_build_keys());?>;
2422
+				return <?php echo json_encode(sd_get_class_build_keys()); ?>;
2423 2423
 			}
2424 2424
 
2425 2425
 			<?php
@@ -2427,7 +2427,7 @@  discard block
 block discarded – undo
2427 2427
 
2428 2428
 			}
2429 2429
 
2430
-			if(method_exists($this,'block_global_js')){
2430
+			if (method_exists($this, 'block_global_js')) {
2431 2431
 					echo $this->block_global_js();
2432 2432
 			}
2433 2433
 			?>
@@ -2459,9 +2459,9 @@  discard block
 block discarded – undo
2459 2459
 					var InnerBlocks = blockEditor.InnerBlocks;
2460 2460
 
2461 2461
 					var term_query_type = '';
2462
-					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 "[]";} ?>;
2463
-					const taxonomies_<?php echo str_replace("-","_", $this->id);?> = [{label: "Please wait", value: 0}];
2464
-					const sort_by_<?php echo str_replace("-","_", $this->id);?> = [{label: "Please wait", value: 0}];
2462
+					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 "[]"; } ?>;
2463
+					const taxonomies_<?php echo str_replace("-", "_", $this->id); ?> = [{label: "Please wait", value: 0}];
2464
+					const sort_by_<?php echo str_replace("-", "_", $this->id); ?> = [{label: "Please wait", value: 0}];
2465 2465
 					const MediaUpload = wp.blockEditor.MediaUpload;
2466 2466
 
2467 2467
 					/**
@@ -2476,87 +2476,87 @@  discard block
 block discarded – undo
2476 2476
 					 * @return {?WPBlock}          The block, if it has been successfully
2477 2477
 					 *                             registered; otherwise `undefined`.
2478 2478
 					 */
2479
-					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.
2480
-						apiVersion: <?php echo isset($this->options['block-api-version']) ? absint($this->options['block-api-version']) : 2 ; ?>,
2481
-						title: '<?php echo addslashes( $this->options['name'] ); ?>', // Block title.
2482
-						description: '<?php echo addslashes( $this->options['widget_ops']['description'] )?>', // Block title.
2483
-						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/.
2479
+					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.
2480
+						apiVersion: <?php echo isset($this->options['block-api-version']) ? absint($this->options['block-api-version']) : 2; ?>,
2481
+						title: '<?php echo addslashes($this->options['name']); ?>', // Block title.
2482
+						description: '<?php echo addslashes($this->options['widget_ops']['description'])?>', // Block title.
2483
+						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/.
2484 2484
 						supports: {
2485 2485
 							<?php
2486
-							if(!isset($this->options['block-supports']['renaming'])){
2486
+							if (!isset($this->options['block-supports']['renaming'])) {
2487 2487
 								$this->options['block-supports']['renaming'] = false;
2488 2488
 							}
2489
-							if ( isset( $this->options['block-supports'] ) ) {
2490
-								echo $this->array_to_attributes( $this->options['block-supports'] );
2489
+							if (isset($this->options['block-supports'])) {
2490
+								echo $this->array_to_attributes($this->options['block-supports']);
2491 2491
 							}
2492 2492
 							?>
2493 2493
 						},
2494 2494
 						__experimentalLabel( attributes, { context } ) {
2495 2495
 							var visibility_html = attributes && attributes.visibility_conditions ? ' &#128065;' : '';
2496 2496
 							var metadata_name = attributes && attributes.metadata && attributes.metadata.name ? attributes.metadata.name : '';
2497
-							var label_name = <?php echo !empty($this->options['block-label']) ? $this->options['block-label'] : "'" . esc_attr( addslashes( $this->options['name'] ) ) . "'"; ?>;
2497
+							var label_name = <?php echo !empty($this->options['block-label']) ? $this->options['block-label'] : "'" . esc_attr(addslashes($this->options['name'])) . "'"; ?>;
2498 2498
 							return metadata_name ? metadata_name + visibility_html  : label_name + visibility_html;
2499 2499
 						},
2500
-						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.
2501
-						<?php if ( isset( $this->options['block-keywords'] ) ) {
2500
+						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.
2501
+						<?php if (isset($this->options['block-keywords'])) {
2502 2502
 						echo "keywords : " . $this->options['block-keywords'] . ",";
2503 2503
 						}
2504 2504
 
2505 2505
 
2506 2506
 						// block hover preview.
2507 2507
 						$example_args = array();
2508
-						if(!empty($this->arguments)){
2509
-							foreach($this->arguments as $key => $a_args){
2510
-								if(isset($a_args['example'])){
2508
+						if (!empty($this->arguments)) {
2509
+							foreach ($this->arguments as $key => $a_args) {
2510
+								if (isset($a_args['example'])) {
2511 2511
 									$example_args[$key] = $a_args['example'];
2512 2512
 								}
2513 2513
 							}
2514 2514
 						}
2515
-						$viewport_width = isset($this->options['example']['viewportWidth']) ? 'viewportWidth: '.absint($this->options['example']['viewportWidth']) : '';
2515
+						$viewport_width = isset($this->options['example']['viewportWidth']) ? 'viewportWidth: ' . absint($this->options['example']['viewportWidth']) : '';
2516 2516
 						$example_inner_blocks = !empty($this->options['example']['innerBlocks']) && is_array($this->options['example']['innerBlocks']) ? 'innerBlocks: ' . wp_json_encode($this->options['example']['innerBlocks']) : '';
2517
-						if( isset( $this->options['example'] ) && $this->options['example'] === false ){
2517
+						if (isset($this->options['example']) && $this->options['example'] === false) {
2518 2518
 							// no preview if set to false
2519
-						}elseif( !empty( $example_args ) ){
2520
-							echo "example : {attributes:{".$this->array_to_attributes( $example_args )."},$viewport_width},";
2521
-						}elseif( !empty( $this->options['example'] ) ){
2519
+						}elseif (!empty($example_args)) {
2520
+							echo "example : {attributes:{" . $this->array_to_attributes($example_args) . "},$viewport_width},";
2521
+						}elseif (!empty($this->options['example'])) {
2522 2522
 							unset($this->options['example']['viewportWidth']);
2523 2523
 							unset($this->options['example']['innerBlocks']);
2524
-							$example_atts = $this->array_to_attributes( $this->options['example'] );
2524
+							$example_atts = $this->array_to_attributes($this->options['example']);
2525 2525
 							$example_parts = array();
2526
-							if($example_atts){
2527
-								$example_parts[] = rtrim($example_atts,",");
2526
+							if ($example_atts) {
2527
+								$example_parts[] = rtrim($example_atts, ",");
2528 2528
 							}
2529
-							if($viewport_width){
2529
+							if ($viewport_width) {
2530 2530
 								$example_parts[] = $viewport_width;
2531 2531
 							}
2532
-							if($example_inner_blocks){
2532
+							if ($example_inner_blocks) {
2533 2533
 								$example_parts[] = $example_inner_blocks;
2534 2534
 							}
2535
-							if(!empty($example_parts)){
2536
-								echo "example : {".implode(',', $example_parts)."},";
2535
+							if (!empty($example_parts)) {
2536
+								echo "example : {" . implode(',', $example_parts) . "},";
2537 2537
 							}
2538
-						}else{
2538
+						} else {
2539 2539
 							echo 'example : {viewportWidth: 500},';
2540 2540
 						}
2541 2541
 
2542 2542
 
2543 2543
 
2544 2544
 						// limit to parent
2545
-						if( !empty( $this->options['parent'] ) ){
2546
-							echo "parent : " . wp_json_encode( $this->options['parent'] ) . ",";
2545
+						if (!empty($this->options['parent'])) {
2546
+							echo "parent : " . wp_json_encode($this->options['parent']) . ",";
2547 2547
 						}
2548 2548
 
2549 2549
 						// limit allowed blocks
2550
-						if( !empty( $this->options['allowed-blocks'] ) ){
2551
-							echo "allowedBlocks : " . wp_json_encode( $this->options['allowed-blocks'] ) . ",";
2550
+						if (!empty($this->options['allowed-blocks'])) {
2551
+							echo "allowedBlocks : " . wp_json_encode($this->options['allowed-blocks']) . ",";
2552 2552
 						}
2553 2553
 
2554 2554
 						// maybe set no_wrap
2555
-						$no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
2556
-						if ( isset( $this->arguments['no_wrap'] ) && $this->arguments['no_wrap'] ) {
2555
+						$no_wrap = isset($this->options['no_wrap']) && $this->options['no_wrap'] ? true : false;
2556
+						if (isset($this->arguments['no_wrap']) && $this->arguments['no_wrap']) {
2557 2557
 							$no_wrap = true;
2558 2558
 						}
2559
-						if ( $no_wrap ) {
2559
+						if ($no_wrap) {
2560 2560
 							$this->options['block-wrap'] = '';
2561 2561
 						}
2562 2562
 
@@ -2573,7 +2573,7 @@  discard block
 block discarded – undo
2573 2573
 
2574 2574
 							echo "attributes : {";
2575 2575
 
2576
-							if ( $show_advanced ) {
2576
+							if ($show_advanced) {
2577 2577
 								echo "show_advanced: {";
2578 2578
 								echo "	type: 'boolean',";
2579 2579
 								echo "  default: false,";
@@ -2581,57 +2581,57 @@  discard block
 block discarded – undo
2581 2581
 							}
2582 2582
 
2583 2583
 							// block wrap element
2584
-							if ( ! empty( $this->options['block-wrap'] ) ) { //@todo we should validate this?
2584
+							if (!empty($this->options['block-wrap'])) { //@todo we should validate this?
2585 2585
 								echo "block_wrap: {";
2586 2586
 								echo "	type: 'string',";
2587
-								echo "  default: '" . esc_attr( $this->options['block-wrap'] ) . "',";
2587
+								echo "  default: '" . esc_attr($this->options['block-wrap']) . "',";
2588 2588
 								echo "},";
2589 2589
 							}
2590 2590
 
2591 2591
 
2592
-							if ( ! empty( $this->arguments ) ) {
2592
+							if (!empty($this->arguments)) {
2593 2593
 
2594
-								foreach ( $this->arguments as $key => $args ) {
2594
+								foreach ($this->arguments as $key => $args) {
2595 2595
 
2596
-									if( $args['type'] == 'image' ||  $args['type'] == 'images' ){
2596
+									if ($args['type'] == 'image' || $args['type'] == 'images') {
2597 2597
 										$img_drag_drop = true;
2598 2598
 									}
2599 2599
 
2600 2600
 									// set if we should show alignment
2601
-									if ( $key == 'alignment' ) {
2601
+									if ($key == 'alignment') {
2602 2602
 										$show_alignment = true;
2603 2603
 									}
2604 2604
 
2605 2605
 									$extra = '';
2606 2606
 
2607
-									if ( $args['type'] == 'notice' ||  $args['type'] == 'tab' ) {
2607
+									if ($args['type'] == 'notice' || $args['type'] == 'tab') {
2608 2608
 										continue;
2609 2609
 									}
2610
-									elseif ( $args['type'] == 'checkbox' ) {
2610
+									elseif ($args['type'] == 'checkbox') {
2611 2611
 										$type    = 'boolean';
2612
-										$default = isset( $args['default'] ) && $args['default'] ? 'true' : 'false';
2613
-									} elseif ( $args['type'] == 'number' ) {
2612
+										$default = isset($args['default']) && $args['default'] ? 'true' : 'false';
2613
+									} elseif ($args['type'] == 'number') {
2614 2614
 										$type    = 'number';
2615
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2616
-									} elseif ( $args['type'] == 'select' && ! empty( $args['multiple'] ) ) {
2615
+										$default = isset($args['default']) ? "'" . $args['default'] . "'" : "''";
2616
+									} elseif ($args['type'] == 'select' && !empty($args['multiple'])) {
2617 2617
 										$type = 'array';
2618
-										if ( isset( $args['default'] ) && is_array( $args['default'] ) ) {
2619
-											$default = ! empty( $args['default'] ) ? "['" . implode( "','", $args['default'] ) . "']" : "[]";
2618
+										if (isset($args['default']) && is_array($args['default'])) {
2619
+											$default = !empty($args['default']) ? "['" . implode("','", $args['default']) . "']" : "[]";
2620 2620
 										} else {
2621
-											$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2621
+											$default = isset($args['default']) ? "'" . $args['default'] . "'" : "''";
2622 2622
 										}
2623
-									} elseif ( $args['type'] == 'tagselect' ) {
2623
+									} elseif ($args['type'] == 'tagselect') {
2624 2624
 										$type    = 'array';
2625
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2626
-									} elseif ( $args['type'] == 'multiselect' ) {
2625
+										$default = isset($args['default']) ? "'" . $args['default'] . "'" : "''";
2626
+									} elseif ($args['type'] == 'multiselect') {
2627 2627
 										$type    = 'array';
2628
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2629
-									} elseif ( $args['type'] == 'image_xy' ) {
2628
+										$default = isset($args['default']) ? "'" . $args['default'] . "'" : "''";
2629
+									} elseif ($args['type'] == 'image_xy') {
2630 2630
 										$type    = 'object';
2631
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2632
-									} elseif ( $args['type'] == 'image' ) {
2631
+										$default = isset($args['default']) ? "'" . $args['default'] . "'" : "''";
2632
+									} elseif ($args['type'] == 'image') {
2633 2633
 										$type    = 'string';
2634
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2634
+										$default = isset($args['default']) ? "'" . $args['default'] . "'" : "''";
2635 2635
 
2636 2636
 										// add a field for ID
2637 2637
 	//                                    echo $key . "_id : {";
@@ -2643,7 +2643,7 @@  discard block
 block discarded – undo
2643 2643
 
2644 2644
 									} else {
2645 2645
 										$type    = !empty($args['hidden_type']) ? esc_attr($args['hidden_type']) : 'string';
2646
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
2646
+										$default = isset($args['default']) ? "'" . $args['default'] . "'" : "''";
2647 2647
 
2648 2648
 									}
2649 2649
 									echo $key . " : {";
@@ -2656,7 +2656,7 @@  discard block
 block discarded – undo
2656 2656
 							echo "content : {type : 'string',default: 'Please select the attributes in the block settings'},";
2657 2657
 							echo "sd_shortcode : {type : 'string',default: ''},";
2658 2658
 
2659
-							if(!empty($this->options['nested-block']) || !empty($this->arguments['html']) ){
2659
+							if (!empty($this->options['nested-block']) || !empty($this->arguments['html'])) {
2660 2660
 								echo "sd_shortcode_close : {type : 'string',default: ''},";
2661 2661
 							}
2662 2662
 
@@ -2674,7 +2674,7 @@  discard block
 block discarded – undo
2674 2674
 
2675 2675
 <?php
2676 2676
 // only include the drag/drop functions if required.
2677
-if( $img_drag_drop ){
2677
+if ($img_drag_drop) {
2678 2678
 
2679 2679
 ?>
2680 2680
 
@@ -2740,9 +2740,9 @@  discard block
 block discarded – undo
2740 2740
 							}
2741 2741
 
2742 2742
 							<?php
2743
-							if(!empty($this->options['block-edit-raw'])) {
2743
+							if (!empty($this->options['block-edit-raw'])) {
2744 2744
 								echo $this->options['block-edit-raw']; // strings have to be in single quotes, may cause issues
2745
-							}else{
2745
+							} else {
2746 2746
 							?>
2747 2747
 
2748 2748
 function hasSelectedInnerBlock(props) {
@@ -2766,7 +2766,7 @@  discard block
 block discarded – undo
2766 2766
 	var $value = '';
2767 2767
 	<?php
2768 2768
 	// if we have a post_type and a category then link them
2769
-	if( isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked']) ){
2769
+	if (isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked'])) {
2770 2770
 	?>
2771 2771
 	if(typeof(prev_attributes[props.clientId]) != 'undefined'){
2772 2772
 		$pt = props.attributes.post_type;
@@ -2781,9 +2781,9 @@  discard block
 block discarded – undo
2781 2781
 		}
2782 2782
 <?php
2783 2783
 	$cat_path = '';
2784
-	if ( ! empty( $this->arguments['post_type']['onchange_rest']['path'] ) ) {
2785
-		$cat_path = esc_js( strip_tags( $this->arguments['post_type']['onchange_rest']['path'] ) );
2786
-		$cat_path = str_replace( array( '&quot;', '&#039;' ), array( '"', "'" ), $cat_path );
2784
+	if (!empty($this->arguments['post_type']['onchange_rest']['path'])) {
2785
+		$cat_path = esc_js(strip_tags($this->arguments['post_type']['onchange_rest']['path']));
2786
+		$cat_path = str_replace(array('&quot;', '&#039;'), array('"', "'"), $cat_path);
2787 2787
 	}
2788 2788
 ?>
2789 2789
 		/* taxonomies */
@@ -2791,15 +2791,15 @@  discard block
 block discarded – undo
2791 2791
 			if (!window.gdCPTCats) {
2792 2792
 				window.gdCPTCats = [];
2793 2793
 			}
2794
-			var gdCatPath = "<?php echo ( ! empty( $cat_path ) ? $cat_path : "/wp/v2/" + $value + "/categories/?per_page=100" ); ?>";
2794
+			var gdCatPath = "<?php echo (!empty($cat_path) ? $cat_path : "/wp/v2/" +$value + "/categories/?per_page=100"); ?>";
2795 2795
 			if (window.gdCPTCats[gdCatPath]) {
2796 2796
 				terms = window.gdCPTCats[gdCatPath];
2797
-				while (taxonomies_<?php echo str_replace("-","_", $this->id);?>.length) {
2798
-					taxonomies_<?php echo str_replace("-","_", $this->id);?>.pop();
2797
+				while (taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.length) {
2798
+					taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.pop();
2799 2799
 				}
2800
-				taxonomies_<?php echo str_replace("-","_", $this->id);?>.push({label: "All", value: 0});
2800
+				taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.push({label: "All", value: 0});
2801 2801
 				jQuery.each( terms, function( key, val ) {
2802
-					taxonomies_<?php echo str_replace("-","_", $this->id);?>.push({label: val.name, value: val.id});
2802
+					taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.push({label: val.name, value: val.id});
2803 2803
 				});
2804 2804
 
2805 2805
 				/* Setting the value back and fourth fixes the no update issue that sometimes happens where it won't update the options. */
@@ -2809,12 +2809,12 @@  discard block
 block discarded – undo
2809 2809
 			} else {
2810 2810
 				wp.apiFetch({path: gdCatPath}).then(terms => {
2811 2811
 					window.gdCPTCats[gdCatPath] = terms;
2812
-					while (taxonomies_<?php echo str_replace("-","_", $this->id);?>.length) {
2813
-						taxonomies_<?php echo str_replace("-","_", $this->id);?>.pop();
2812
+					while (taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.length) {
2813
+						taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.pop();
2814 2814
 					}
2815
-					taxonomies_<?php echo str_replace("-","_", $this->id);?>.push({label: "All", value: 0});
2815
+					taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.push({label: "All", value: 0});
2816 2816
 					jQuery.each( terms, function( key, val ) {
2817
-						taxonomies_<?php echo str_replace("-","_", $this->id);?>.push({label: val.name, value: val.id});
2817
+						taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.push({label: val.name, value: val.id});
2818 2818
 					});
2819 2819
 
2820 2820
 					/* Setting the value back and fourth fixes the no update issue that sometimes happens where it won't update the options. */
@@ -2822,7 +2822,7 @@  discard block
 block discarded – undo
2822 2822
 					props.setAttributes({category: [0] });
2823 2823
 					props.setAttributes({category: $old_cat_value });
2824 2824
 
2825
-					return taxonomies_<?php echo str_replace("-","_", $this->id);?>;
2825
+					return taxonomies_<?php echo str_replace("-", "_", $this->id); ?>;
2826 2826
 				});
2827 2827
 			}
2828 2828
 		}
@@ -2834,12 +2834,12 @@  discard block
 block discarded – undo
2834 2834
 			}
2835 2835
 			if (window.gdCPTSort[$pt]) {
2836 2836
 				response = window.gdCPTSort[$pt];
2837
-				while (sort_by_<?php echo str_replace("-","_", $this->id);?>.length) {
2838
-					sort_by_<?php echo str_replace("-","_", $this->id);?>.pop();
2837
+				while (sort_by_<?php echo str_replace("-", "_", $this->id); ?>.length) {
2838
+					sort_by_<?php echo str_replace("-", "_", $this->id); ?>.pop();
2839 2839
 				}
2840 2840
 
2841 2841
 				jQuery.each( response, function( key, val ) {
2842
-					sort_by_<?php echo str_replace("-","_", $this->id);?>.push({label: val, value: key});
2842
+					sort_by_<?php echo str_replace("-", "_", $this->id); ?>.push({label: val, value: key});
2843 2843
 				});
2844 2844
 
2845 2845
 				// setting the value back and fourth fixes the no update issue that sometimes happens where it won't update the options.
@@ -2854,12 +2854,12 @@  discard block
 block discarded – undo
2854 2854
 				jQuery.post(ajaxurl, data, function(response) {
2855 2855
 					response = JSON.parse(response);
2856 2856
 					window.gdCPTSort[$pt] = response;
2857
-					while (sort_by_<?php echo str_replace("-","_", $this->id);?>.length) {
2858
-						sort_by_<?php echo str_replace("-","_", $this->id);?>.pop();
2857
+					while (sort_by_<?php echo str_replace("-", "_", $this->id); ?>.length) {
2858
+						sort_by_<?php echo str_replace("-", "_", $this->id); ?>.pop();
2859 2859
 					}
2860 2860
 
2861 2861
 					jQuery.each( response, function( key, val ) {
2862
-						sort_by_<?php echo str_replace("-","_", $this->id);?>.push({label: val, value: key});
2862
+						sort_by_<?php echo str_replace("-", "_", $this->id); ?>.push({label: val, value: key});
2863 2863
 					});
2864 2864
 
2865 2865
 					// setting the value back and fourth fixes the no update issue that sometimes happens where it won't update the options.
@@ -2867,7 +2867,7 @@  discard block
 block discarded – undo
2867 2867
 					props.setAttributes({sort_by: [0] });
2868 2868
 					props.setAttributes({sort_by: $old_sort_by_value });
2869 2869
 
2870
-					return sort_by_<?php echo str_replace("-","_", $this->id);?>;
2870
+					return sort_by_<?php echo str_replace("-", "_", $this->id); ?>;
2871 2871
 				});
2872 2872
 			}
2873 2873
 		}
@@ -2875,9 +2875,9 @@  discard block
 block discarded – undo
2875 2875
 	<?php } ?>
2876 2876
 <?php
2877 2877
 $current_screen = function_exists('get_current_screen') ? get_current_screen() : '';
2878
-if(!empty($current_screen->base) && $current_screen->base==='widgets'){
2878
+if (!empty($current_screen->base) && $current_screen->base === 'widgets') {
2879 2879
 	echo 'const { deviceType } = "";';
2880
-}else{
2880
+} else {
2881 2881
 ?>
2882 2882
 /** Get device type const. */
2883 2883
 const { deviceType } = wp.data.useSelect != 'undefined' ?  wp.data.useSelect(select => {
@@ -2907,13 +2907,13 @@  discard block
 block discarded – undo
2907 2907
 
2908 2908
 									var data = {
2909 2909
 										'action': 'super_duper_output_shortcode',
2910
-										'shortcode': '<?php echo $this->options['base_id'];?>',
2910
+										'shortcode': '<?php echo $this->options['base_id']; ?>',
2911 2911
 										'attributes': props.attributes,
2912 2912
 										'block_parent_name': parentBlocks.length ? parentBlocks[parentBlocks.length - 1].name : '',
2913
-										'post_id': <?php global $post; if ( isset( $post->ID ) ) {
2913
+										'post_id': <?php global $post; if (isset($post->ID)) {
2914 2914
 										echo $post->ID;
2915
-									}else{echo '0';}?>,
2916
-										'_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_output_shortcode' );?>'
2915
+									} else {echo '0'; }?>,
2916
+										'_ajax_nonce': '<?php echo wp_create_nonce('super_duper_output_shortcode'); ?>'
2917 2917
 									};
2918 2918
 
2919 2919
 									jQuery.post(ajaxurl, data, function (response) {
@@ -2922,17 +2922,17 @@  discard block
 block discarded – undo
2922 2922
 
2923 2923
 										// if the content is empty then we place some placeholder text
2924 2924
 										if (env == '') {
2925
-											env = "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" + "<?php _e( 'Placeholder for:', 'ayecode-connect' );?> " + props.name + "</div>";
2925
+											env = "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" + "<?php _e('Placeholder for:', 'ayecode-connect'); ?> " + props.name + "</div>";
2926 2926
 										}
2927 2927
 
2928 2928
 										 <?php
2929
-										if(!empty($this->options['nested-block'])){
2929
+										if (!empty($this->options['nested-block'])) {
2930 2930
 											?>
2931 2931
 											// props.setAttributes({content: env});
2932 2932
 										is_fetching = false;
2933 2933
 										prev_attributes[props.clientId] = props.attributes;
2934 2934
 											 <?php
2935
-										}else{
2935
+										} else {
2936 2936
 										?>
2937 2937
 										props.setAttributes({content: env});
2938 2938
 										is_fetching = false;
@@ -2958,38 +2958,38 @@  discard block
 block discarded – undo
2958 2958
 							}
2959 2959
 
2960 2960
 							<?php
2961
-							if(!empty($this->options['block-edit-js'])) {
2962
-								echo  $this->options['block-edit-js'] ; // strings have to be in single quotes, may cause issues
2961
+							if (!empty($this->options['block-edit-js'])) {
2962
+								echo  $this->options['block-edit-js']; // strings have to be in single quotes, may cause issues
2963 2963
 							}
2964 2964
 
2965 2965
 
2966 2966
 
2967 2967
 
2968
-							if(empty($this->options['block-save-return'])){
2968
+							if (empty($this->options['block-save-return'])) {
2969 2969
 							?>
2970 2970
 								///////////////////////////////////////////////////////////////////////
2971 2971
 
2972 2972
 									 // build the shortcode.
2973
-								shortcode = "[<?php echo $this->options['base_id'];?>";
2973
+								shortcode = "[<?php echo $this->options['base_id']; ?>";
2974 2974
 								<?php
2975 2975
 
2976
-								if(! empty( $this->arguments )){
2976
+								if (!empty($this->arguments)) {
2977 2977
 
2978
-								foreach($this->arguments as $key => $args){
2978
+								foreach ($this->arguments as $key => $args) {
2979 2979
 								   // if($args['type']=='tabs'){continue;}
2980 2980
 
2981 2981
 								   // don't add metadata arguments
2982
-								   if (substr($key, 0, 9 ) === 'metadata_') {
2982
+								   if (substr($key, 0, 9) === 'metadata_') {
2983 2983
 									   continue;
2984 2984
 								   }
2985 2985
 								?>
2986
-								if (props.attributes.hasOwnProperty("<?php echo esc_attr( $key );?>")) {
2987
-									if ('<?php echo esc_attr( $key );?>' == 'html') {
2988
-									} else if ('<?php echo esc_attr( $args['type'] );?>' == 'image_xy') {
2989
-										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 +"}' " : "";
2986
+								if (props.attributes.hasOwnProperty("<?php echo esc_attr($key); ?>")) {
2987
+									if ('<?php echo esc_attr($key); ?>' == 'html') {
2988
+									} else if ('<?php echo esc_attr($args['type']); ?>' == 'image_xy') {
2989
+										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 +"}' " : "";
2990 2990
 									} else {
2991
-										//shortcode += props.attributes.<?php echo esc_attr( $key );?>.length ? " <?php echo esc_attr( $key );?>='" + props.attributes.<?php echo esc_attr( $key );?>.toString().replace('\'','&#39;') + "' " : "";
2992
-										shortcode +=  " <?php echo esc_attr( $key );?>='" + props.attributes.<?php echo esc_attr( $key );?>.toString().replace('\'','&#39;') + "' ";
2991
+										//shortcode += props.attributes.<?php echo esc_attr($key); ?>.length ? " <?php echo esc_attr($key); ?>='" + props.attributes.<?php echo esc_attr($key); ?>.toString().replace('\'','&#39;') + "' " : "";
2992
+										shortcode +=  " <?php echo esc_attr($key); ?>='" + props.attributes.<?php echo esc_attr($key); ?>.toString().replace('\'','&#39;') + "' ";
2993 2993
 									}
2994 2994
 								}
2995 2995
 								<?php
@@ -3004,8 +3004,8 @@  discard block
 block discarded – undo
3004 3004
 									props.setAttributes({sd_shortcode: shortcode});
3005 3005
 
3006 3006
 									<?php
3007
-									if(!empty($this->options['nested-block']) || !empty($this->arguments['html']) ){
3008
-										echo "props.setAttributes({sd_shortcode_close: '[/".esc_attr( $this->options['base_id'] )."]'});";
3007
+									if (!empty($this->options['nested-block']) || !empty($this->arguments['html'])) {
3008
+										echo "props.setAttributes({sd_shortcode_close: '[/" . esc_attr($this->options['base_id']) . "]'});";
3009 3009
 									}
3010 3010
 									?>
3011 3011
 								}
@@ -3020,7 +3020,7 @@  discard block
 block discarded – undo
3020 3020
 
3021 3021
 								el(wp.blockEditor.BlockControls, {key: 'controls'},
3022 3022
 
3023
-									<?php if($show_alignment){?>
3023
+									<?php if ($show_alignment) {?>
3024 3024
 									el(
3025 3025
 										wp.blockEditor.AlignmentToolbar,
3026 3026
 										{
@@ -3038,9 +3038,9 @@  discard block
 block discarded – undo
3038 3038
 
3039 3039
 									<?php
3040 3040
 
3041
-									if(! empty( $this->arguments )){
3041
+									if (!empty($this->arguments)) {
3042 3042
 
3043
-									if ( $show_advanced ) {
3043
+									if ($show_advanced) {
3044 3044
 									?>
3045 3045
 									el('div', {
3046 3046
 											style: {'padding-left': '16px','padding-right': '16px'}
@@ -3060,42 +3060,42 @@  discard block
 block discarded – undo
3060 3060
 									<?php
3061 3061
 									}
3062 3062
 
3063
-									$arguments = $this->group_arguments( $this->arguments );
3064
-									$block_group_tabs = ! empty( $this->options['block_group_tabs'] ) ? $this->group_block_tabs( $this->options['block_group_tabs'], $arguments ) : array();
3063
+									$arguments = $this->group_arguments($this->arguments);
3064
+									$block_group_tabs = !empty($this->options['block_group_tabs']) ? $this->group_block_tabs($this->options['block_group_tabs'], $arguments) : array();
3065 3065
 
3066 3066
 									// Do we have sections?
3067 3067
 									$has_sections = $arguments == $this->arguments ? false : true;
3068 3068
 
3069
-									if($has_sections){
3069
+									if ($has_sections) {
3070 3070
 									$panel_count = 0;
3071 3071
 									$open_tab = '';
3072 3072
 
3073 3073
 									$open_tab_groups = array();
3074 3074
 									$used_tabs = array();
3075 3075
 
3076
-									foreach ( $arguments as $key => $args ) {
3076
+									foreach ($arguments as $key => $args) {
3077 3077
 										$close_tab = false;
3078 3078
 										$close_tabs = false;
3079 3079
 
3080
-										 if ( ! empty( $block_group_tabs ) ) {
3081
-											foreach ( $block_group_tabs as $tab_name => $tab_args ) {
3082
-												if ( in_array( $key, $tab_args['groups'] ) ) {
3080
+										 if (!empty($block_group_tabs)) {
3081
+											foreach ($block_group_tabs as $tab_name => $tab_args) {
3082
+												if (in_array($key, $tab_args['groups'])) {
3083 3083
 													$open_tab_groups[] = $key;
3084 3084
 
3085
-													if ( $open_tab != $tab_name ) {
3085
+													if ($open_tab != $tab_name) {
3086 3086
 														$tab_args['tab']['tabs_open'] = $open_tab == '' ? true : false;
3087 3087
 														$tab_args['tab']['open'] = true;
3088 3088
 
3089
-														$this->block_tab_start( '', $tab_args );
3089
+														$this->block_tab_start('', $tab_args);
3090 3090
 														$open_tab = $tab_name;
3091 3091
 														$used_tabs[] = $tab_name;
3092 3092
 													}
3093 3093
 
3094
-													if ( $open_tab_groups == $tab_args['groups'] ) {
3094
+													if ($open_tab_groups == $tab_args['groups']) {
3095 3095
 														$close_tab = true;
3096 3096
 														$open_tab_groups = array();
3097 3097
 
3098
-														if ( $used_tabs == array_keys( $block_group_tabs ) ) {
3098
+														if ($used_tabs == array_keys($block_group_tabs)) {
3099 3099
 															$close_tabs = true;
3100 3100
 														}
3101 3101
 													}
@@ -3104,27 +3104,27 @@  discard block
 block discarded – undo
3104 3104
 										}
3105 3105
 										?>
3106 3106
 										el(wp.components.PanelBody, {
3107
-												title: '<?php esc_attr_e( $key ); ?>',
3108
-												initialOpen: <?php if ( $panel_count ) {
3107
+												title: '<?php esc_attr_e($key); ?>',
3108
+												initialOpen: <?php if ($panel_count) {
3109 3109
 												echo "false";
3110 3110
 											} else {
3111 3111
 												echo "true";
3112 3112
 											}?>
3113 3113
 											},
3114 3114
 											<?php
3115
-											foreach ( $args as $k => $a ) {
3116
-												$this->block_tab_start( $k, $a );
3117
-												$this->block_row_start( $k, $a );
3118
-												$this->build_block_arguments( $k, $a );
3119
-												$this->block_row_end( $k, $a );
3120
-												$this->block_tab_end( $k, $a );
3115
+											foreach ($args as $k => $a) {
3116
+												$this->block_tab_start($k, $a);
3117
+												$this->block_row_start($k, $a);
3118
+												$this->build_block_arguments($k, $a);
3119
+												$this->block_row_end($k, $a);
3120
+												$this->block_tab_end($k, $a);
3121 3121
 											}
3122 3122
 											?>
3123 3123
 										),
3124 3124
 										<?php
3125
-										$panel_count ++;
3125
+										$panel_count++;
3126 3126
 
3127
-										if($close_tab || $close_tabs){
3127
+										if ($close_tab || $close_tabs) {
3128 3128
 											$tab_args = array(
3129 3129
 												'tab'	=> array(
3130 3130
 													'tabs_close' => $close_tabs,
@@ -3132,24 +3132,24 @@  discard block
 block discarded – undo
3132 3132
 												)
3133 3133
 
3134 3134
 											);
3135
-											$this->block_tab_end( '', $tab_args );
3135
+											$this->block_tab_end('', $tab_args);
3136 3136
 //											echo '###close'; print_r($tab_args);
3137 3137
 											$panel_count = 0;
3138 3138
 										}
3139 3139
 //
3140 3140
 
3141 3141
 									}
3142
-									}else {
3142
+									} else {
3143 3143
 									?>
3144 3144
 									el(wp.components.PanelBody, {
3145
-											title: '<?php esc_attr_e( "Settings", 'ayecode-connect' ); ?>',
3145
+											title: '<?php esc_attr_e("Settings", 'ayecode-connect'); ?>',
3146 3146
 											initialOpen: true
3147 3147
 										},
3148 3148
 										<?php
3149
-										foreach ( $this->arguments as $key => $args ) {
3150
-											$this->block_row_start( $key, $args );
3151
-											$this->build_block_arguments( $key, $args );
3152
-											$this->block_row_end( $key, $args );
3149
+										foreach ($this->arguments as $key => $args) {
3150
+											$this->block_row_start($key, $args);
3151
+											$this->build_block_arguments($key, $args);
3152
+											$this->block_row_end($key, $args);
3153 3153
 										}
3154 3154
 										?>
3155 3155
 									),
@@ -3163,11 +3163,11 @@  discard block
 block discarded – undo
3163 3163
 
3164 3164
 								<?php
3165 3165
 								// If the user sets block-output array then build it
3166
-								if ( ! empty( $this->options['block-output'] ) ) {
3167
-								$this->block_element( $this->options['block-output'] );
3168
-							}elseif(!empty($this->options['block-edit-return'])){
3166
+								if (!empty($this->options['block-output'])) {
3167
+								$this->block_element($this->options['block-output']);
3168
+							}elseif (!empty($this->options['block-edit-return'])) {
3169 3169
 								   echo $this->options['block-edit-return'];
3170
-							}else{
3170
+							} else {
3171 3171
 								// if no block-output is set then we try and get the shortcode html output via ajax.
3172 3172
 								$block_edit_wrap_tag = !empty($this->options['block_edit_wrap_tag']) ? esc_attr($this->options['block_edit_wrap_tag']) : 'div';
3173 3173
 								?>
@@ -3194,27 +3194,27 @@  discard block
 block discarded – undo
3194 3194
 							var align = '';
3195 3195
 
3196 3196
 							// build the shortcode.
3197
-							var content = "[<?php echo $this->options['base_id'];?>";
3197
+							var content = "[<?php echo $this->options['base_id']; ?>";
3198 3198
 							$html = '';
3199 3199
 							<?php
3200 3200
 
3201
-							if(! empty( $this->arguments )){
3201
+							if (!empty($this->arguments)) {
3202 3202
 
3203
-							foreach($this->arguments as $key => $args){
3203
+							foreach ($this->arguments as $key => $args) {
3204 3204
 							   // if($args['type']=='tabs'){continue;}
3205 3205
 
3206 3206
 							   // don't add metadata arguments
3207
-							   if (substr($key, 0, 9 ) === 'metadata_') {
3207
+							   if (substr($key, 0, 9) === 'metadata_') {
3208 3208
 								   continue;
3209 3209
 							   }
3210 3210
 							?>
3211
-							if (attr.hasOwnProperty("<?php echo esc_attr( $key );?>")) {
3212
-								if ('<?php echo esc_attr( $key );?>' == 'html') {
3213
-									$html = attr.<?php echo esc_attr( $key );?>;
3214
-								} else if ('<?php echo esc_attr( $args['type'] );?>' == 'image_xy') {
3215
-									content += " <?php echo esc_attr( $key );?>='{x:" + attr.<?php echo esc_attr( $key );?>.x + ",y:"+attr.<?php echo esc_attr( $key );?>.y +"}' ";
3211
+							if (attr.hasOwnProperty("<?php echo esc_attr($key); ?>")) {
3212
+								if ('<?php echo esc_attr($key); ?>' == 'html') {
3213
+									$html = attr.<?php echo esc_attr($key); ?>;
3214
+								} else if ('<?php echo esc_attr($args['type']); ?>' == 'image_xy') {
3215
+									content += " <?php echo esc_attr($key); ?>='{x:" + attr.<?php echo esc_attr($key); ?>.x + ",y:"+attr.<?php echo esc_attr($key); ?>.y +"}' ";
3216 3216
 								} else {
3217
-									content += " <?php echo esc_attr( $key );?>='" + attr.<?php echo esc_attr( $key );?>.toString().replace('\'','&#39;') + "' ";
3217
+									content += " <?php echo esc_attr($key); ?>='" + attr.<?php echo esc_attr($key); ?>.toString().replace('\'','&#39;') + "' ";
3218 3218
 								}
3219 3219
 							}
3220 3220
 							<?php
@@ -3234,7 +3234,7 @@  discard block
 block discarded – undo
3234 3234
 							?>
3235 3235
 							// if has html element
3236 3236
 							if ($html) {
3237
-								//content += $html + "[/<?php echo $this->options['base_id'];?>]";
3237
+								//content += $html + "[/<?php echo $this->options['base_id']; ?>]";
3238 3238
 							}
3239 3239
 
3240 3240
 							// @todo should we add inline style here or just css classes?
@@ -3264,7 +3264,7 @@  discard block
 block discarded – undo
3264 3264
 //                                <x?php
3265 3265
 //							}else
3266 3266
 
3267
-							if(!empty($this->options['block-output'])){
3267
+							if (!empty($this->options['block-output'])) {
3268 3268
 //                               echo "return";
3269 3269
 //                               $this->block_element( $this->options['block-output'], true );
3270 3270
 //                               echo ";";
@@ -3274,30 +3274,30 @@  discard block
 block discarded – undo
3274 3274
 								   '',
3275 3275
 								   {},
3276 3276
 								  // el('', {dangerouslySetInnerHTML: {__html: content}}),
3277
-								   <?php $this->block_element( $this->options['block-output'], true ); ?>
3278
-								  // el('', {dangerouslySetInnerHTML: {__html: "[/<?php echo $this->options['base_id'];?>]"}})
3277
+								   <?php $this->block_element($this->options['block-output'], true); ?>
3278
+								  // el('', {dangerouslySetInnerHTML: {__html: "[/<?php echo $this->options['base_id']; ?>]"}})
3279 3279
 							   );
3280 3280
 								<?php
3281 3281
 
3282
-							}elseif(!empty($this->options['block-save-return'])){
3282
+							}elseif (!empty($this->options['block-save-return'])) {
3283 3283
 								   echo 'return ' . $this->options['block-save-return'];
3284
-							}elseif(!empty($this->options['nested-block'])){
3284
+							}elseif (!empty($this->options['nested-block'])) {
3285 3285
 								?>
3286 3286
 							  return el(
3287 3287
 								   '',
3288 3288
 								   {},
3289 3289
 								   el('', {dangerouslySetInnerHTML: {__html: content+"\n"}}),
3290 3290
 								   InnerBlocks.Content ? el( InnerBlocks.Content ) : '', // @todo i think we need a comma here
3291
-								 //  el('', {dangerouslySetInnerHTML: {__html: "[/<?php echo $this->options['base_id'];?>]"}})
3291
+								 //  el('', {dangerouslySetInnerHTML: {__html: "[/<?php echo $this->options['base_id']; ?>]"}})
3292 3292
 							   );
3293 3293
 								<?php
3294
-							}elseif(!empty( $this->options['block-save-return'] ) ){
3295
-								echo "return ". $this->options['block-edit-return'].";";
3296
-							}elseif(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){
3294
+							}elseif (!empty($this->options['block-save-return'])) {
3295
+								echo "return " . $this->options['block-edit-return'] . ";";
3296
+							}elseif (isset($this->options['block-wrap']) && $this->options['block-wrap'] == '') {
3297 3297
 							?>
3298 3298
 							return content;
3299 3299
 							<?php
3300
-							}else{
3300
+							} else {
3301 3301
 							?>
3302 3302
 							var block_wrap = 'div';
3303 3303
 							if (attr.hasOwnProperty("block_wrap")) {
@@ -3326,48 +3326,48 @@  discard block
 block discarded – undo
3326 3326
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
3327 3327
 			 */
3328 3328
 
3329
-			return str_replace( array(
3329
+			return str_replace(array(
3330 3330
 				'<script>',
3331 3331
 				'</script>'
3332
-			), '', $output );
3332
+			), '', $output);
3333 3333
 		}
3334 3334
 
3335 3335
 
3336 3336
 
3337
-		public function block_row_start($key, $args){
3337
+		public function block_row_start($key, $args) {
3338 3338
 
3339 3339
 			// check for row
3340
-			if(!empty($args['row'])){
3340
+			if (!empty($args['row'])) {
3341 3341
 
3342
-				if(!empty($args['row']['open'])){
3342
+				if (!empty($args['row']['open'])) {
3343 3343
 
3344 3344
 				// element require
3345
-				$element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
3346
-				$device_type = ! empty( $args['device_type'] ) ? esc_attr($args['device_type']) : '';
3347
-				$device_type_require = ! empty( $args['device_type'] ) ? " deviceType == '" . esc_attr($device_type) . "' && " : '';
3345
+				$element_require = !empty($args['element_require']) ? $this->block_props_replace($args['element_require'], true) . " && " : "";
3346
+				$device_type = !empty($args['device_type']) ? esc_attr($args['device_type']) : '';
3347
+				$device_type_require = !empty($args['device_type']) ? " deviceType == '" . esc_attr($device_type) . "' && " : '';
3348 3348
 				$device_type_icon = '';
3349
-				if($device_type=='Desktop'){
3349
+				if ($device_type == 'Desktop') {
3350 3350
 					$device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3351
-				}elseif($device_type=='Tablet'){
3351
+				}elseif ($device_type == 'Tablet') {
3352 3352
 					$device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3353
-				}elseif($device_type=='Mobile'){
3353
+				}elseif ($device_type == 'Mobile') {
3354 3354
 					$device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3355 3355
 				}
3356 3356
 				echo $element_require;
3357 3357
 				echo $device_type_require;
3358 3358
 
3359
-					if(false){?><script><?php }?>
3359
+					if (false) {?><script><?php }?>
3360 3360
 						el('div', {
3361 3361
 								className: 'bsui components-base-control',
3362 3362
 							},
3363
-							<?php if(!empty($args['row']['title'])){ ?>
3363
+							<?php if (!empty($args['row']['title'])) { ?>
3364 3364
 							el('label', {
3365 3365
 									className: 'components-base-control__label position-relative',
3366 3366
 									style: {width:"100%"}
3367 3367
 								},
3368
-								el('span',{dangerouslySetInnerHTML: {__html: '<?php echo addslashes( $args['row']['title'] ) ?>'}}),
3369
-								<?php if($device_type_icon){ ?>
3370
-									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)"}})
3368
+								el('span',{dangerouslySetInnerHTML: {__html: '<?php echo addslashes($args['row']['title']) ?>'}}),
3369
+								<?php if ($device_type_icon) { ?>
3370
+									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)"}})
3371 3371
 								<?php
3372 3372
 								}
3373 3373
 								?>
@@ -3375,17 +3375,17 @@  discard block
 block discarded – undo
3375 3375
 
3376 3376
 							),
3377 3377
 							<?php }?>
3378
-							<?php if(!empty($args['row']['desc'])){ ?>
3378
+							<?php if (!empty($args['row']['desc'])) { ?>
3379 3379
 							el('p', {
3380 3380
 									className: 'components-base-control__help mb-0',
3381 3381
 								},
3382
-								'<?php echo addslashes( $args['row']['desc'] ); ?>'
3382
+								'<?php echo addslashes($args['row']['desc']); ?>'
3383 3383
 							),
3384 3384
 							<?php }?>
3385 3385
 							el(
3386 3386
 								'div',
3387 3387
 								{
3388
-									className: 'row mb-n2 <?php if(!empty($args['row']['class'])){ echo esc_attr($args['row']['class']);} ?>',
3388
+									className: 'row mb-n2 <?php if (!empty($args['row']['class'])) { echo esc_attr($args['row']['class']); } ?>',
3389 3389
 								},
3390 3390
 								el(
3391 3391
 									'div',
@@ -3394,36 +3394,36 @@  discard block
 block discarded – undo
3394 3394
 									},
3395 3395
 
3396 3396
 					<?php
3397
-					if(false){?></script><?php }
3398
-				}elseif(!empty($args['row']['close'])){
3399
-					if(false){?><script><?php }?>
3397
+					if (false) {?></script><?php }
3398
+				}elseif (!empty($args['row']['close'])) {
3399
+					if (false) {?><script><?php }?>
3400 3400
 						el(
3401 3401
 							'div',
3402 3402
 							{
3403 3403
 								className: 'col pl-0 ps-0',
3404 3404
 							},
3405 3405
 					<?php
3406
-					if(false){?></script><?php }
3407
-				}else{
3408
-					if(false){?><script><?php }?>
3406
+					if (false) {?></script><?php }
3407
+				} else {
3408
+					if (false) {?><script><?php }?>
3409 3409
 						el(
3410 3410
 							'div',
3411 3411
 							{
3412 3412
 								className: 'col pl-0 ps-0 pr-2 pe-2',
3413 3413
 							},
3414 3414
 					<?php
3415
-					if(false){?></script><?php }
3415
+					if (false) {?></script><?php }
3416 3416
 				}
3417 3417
 
3418 3418
 			}
3419 3419
 
3420 3420
 		}
3421 3421
 
3422
-		public function block_row_end($key, $args){
3422
+		public function block_row_end($key, $args) {
3423 3423
 
3424
-			if(!empty($args['row'])){
3424
+			if (!empty($args['row'])) {
3425 3425
 				// maybe close
3426
-				if(!empty($args['row']['close'])){
3426
+				if (!empty($args['row']['close'])) {
3427 3427
 					echo "))";
3428 3428
 				}
3429 3429
 
@@ -3431,14 +3431,14 @@  discard block
 block discarded – undo
3431 3431
 			}
3432 3432
 		}
3433 3433
 
3434
-		public function block_tab_start($key, $args){
3434
+		public function block_tab_start($key, $args) {
3435 3435
 
3436 3436
 			// check for row
3437
-			if(!empty($args['tab'])){
3437
+			if (!empty($args['tab'])) {
3438 3438
 
3439
-				if(!empty($args['tab']['tabs_open'])){
3439
+				if (!empty($args['tab']['tabs_open'])) {
3440 3440
 
3441
-					if(false){?><script><?php }?>
3441
+					if (false) {?><script><?php }?>
3442 3442
 
3443 3443
 el('div',{className: 'bsui'},
3444 3444
 
@@ -3447,52 +3447,52 @@  discard block
 block discarded – undo
3447 3447
 									{
3448 3448
 										activeClass: 'is-active',
3449 3449
 										className: 'btn-groupx',
3450
-										initialTabName: '<?php echo addslashes( esc_attr( $args['tab']['key']) ); ?>',
3450
+										initialTabName: '<?php echo addslashes(esc_attr($args['tab']['key'])); ?>',
3451 3451
 										tabs: [
3452 3452
 
3453 3453
 					<?php
3454
-					if(false){?></script><?php }
3454
+					if (false) {?></script><?php }
3455 3455
 				}
3456 3456
 
3457
-				if(!empty($args['tab']['open'])){
3457
+				if (!empty($args['tab']['open'])) {
3458 3458
 
3459
-					if(false){?><script><?php }?>
3459
+					if (false) {?><script><?php }?>
3460 3460
 							{
3461
-												name: '<?php echo addslashes( esc_attr( $args['tab']['key']) ); ?>',
3462
-												title: el('div', {dangerouslySetInnerHTML: {__html: '<?php echo addslashes( esc_attr( $args['tab']['title']) ); ?>'}}),
3463
-												className: '<?php echo addslashes( esc_attr( $args['tab']['class']) ); ?>',
3464
-												content: el('div',{}, <?php if(!empty($args['tab']['desc'])){ ?>el('p', {
3461
+												name: '<?php echo addslashes(esc_attr($args['tab']['key'])); ?>',
3462
+												title: el('div', {dangerouslySetInnerHTML: {__html: '<?php echo addslashes(esc_attr($args['tab']['title'])); ?>'}}),
3463
+												className: '<?php echo addslashes(esc_attr($args['tab']['class'])); ?>',
3464
+												content: el('div',{}, <?php if (!empty($args['tab']['desc'])) { ?>el('p', {
3465 3465
 									className: 'components-base-control__help mb-0',
3466
-									dangerouslySetInnerHTML: {__html:'<?php echo addslashes( $args['tab']['desc'] ); ?>'}
3466
+									dangerouslySetInnerHTML: {__html:'<?php echo addslashes($args['tab']['desc']); ?>'}
3467 3467
 								}),<?php }
3468
-					if(false){?></script><?php }
3468
+					if (false) {?></script><?php }
3469 3469
 				}
3470 3470
 
3471 3471
 			}
3472 3472
 
3473 3473
 		}
3474 3474
 
3475
-		public function block_tab_end($key, $args){
3475
+		public function block_tab_end($key, $args) {
3476 3476
 
3477
-			if(!empty($args['tab'])){
3477
+			if (!empty($args['tab'])) {
3478 3478
 				// maybe close
3479
-				if(!empty($args['tab']['close'])){
3479
+				if (!empty($args['tab']['close'])) {
3480 3480
 					echo ")}, /* tab close */";
3481 3481
 				}
3482 3482
 
3483
-				if(!empty($args['tab']['tabs_close'])){
3484
-					if(false){?><script><?php }?>
3483
+				if (!empty($args['tab']['tabs_close'])) {
3484
+					if (false) {?><script><?php }?>
3485 3485
 						]}, ( tab ) => {
3486 3486
 								return tab.content;
3487 3487
 							}
3488 3488
 						)), /* tabs close */
3489
-					<?php if(false){ ?></script><?php }
3489
+					<?php if (false) { ?></script><?php }
3490 3490
 				}
3491 3491
 			}
3492 3492
 		}
3493 3493
 
3494
-		public function build_block_arguments( $key, $args ) {
3495
-			$custom_attributes = ! empty( $args['custom_attributes'] ) ? $this->array_to_attributes( $args['custom_attributes'] ) : '';
3494
+		public function build_block_arguments($key, $args) {
3495
+			$custom_attributes = !empty($args['custom_attributes']) ? $this->array_to_attributes($args['custom_attributes']) : '';
3496 3496
 			$options           = '';
3497 3497
 			$extra             = '';
3498 3498
 			$require           = '';
@@ -3500,28 +3500,28 @@  discard block
 block discarded – undo
3500 3500
 			$after_elements	   = '';
3501 3501
 
3502 3502
 			// `content` is a protected and special argument
3503
-			if ( $key == 'content' ) {
3503
+			if ($key == 'content') {
3504 3504
 				return;
3505 3505
 			}
3506 3506
 
3507
-			$device_type = ! empty( $args['device_type'] ) ? esc_attr($args['device_type']) : '';
3508
-			$device_type_require = ! empty( $args['device_type'] ) ? " deviceType == '" . esc_attr($device_type) . "' && " : '';
3507
+			$device_type = !empty($args['device_type']) ? esc_attr($args['device_type']) : '';
3508
+			$device_type_require = !empty($args['device_type']) ? " deviceType == '" . esc_attr($device_type) . "' && " : '';
3509 3509
 			$device_type_icon = '';
3510
-			if($device_type=='Desktop'){
3510
+			if ($device_type == 'Desktop') {
3511 3511
 				$device_type_icon = '<span class="dashicons dashicons-desktop" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3512
-			}elseif($device_type=='Tablet'){
3512
+			}elseif ($device_type == 'Tablet') {
3513 3513
 				$device_type_icon = '<span class="dashicons dashicons-tablet" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3514
-			}elseif($device_type=='Mobile'){
3514
+			}elseif ($device_type == 'Mobile') {
3515 3515
 				$device_type_icon = '<span class="dashicons dashicons-smartphone" style="font-size: 18px;" onclick="sd_show_view_options(this);"></span>';
3516 3516
 			}
3517 3517
 
3518 3518
 			// icon
3519 3519
 			$icon = '';
3520
-			if( !empty( $args['icon'] ) ){
3520
+			if (!empty($args['icon'])) {
3521 3521
 				$icon .= "el('div', {";
3522
-									$icon .= "dangerouslySetInnerHTML: {__html: '".self::get_widget_icon( esc_attr($args['icon']))."'},";
3522
+									$icon .= "dangerouslySetInnerHTML: {__html: '" . self::get_widget_icon(esc_attr($args['icon'])) . "'},";
3523 3523
 									$icon .= "className: 'text-center',";
3524
-									$icon .= "title: '".addslashes( $args['title'] )."',";
3524
+									$icon .= "title: '" . addslashes($args['title']) . "',";
3525 3525
 								$icon .= "}),";
3526 3526
 
3527 3527
 				// blank title as its added to the icon.
@@ -3529,27 +3529,27 @@  discard block
 block discarded – undo
3529 3529
 			}
3530 3530
 
3531 3531
 			// require advanced
3532
-			$require_advanced = ! empty( $args['advanced'] ) ? "props.attributes.show_advanced && " : "";
3532
+			$require_advanced = !empty($args['advanced']) ? "props.attributes.show_advanced && " : "";
3533 3533
 
3534 3534
 			// element require
3535
-			$element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
3535
+			$element_require = !empty($args['element_require']) ? $this->block_props_replace($args['element_require'], true) . " && " : "";
3536 3536
 
3537 3537
 
3538 3538
 			$onchange  = "props.setAttributes({ $key: $key } )";
3539
-			$onchangecomplete  = "";
3539
+			$onchangecomplete = "";
3540 3540
 			$value     = "props.attributes.$key";
3541
-			$text_type = array( 'text', 'password', 'number', 'email', 'tel', 'url', 'colorx','range' );
3542
-			if ( in_array( $args['type'], $text_type ) ) {
3541
+			$text_type = array('text', 'password', 'number', 'email', 'tel', 'url', 'colorx', 'range');
3542
+			if (in_array($args['type'], $text_type)) {
3543 3543
 				$type = 'TextControl';
3544 3544
 				// Save numbers as numbers and not strings
3545
-				if ( $args['type'] == 'number' ) {
3545
+				if ($args['type'] == 'number') {
3546 3546
 					$onchange = "props.setAttributes({ $key: $key ? Number($key) : '' } )";
3547 3547
 				}
3548 3548
 
3549
-				if (substr($key, 0, 9 ) === 'metadata_') {
3550
-					$real_key = str_replace('metadata_','', $key );
3549
+				if (substr($key, 0, 9) === 'metadata_') {
3550
+					$real_key = str_replace('metadata_', '', $key);
3551 3551
 					$onchange = "props.setAttributes({ metadata: { $real_key: $key } } )";
3552
-					$value     = "props.attributes.metadata && props.attributes.metadata.$real_key ? props.attributes.metadata.$real_key : ''";
3552
+					$value = "props.attributes.metadata && props.attributes.metadata.$real_key ? props.attributes.metadata.$real_key : ''";
3553 3553
 				}
3554 3554
 			}
3555 3555
 //			else if ( $args['type'] == 'popup' ) {
@@ -3569,12 +3569,12 @@  discard block
 block discarded – undo
3569 3569
 //
3570 3570
 //				$value     = "props.attributes.$key ? props.attributes.$key : ''";
3571 3571
 //			}
3572
-			else if ( $args['type'] == 'styleid' ) {
3572
+			else if ($args['type'] == 'styleid') {
3573 3573
 				$type = 'TextControl';
3574 3574
 				$args['type'] == 'text';
3575 3575
 				// Save numbers as numbers and not strings
3576
-				$value     = "props.attributes.$key ? props.attributes.$key : ''";
3577
-			}else if ( $args['type'] == 'notice' ) {
3576
+				$value = "props.attributes.$key ? props.attributes.$key : ''";
3577
+			} else if ($args['type'] == 'notice') {
3578 3578
 
3579 3579
 				$notice_message = !empty($args['desc']) ? addslashes($args['desc']) : '';
3580 3580
 				$notice_status = !empty($args['status']) ? esc_attr($args['status']) : 'info';
@@ -3636,11 +3636,11 @@  discard block
 block discarded – undo
3636 3636
 							return;
3637 3637
 						}
3638 3638
 */
3639
-			elseif ( $args['type'] == 'color' ) {
3639
+			elseif ($args['type'] == 'color') {
3640 3640
 				$type = 'ColorPicker';
3641 3641
 				$onchange = "";
3642 3642
 				$extra = "color: $value,";
3643
-				if(!empty($args['disable_alpha'])){
3643
+				if (!empty($args['disable_alpha'])) {
3644 3644
 					$extra .= "disableAlpha: true,";
3645 3645
 				}
3646 3646
 				$onchangecomplete = "onChangeComplete: function($key) {
@@ -3649,7 +3649,7 @@  discard block
 block discarded – undo
3649 3649
 							$key: value
3650 3650
 						});
3651 3651
 					},";
3652
-			}elseif ( $args['type'] == 'gradient' ) {
3652
+			}elseif ($args['type'] == 'gradient') {
3653 3653
 				$type = 'GradientPicker';
3654 3654
 				$extra .= "gradients: [{
3655 3655
 			name: 'Vivid cyan blue to vivid purple',
@@ -3688,7 +3688,7 @@  discard block
 block discarded – undo
3688 3688
 			slug: 'cool-to-warm-spectrum',
3689 3689
 		}],";
3690 3690
 
3691
-			}elseif ( $args['type'] == 'image' ) {
3691
+			}elseif ($args['type'] == 'image') {
3692 3692
 //                print_r($args);
3693 3693
 
3694 3694
 				$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,{
@@ -3750,7 +3750,7 @@  discard block
 block discarded – undo
3750 3750
 				$onchange = "";
3751 3751
 
3752 3752
 				//$inside_elements = ",el('div',{},'file upload')";
3753
-			} else if ( $args['type'] == 'images' ) {
3753
+			} else if ($args['type'] == 'images') {
3754 3754
 				$img_preview = "props.attributes.$key && (function() {
3755 3755
 	let uploads = JSON.parse('['+props.attributes.$key+']');
3756 3756
 	let images = [];
@@ -3763,7 +3763,7 @@  discard block
 block discarded – undo
3763 3763
 			el('i',{
3764 3764
 				className: 'fas fa-times-circle text-danger position-absolute  ml-n2 mt-n1 bg-white rounded-circle c-pointer',
3765 3765
 				onClick: function() {
3766
-					aui_confirm('".esc_attr__('Are you sure?')."', '".esc_attr__('Delete')."', '".esc_attr__('Cancel')."', true).then(function(confirmed) {
3766
+					aui_confirm('" . esc_attr__('Are you sure?') . "', '" . esc_attr__('Delete') . "', '" . esc_attr__('Cancel') . "', true).then(function(confirmed) {
3767 3767
 						if (confirmed) {
3768 3768
 							let new_uploads = JSON.parse('['+props.attributes.$key+']');
3769 3769
 							new_uploads.splice(index, 1);
@@ -3826,36 +3826,36 @@  discard block
 block discarded – undo
3826 3826
 
3827 3827
 				//$inside_elements = ",el('div',{},'file upload')";
3828 3828
 			}
3829
-			elseif ( $args['type'] == 'checkbox' ) {
3829
+			elseif ($args['type'] == 'checkbox') {
3830 3830
 				$type = 'CheckboxControl';
3831 3831
 				$extra .= "checked: props.attributes.$key,";
3832 3832
 				$onchange = "props.setAttributes({ $key: ! props.attributes.$key } )";
3833
-			} elseif ( $args['type'] == 'textarea' ) {
3833
+			} elseif ($args['type'] == 'textarea') {
3834 3834
 				$type = 'TextareaControl';
3835 3835
 
3836
-			} elseif ( $args['type'] == 'select' || $args['type'] == 'multiselect' ) {
3836
+			} elseif ($args['type'] == 'select' || $args['type'] == 'multiselect') {
3837 3837
 				$type = 'SelectControl';
3838 3838
 
3839
-				if($args['name'] == 'category' && !empty($args['post_type_linked'])){
3840
-					$options .= "options: taxonomies_".str_replace("-","_", $this->id).",";
3841
-				}elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){
3842
-					$options .= "options: sort_by_".str_replace("-","_", $this->id).",";
3843
-				}else {
3839
+				if ($args['name'] == 'category' && !empty($args['post_type_linked'])) {
3840
+					$options .= "options: taxonomies_" . str_replace("-", "_", $this->id) . ",";
3841
+				}elseif ($args['name'] == 'sort_by' && !empty($args['post_type_linked'])) {
3842
+					$options .= "options: sort_by_" . str_replace("-", "_", $this->id) . ",";
3843
+				} else {
3844 3844
 
3845
-					if ( ! empty( $args['options'] ) ) {
3845
+					if (!empty($args['options'])) {
3846 3846
 						$options .= "options: [";
3847
-						foreach ( $args['options'] as $option_val => $option_label ) {
3848
-							$options .= "{ value: '" . esc_attr( $option_val ) . "', label: '" . esc_js( addslashes( $option_label ) ) . "' },";
3847
+						foreach ($args['options'] as $option_val => $option_label) {
3848
+							$options .= "{ value: '" . esc_attr($option_val) . "', label: '" . esc_js(addslashes($option_label)) . "' },";
3849 3849
 						}
3850 3850
 						$options .= "],";
3851 3851
 					}
3852 3852
 				}
3853
-				if ( isset( $args['multiple'] ) && $args['multiple'] ) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550
3853
+				if (isset($args['multiple']) && $args['multiple']) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550
3854 3854
 					$extra .= ' multiple:true,style:{height:"auto",paddingRight:"8px","overflow-y":"auto"}, ';
3855 3855
 				}
3856 3856
 
3857
-				if($args['type'] == 'multiselect' ||  ( isset( $args['multiple'] ) && $args['multiple'] ) ){
3858
-					$after_elements	 .= "props.attributes.$key && el( wp.components.Button, {
3857
+				if ($args['type'] == 'multiselect' || (isset($args['multiple']) && $args['multiple'])) {
3858
+					$after_elements .= "props.attributes.$key && el( wp.components.Button, {
3859 3859
 									  className: 'components-button components-circular-option-picker__clear is-secondary is-small',
3860 3860
 									  style: {margin:'-8px 0 8px 0',display: 'block'},
3861 3861
 									  onClick: function(){
@@ -3867,7 +3867,7 @@  discard block
 block discarded – undo
3867 3867
 									'Clear'
3868 3868
 							),";
3869 3869
 				}
3870
-			} elseif ( $args['type'] == 'tagselect' ) {
3870
+			} elseif ($args['type'] == 'tagselect') {
3871 3871
 //				$type = 'FormTokenField';
3872 3872
 //
3873 3873
 //				if ( ! empty( $args['options'] ) ) {
@@ -3902,19 +3902,19 @@  discard block
 block discarded – undo
3902 3902
 //				$value     = "[]";
3903 3903
 //				$extra .= ' __experimentalExpandOnFocus: true,';
3904 3904
 
3905
-			} else if ( $args['type'] == 'alignment' ) {
3905
+			} else if ($args['type'] == 'alignment') {
3906 3906
 				$type = 'AlignmentToolbar'; // @todo this does not seem to work but cant find a example
3907
-			} else if ( $args['type'] == 'margins' ) {
3907
+			} else if ($args['type'] == 'margins') {
3908 3908
 
3909
-			} else if ( $args['type'] == 'visibility_conditions' && ( function_exists( 'wp_is_block_theme' ) && wp_is_block_theme() ) ) {
3909
+			} else if ($args['type'] == 'visibility_conditions' && (function_exists('wp_is_block_theme') && wp_is_block_theme())) {
3910 3910
 				$type = 'TextControl';
3911 3911
 				$value = "(props.attributes.$key ? props.attributes.$key : '')";
3912 3912
 				$args['type'] = 'text';
3913 3913
 				$options .= 'disabled:true,';
3914
-				$bsvc_title = esc_attr( addslashes( $args['title'] ) );
3915
-				$bsvc_body = $this->block_visibility_fields( $args );
3914
+				$bsvc_title = esc_attr(addslashes($args['title']));
3915
+				$bsvc_body = $this->block_visibility_fields($args);
3916 3916
 				// @TODO reset button
3917
-				$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>';
3917
+				$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>';
3918 3918
 				$after_elements .= "el('div', {className: 'components-base-control bs-vc-button-wrap'}, el(wp.components.Button, {
3919 3919
 						className: 'components-button components-circular-option-picker__clear is-primary is-smallx',
3920 3920
 						onClick: function() {
@@ -3933,25 +3933,25 @@  discard block
 block discarded – undo
3933 3933
 									jQuery('.bs-vc-modal-form').trigger('change');
3934 3934
 								}
3935 3935
 							});
3936
-							aui_modal('" . $bsvc_title . "', '" . addslashes( $bsvc_body ) . "', '" . $bsvc_footer . "', true, 'bs-vc-modal', 'modal-lg', '');
3936
+							aui_modal('" . $bsvc_title . "', '" . addslashes($bsvc_body) . "', '" . $bsvc_footer . "', true, 'bs-vc-modal', 'modal-lg', '');
3937 3937
 							jQuery(document).off('change', '#bsvc_raw_value').on('change', '#bsvc_raw_value', function(e) {
3938 3938
 								props.setAttributes({" . $key . ": e.target.value});
3939 3939
 							});
3940 3940
 						}
3941 3941
 					},
3942
-					'" . addslashes( ! empty( $args['button_title'] ) ? $args['button_title'] : $args['title'] ) . "'
3942
+					'" . addslashes(!empty($args['button_title']) ? $args['button_title'] : $args['title']) . "'
3943 3943
 				) ),";
3944 3944
 			} else {
3945
-				return;// if we have not implemented the control then don't break the JS.
3945
+				return; // if we have not implemented the control then don't break the JS.
3946 3946
 			}
3947 3947
 
3948 3948
 			// color input does not show the labels so we add them
3949
-			if($args['type']=='color'){
3949
+			if ($args['type'] == 'color') {
3950 3950
 				// add show only if advanced
3951 3951
 				echo $require_advanced;
3952 3952
 				// add setting require if defined
3953 3953
 				echo $element_require;
3954
-				echo "el('div', {style: {'marginBottom': '8px'}}, '".addslashes( $args['title'] )."'),";
3954
+				echo "el('div', {style: {'marginBottom': '8px'}}, '" . addslashes($args['title']) . "'),";
3955 3955
 			}
3956 3956
 
3957 3957
 			// add show only if advanced
@@ -3963,22 +3963,22 @@  discard block
 block discarded – undo
3963 3963
 			// icon
3964 3964
 			echo $icon;
3965 3965
 			?>
3966
-			el( <?php echo $args['type'] == 'image' || $args['type'] == 'images' ? $type  : "wp.components.".$type; ?>, {
3967
-			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
3968
-			} else { ?>'<?php echo addslashes( trim( esc_html( $args['title'] ) ) ); ?>'<?php } ?>,
3969
-			help: <?php echo ( isset( $args['desc'] ) ? "el('span', {dangerouslySetInnerHTML: {__html: '" . trim( wp_kses_post( addslashes( $args['desc'] ) ) ) . "'}})" : "''" ); ?>,
3966
+			el( <?php echo $args['type'] == 'image' || $args['type'] == 'images' ? $type : "wp.components." . $type; ?>, {
3967
+			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
3968
+			} else { ?>'<?php echo addslashes(trim(esc_html($args['title']))); ?>'<?php } ?>,
3969
+			help: <?php echo (isset($args['desc']) ? "el('span', {dangerouslySetInnerHTML: {__html: '" . trim(wp_kses_post(addslashes($args['desc']))) . "'}})" : "''"); ?>,
3970 3970
 			value: <?php echo $value; ?>,
3971
-			<?php if ( $type == 'TextControl' && $args['type'] != 'text' ) {
3972
-				echo "type: '" . addslashes( $args['type'] ) . "',";
3971
+			<?php if ($type == 'TextControl' && $args['type'] != 'text') {
3972
+				echo "type: '" . addslashes($args['type']) . "',";
3973 3973
 			} ?>
3974
-			<?php if ( ! empty( $args['placeholder'] ) ) {
3975
-				echo "placeholder: '" . esc_js( addslashes( trim( esc_html( $args['placeholder'] ) ) ) ) . "',";
3974
+			<?php if (!empty($args['placeholder'])) {
3975
+				echo "placeholder: '" . esc_js(addslashes(trim(esc_html($args['placeholder'])))) . "',";
3976 3976
 			} ?>
3977 3977
 			<?php echo $options; ?>
3978 3978
 			<?php echo $extra; ?>
3979 3979
 			<?php echo $custom_attributes; ?>
3980 3980
 			<?php echo $onchangecomplete; ?>
3981
-			<?php if ( $onchange ) { ?>
3981
+			<?php if ($onchange) { ?>
3982 3982
 			onChange: function ( <?php echo $key; ?> ) {
3983 3983
 				<?php echo $onchange; ?>
3984 3984
 			}
@@ -3997,15 +3997,15 @@  discard block
 block discarded – undo
3997 3997
 		 *@todo there is prob a faster way to do this, also we could add some validation here.
3998 3998
 		 *
3999 3999
 		 */
4000
-		public function array_to_attributes( $custom_attributes, $html = false ) {
4000
+		public function array_to_attributes($custom_attributes, $html = false) {
4001 4001
 			$attributes = '';
4002
-			if ( ! empty( $custom_attributes ) ) {
4002
+			if (!empty($custom_attributes)) {
4003 4003
 
4004
-				foreach ( $custom_attributes as $key => $val ) {
4005
-					if(is_array($val)){
4006
-						$attributes .= $key.': {'.$this->array_to_attributes( $val, $html ).'},';
4007
-					}else{
4008
-						$attributes .= $html ?  " $key='$val' " : "'$key': '$val',";
4004
+				foreach ($custom_attributes as $key => $val) {
4005
+					if (is_array($val)) {
4006
+						$attributes .= $key . ': {' . $this->array_to_attributes($val, $html) . '},';
4007
+					} else {
4008
+						$attributes .= $html ? " $key='$val' " : "'$key': '$val',";
4009 4009
 					}
4010 4010
 				}
4011 4011
 
@@ -4023,113 +4023,113 @@  discard block
 block discarded – undo
4023 4023
 		 *
4024 4024
 		 * @param $args
4025 4025
 		 */
4026
-		public function block_element( $args, $save = false ) {
4026
+		public function block_element($args, $save = false) {
4027 4027
 
4028 4028
 //            print_r($args);echo '###';exit;
4029 4029
 
4030
-			if ( ! empty( $args ) ) {
4031
-				foreach ( $args as $element => $new_args ) {
4030
+			if (!empty($args)) {
4031
+				foreach ($args as $element => $new_args) {
4032 4032
 
4033
-					if ( is_array( $new_args ) ) { // its an element
4033
+					if (is_array($new_args)) { // its an element
4034 4034
 
4035 4035
 
4036
-						if ( isset( $new_args['element'] ) ) {
4036
+						if (isset($new_args['element'])) {
4037 4037
 
4038
-							if ( isset( $new_args['element_require'] ) ) {
4039
-								echo str_replace( array(
4038
+							if (isset($new_args['element_require'])) {
4039
+								echo str_replace(array(
4040 4040
 										"'+",
4041 4041
 										"+'"
4042
-									), '', $this->block_props_replace( $new_args['element_require'] ) ) . " &&  ";
4043
-								unset( $new_args['element_require'] );
4042
+									), '', $this->block_props_replace($new_args['element_require'])) . " &&  ";
4043
+								unset($new_args['element_require']);
4044 4044
 							}
4045 4045
 
4046
-							if($new_args['element']=='InnerBlocks'){
4046
+							if ($new_args['element'] == 'InnerBlocks') {
4047 4047
 								echo "\n el( InnerBlocks, {";
4048
-							}elseif($new_args['element']=='innerBlocksProps'){
4048
+							}elseif ($new_args['element'] == 'innerBlocksProps') {
4049 4049
 								$element = isset($new_args['inner_element']) ? esc_attr($new_args['inner_element']) : 'div';
4050 4050
 							  //  echo "\n el( 'section', wp.blockEditor.useInnerBlocksProps( blockProps, {";
4051 4051
 //                                echo $save ? "\n el( '$element', wp.blockEditor.useInnerBlocksProps.save( " : "\n el( '$element', wp.blockEditor.useInnerBlocksProps( ";
4052 4052
 								echo $save ? "\n el( '$element', wp.blockEditor.useInnerBlocksProps.save( " : "\n el( '$element', wp.blockEditor.useInnerBlocksProps( ";
4053 4053
 								echo $save ? "wp.blockEditor.useBlockProps.save( {" : "wp.blockEditor.useBlockProps( {";
4054
-								echo !empty($new_args['blockProps']) ? $this->block_element( $new_args['blockProps'],$save ) : '';
4054
+								echo !empty($new_args['blockProps']) ? $this->block_element($new_args['blockProps'], $save) : '';
4055 4055
 
4056 4056
 								echo "} ), {";
4057
-								echo !empty($new_args['innerBlocksProps']) && !$save ? $this->block_element( $new_args['innerBlocksProps'],$save ) : '';
4057
+								echo !empty($new_args['innerBlocksProps']) && !$save ? $this->block_element($new_args['innerBlocksProps'], $save) : '';
4058 4058
 							//    echo '###';
4059 4059
 
4060 4060
 							  //  echo '###';
4061
-							}elseif($new_args['element']=='BlocksProps'){
4061
+							}elseif ($new_args['element'] == 'BlocksProps') {
4062 4062
 
4063
-								if ( isset($new_args['if_inner_element']) ) {
4063
+								if (isset($new_args['if_inner_element'])) {
4064 4064
 									$element = $new_args['if_inner_element'];
4065
-								}else {
4066
-									$element = isset($new_args['inner_element']) ? "'".esc_attr($new_args['inner_element'])."'" : "'div'";
4065
+								} else {
4066
+									$element = isset($new_args['inner_element']) ? "'" . esc_attr($new_args['inner_element']) . "'" : "'div'";
4067 4067
 								}
4068 4068
 
4069 4069
 								unset($new_args['inner_element']);
4070 4070
 								echo $save ? "\n el( $element, wp.blockEditor.useBlockProps.save( {" : "\n el( $element, wp.blockEditor.useBlockProps( {";
4071
-								echo !empty($new_args['blockProps']) ? $this->block_element( $new_args['blockProps'],$save ) : '';
4071
+								echo !empty($new_args['blockProps']) ? $this->block_element($new_args['blockProps'], $save) : '';
4072 4072
 
4073 4073
 
4074 4074
 							   // echo "} ),";
4075 4075
 
4076
-							}else{
4076
+							} else {
4077 4077
 								echo "\n el( '" . $new_args['element'] . "', {";
4078 4078
 							}
4079 4079
 
4080 4080
 
4081 4081
 							// get the attributes
4082
-							foreach ( $new_args as $new_key => $new_value ) {
4082
+							foreach ($new_args as $new_key => $new_value) {
4083 4083
 
4084 4084
 
4085
-								if ( $new_key == 'element' || $new_key == 'content'|| $new_key == 'if_content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array( $new_value ) ) {
4085
+								if ($new_key == 'element' || $new_key == 'content' || $new_key == 'if_content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array($new_value)) {
4086 4086
 									// do nothing
4087 4087
 								} else {
4088
-									echo $this->block_element( array( $new_key => $new_value ),$save );
4088
+									echo $this->block_element(array($new_key => $new_value), $save);
4089 4089
 								}
4090 4090
 							}
4091 4091
 
4092
-							echo $new_args['element']=='BlocksProps' ? '} ),' : "},";// end attributes
4092
+							echo $new_args['element'] == 'BlocksProps' ? '} ),' : "},"; // end attributes
4093 4093
 
4094 4094
 							// get the content
4095 4095
 							$first_item = 0;
4096
-							foreach ( $new_args as $new_key => $new_value ) {
4097
-								if ( $new_key === 'content' || $new_key === 'if_content' || is_array( $new_value ) ) {
4096
+							foreach ($new_args as $new_key => $new_value) {
4097
+								if ($new_key === 'content' || $new_key === 'if_content' || is_array($new_value)) {
4098 4098
 
4099
-									if ( $new_key === 'content' ) {
4100
-										echo "'" . $this->block_props_replace( wp_slash( $new_value ) ) . "'";
4101
-									}else if ( $new_key === 'if_content' ) {
4102
-										echo  $this->block_props_replace(  $new_value  );
4099
+									if ($new_key === 'content') {
4100
+										echo "'" . $this->block_props_replace(wp_slash($new_value)) . "'";
4101
+									} else if ($new_key === 'if_content') {
4102
+										echo  $this->block_props_replace($new_value);
4103 4103
 									}
4104 4104
 
4105
-									if ( is_array( $new_value ) ) {
4105
+									if (is_array($new_value)) {
4106 4106
 
4107
-										if ( isset( $new_value['element_require'] ) ) {
4108
-											echo str_replace( array(
4107
+										if (isset($new_value['element_require'])) {
4108
+											echo str_replace(array(
4109 4109
 													"'+",
4110 4110
 													"+'"
4111
-												), '', $this->block_props_replace( $new_value['element_require'] ) ) . " &&  ";
4112
-											unset( $new_value['element_require'] );
4111
+												), '', $this->block_props_replace($new_value['element_require'])) . " &&  ";
4112
+											unset($new_value['element_require']);
4113 4113
 										}
4114 4114
 
4115
-										if ( isset( $new_value['element_repeat'] ) ) {
4115
+										if (isset($new_value['element_repeat'])) {
4116 4116
 											$x = 1;
4117
-											while ( $x <= absint( $new_value['element_repeat'] ) ) {
4118
-												$this->block_element( array( '' => $new_value ),$save );
4119
-												$x ++;
4117
+											while ($x <= absint($new_value['element_repeat'])) {
4118
+												$this->block_element(array('' => $new_value), $save);
4119
+												$x++;
4120 4120
 											}
4121 4121
 										} else {
4122
-											$this->block_element( array( '' => $new_value ),$save );
4122
+											$this->block_element(array('' => $new_value), $save);
4123 4123
 										}
4124 4124
 									}
4125
-									$first_item ++;
4125
+									$first_item++;
4126 4126
 								}
4127 4127
 							}
4128 4128
 
4129
-							if($new_args['element']=='innerBlocksProps' || $new_args['element']=='xBlocksProps'){
4130
-								echo "))";// end content
4131
-							}else{
4132
-								echo ")";// end content
4129
+							if ($new_args['element'] == 'innerBlocksProps' || $new_args['element'] == 'xBlocksProps') {
4130
+								echo "))"; // end content
4131
+							} else {
4132
+								echo ")"; // end content
4133 4133
 							}
4134 4134
 
4135 4135
 
@@ -4138,26 +4138,26 @@  discard block
 block discarded – undo
4138 4138
 						}
4139 4139
 					} else {
4140 4140
 
4141
-						if ( substr( $element, 0, 3 ) === "if_" ) {
4141
+						if (substr($element, 0, 3) === "if_") {
4142 4142
 							$extra = '';
4143
-							if( strpos($new_args, '[%WrapClass%]') !== false ){
4144
-								$new_args = str_replace('[%WrapClass%]"','" + sd_build_aui_class(props.attributes)',$new_args);
4145
-								$new_args = str_replace('[%WrapClass%]','+ sd_build_aui_class(props.attributes)',$new_args);
4143
+							if (strpos($new_args, '[%WrapClass%]') !== false) {
4144
+								$new_args = str_replace('[%WrapClass%]"', '" + sd_build_aui_class(props.attributes)', $new_args);
4145
+								$new_args = str_replace('[%WrapClass%]', '+ sd_build_aui_class(props.attributes)', $new_args);
4146 4146
 							}
4147
-							echo str_replace( "if_", "", $element ) . ": " . $this->block_props_replace( $new_args, true ) . ",";
4148
-						} elseif ( $element == 'style' &&  strpos($new_args, '[%WrapStyle%]') !== false ) {
4149
-							$new_args = str_replace('[%WrapStyle%]','',$new_args);
4150
-							echo $element . ": {..." . $this->block_props_replace( $new_args ) . " , ...sd_build_aui_styles(props.attributes) },";
4147
+							echo str_replace("if_", "", $element) . ": " . $this->block_props_replace($new_args, true) . ",";
4148
+						} elseif ($element == 'style' && strpos($new_args, '[%WrapStyle%]') !== false) {
4149
+							$new_args = str_replace('[%WrapStyle%]', '', $new_args);
4150
+							echo $element . ": {..." . $this->block_props_replace($new_args) . " , ...sd_build_aui_styles(props.attributes) },";
4151 4151
 //                            echo $element . ": " . $this->block_props_replace( $new_args ) . ",";
4152
-						} elseif ( $element == 'style' ) {
4153
-							echo $element . ": " . $this->block_props_replace( $new_args ) . ",";
4154
-						} elseif ( ( $element == 'class' || $element == 'className'  ) &&  strpos($new_args, '[%WrapClass%]') !== false ) {
4155
-							$new_args = str_replace('[%WrapClass%]','',$new_args);
4156
-							echo $element . ": '" . $this->block_props_replace( $new_args ) . "' + sd_build_aui_class(props.attributes),";
4157
-						} elseif ( $element == 'template' && $new_args ) {
4152
+						} elseif ($element == 'style') {
4153
+							echo $element . ": " . $this->block_props_replace($new_args) . ",";
4154
+						} elseif (($element == 'class' || $element == 'className') && strpos($new_args, '[%WrapClass%]') !== false) {
4155
+							$new_args = str_replace('[%WrapClass%]', '', $new_args);
4156
+							echo $element . ": '" . $this->block_props_replace($new_args) . "' + sd_build_aui_class(props.attributes),";
4157
+						} elseif ($element == 'template' && $new_args) {
4158 4158
 							echo $element . ": $new_args,";
4159 4159
 						} else {
4160
-							echo $element . ": '" . $this->block_props_replace( $new_args ) . "',";
4160
+							echo $element . ": '" . $this->block_props_replace($new_args) . "',";
4161 4161
 						}
4162 4162
 
4163 4163
 					}
@@ -4172,11 +4172,11 @@  discard block
 block discarded – undo
4172 4172
 		 *
4173 4173
 		 * @return mixed
4174 4174
 		 */
4175
-		public function block_props_replace( $string, $no_wrap = false ) {
4176
-			if ( $no_wrap ) {
4177
-				$string = str_replace( array( "[%", "%]", "%:checked]" ), array( "props.attributes.", "", "" ), $string );
4175
+		public function block_props_replace($string, $no_wrap = false) {
4176
+			if ($no_wrap) {
4177
+				$string = str_replace(array("[%", "%]", "%:checked]"), array("props.attributes.", "", ""), $string);
4178 4178
 			} else {
4179
-				$string = str_replace( array( "![%", "[%", "%]", "%:checked]" ), array( "'+!props.attributes.", "'+props.attributes.", "+'", "+'" ), $string );
4179
+				$string = str_replace(array("![%", "[%", "%]", "%:checked]"), array("'+!props.attributes.", "'+props.attributes.", "+'", "+'"), $string);
4180 4180
 			}
4181 4181
 
4182 4182
 			return $string;
@@ -4188,65 +4188,65 @@  discard block
 block discarded – undo
4188 4188
 		 * @param array $args
4189 4189
 		 * @param array $instance
4190 4190
 		 */
4191
-		public function widget( $args, $instance ) {
4192
-			if ( ! is_array( $args ) ) {
4191
+		public function widget($args, $instance) {
4192
+			if (!is_array($args)) {
4193 4193
 				$args = array();
4194 4194
 			}
4195 4195
 
4196 4196
 			// Get the filtered values
4197
-			$argument_values = $this->argument_values( $instance );
4198
-			$argument_values = $this->string_to_bool( $argument_values );
4199
-			$output          = $this->output( $argument_values, $args );
4197
+			$argument_values = $this->argument_values($instance);
4198
+			$argument_values = $this->string_to_bool($argument_values);
4199
+			$output          = $this->output($argument_values, $args);
4200 4200
 
4201 4201
 			$no_wrap = false;
4202
-			if ( isset( $argument_values['no_wrap'] ) && $argument_values['no_wrap'] ) {
4202
+			if (isset($argument_values['no_wrap']) && $argument_values['no_wrap']) {
4203 4203
 				$no_wrap = true;
4204 4204
 			}
4205 4205
 
4206 4206
 			ob_start();
4207
-			if ( $output && ! $no_wrap ) {
4207
+			if ($output && !$no_wrap) {
4208 4208
 
4209 4209
 				$class_original = $this->options['widget_ops']['classname'];
4210
-				$class = $this->options['widget_ops']['classname']." sdel-".$this->get_instance_hash();
4210
+				$class = $this->options['widget_ops']['classname'] . " sdel-" . $this->get_instance_hash();
4211 4211
 
4212 4212
 				// Before widget
4213
-				$before_widget = ! empty( $args['before_widget'] ) ? $args['before_widget'] : '';
4214
-				$before_widget = $before_widget ? str_replace( $class_original, $class, $before_widget ) : $before_widget;
4215
-				$before_widget = apply_filters( 'wp_super_duper_before_widget', $before_widget, $args, $instance, $this );
4216
-				$before_widget = apply_filters( 'wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this );
4213
+				$before_widget = !empty($args['before_widget']) ? $args['before_widget'] : '';
4214
+				$before_widget = $before_widget ? str_replace($class_original, $class, $before_widget) : $before_widget;
4215
+				$before_widget = apply_filters('wp_super_duper_before_widget', $before_widget, $args, $instance, $this);
4216
+				$before_widget = apply_filters('wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this);
4217 4217
 
4218 4218
 				// After widget
4219
-				$after_widget = ! empty( $args['after_widget'] ) ? $args['after_widget'] : '';
4220
-				$after_widget = apply_filters( 'wp_super_duper_after_widget', $after_widget, $args, $instance, $this );
4221
-				$after_widget = apply_filters( 'wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this );
4219
+				$after_widget = !empty($args['after_widget']) ? $args['after_widget'] : '';
4220
+				$after_widget = apply_filters('wp_super_duper_after_widget', $after_widget, $args, $instance, $this);
4221
+				$after_widget = apply_filters('wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this);
4222 4222
 
4223 4223
 				echo $before_widget;
4224 4224
 				// elementor strips the widget wrapping div so we check for and add it back if needed
4225
-				if ( $this->is_elementor_widget_output() ) {
4225
+				if ($this->is_elementor_widget_output()) {
4226 4226
 					// Filter class & attrs for elementor widget output.
4227
-					$class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
4228
-					$class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
4227
+					$class = apply_filters('wp_super_duper_div_classname', $class, $args, $this);
4228
+					$class = apply_filters('wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this);
4229 4229
 
4230
-					$attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
4231
-					$attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this );
4230
+					$attrs = apply_filters('wp_super_duper_div_attrs', '', $args, $this);
4231
+					$attrs = apply_filters('wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this);
4232 4232
 
4233
-					echo "<span class='" . esc_attr( $class  ) . "' " . $attrs . ">";
4233
+					echo "<span class='" . esc_attr($class) . "' " . $attrs . ">";
4234 4234
 				}
4235
-				echo $this->output_title( $args, $instance );
4235
+				echo $this->output_title($args, $instance);
4236 4236
 				echo $output;
4237
-				if ( $this->is_elementor_widget_output() ) {
4237
+				if ($this->is_elementor_widget_output()) {
4238 4238
 					echo "</span>";
4239 4239
 				}
4240 4240
 				echo $after_widget;
4241
-			} elseif ( $this->is_preview() && $output == '' ) {// if preview show a placeholder if empty
4242
-				$output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
4241
+			} elseif ($this->is_preview() && $output == '') {// if preview show a placeholder if empty
4242
+				$output = $this->preview_placeholder_text("{{" . $this->base_id . "}}");
4243 4243
 				echo $output;
4244
-			} elseif ( $output && $no_wrap ) {
4244
+			} elseif ($output && $no_wrap) {
4245 4245
 				echo $output;
4246 4246
 			}
4247 4247
 			$output = ob_get_clean();
4248 4248
 
4249
-			$output = apply_filters( 'wp_super_duper_widget_output', $output, $instance, $args, $this );
4249
+			$output = apply_filters('wp_super_duper_widget_output', $output, $instance, $args, $this);
4250 4250
 
4251 4251
 			echo $output;
4252 4252
 		}
@@ -4259,7 +4259,7 @@  discard block
 block discarded – undo
4259 4259
 		 */
4260 4260
 		public function is_elementor_widget_output() {
4261 4261
 			$result = false;
4262
-			if ( defined( 'ELEMENTOR_VERSION' ) && isset( $this->number ) && $this->number == 'REPLACE_TO_ID' ) {
4262
+			if (defined('ELEMENTOR_VERSION') && isset($this->number) && $this->number == 'REPLACE_TO_ID') {
4263 4263
 				$result = true;
4264 4264
 			}
4265 4265
 
@@ -4274,7 +4274,7 @@  discard block
 block discarded – undo
4274 4274
 		 */
4275 4275
 		public function is_elementor_preview() {
4276 4276
 			$result = false;
4277
-			if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
4277
+			if (isset($_REQUEST['elementor-preview']) || (is_admin() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor') || (isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor_ajax')) {
4278 4278
 				$result = true;
4279 4279
 			}
4280 4280
 
@@ -4289,7 +4289,7 @@  discard block
 block discarded – undo
4289 4289
 		 */
4290 4290
 		public function is_divi_preview() {
4291 4291
 			$result = false;
4292
-			if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
4292
+			if (isset($_REQUEST['et_fb']) || isset($_REQUEST['et_pb_preview']) || (is_admin() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor')) {
4293 4293
 				$result = true;
4294 4294
 			}
4295 4295
 
@@ -4304,7 +4304,7 @@  discard block
 block discarded – undo
4304 4304
 		 */
4305 4305
 		public function is_beaver_preview() {
4306 4306
 			$result = false;
4307
-			if ( isset( $_REQUEST['fl_builder'] ) ) {
4307
+			if (isset($_REQUEST['fl_builder'])) {
4308 4308
 				$result = true;
4309 4309
 			}
4310 4310
 
@@ -4319,7 +4319,7 @@  discard block
 block discarded – undo
4319 4319
 		 */
4320 4320
 		public function is_siteorigin_preview() {
4321 4321
 			$result = false;
4322
-			if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
4322
+			if (!empty($_REQUEST['siteorigin_panels_live_editor'])) {
4323 4323
 				$result = true;
4324 4324
 			}
4325 4325
 
@@ -4334,7 +4334,7 @@  discard block
 block discarded – undo
4334 4334
 		 */
4335 4335
 		public function is_cornerstone_preview() {
4336 4336
 			$result = false;
4337
-			if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
4337
+			if (!empty($_REQUEST['cornerstone_preview']) || basename($_SERVER['REQUEST_URI']) == 'cornerstone-endpoint') {
4338 4338
 				$result = true;
4339 4339
 			}
4340 4340
 
@@ -4349,7 +4349,7 @@  discard block
 block discarded – undo
4349 4349
 		 */
4350 4350
 		public function is_fusion_preview() {
4351 4351
 			$result = false;
4352
-			if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
4352
+			if (!empty($_REQUEST['fb-edit']) || !empty($_REQUEST['fusion_load_nonce'])) {
4353 4353
 				$result = true;
4354 4354
 			}
4355 4355
 
@@ -4364,7 +4364,7 @@  discard block
 block discarded – undo
4364 4364
 		 */
4365 4365
 		public function is_oxygen_preview() {
4366 4366
 			$result = false;
4367
-			if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
4367
+			if (!empty($_REQUEST['ct_builder']) || (!empty($_REQUEST['action']) && (substr($_REQUEST['action'], 0, 11) === "oxy_render_" || substr($_REQUEST['action'], 0, 10) === "ct_render_"))) {
4368 4368
 				$result = true;
4369 4369
 			}
4370 4370
 
@@ -4381,7 +4381,7 @@  discard block
 block discarded – undo
4381 4381
 		public function is_kallyas_zion_preview() {
4382 4382
 			$result = false;
4383 4383
 
4384
-			if ( function_exists( 'znhg_kallyas_theme_config' ) && ! empty( $_REQUEST['zn_pb_edit'] ) ) {
4384
+			if (function_exists('znhg_kallyas_theme_config') && !empty($_REQUEST['zn_pb_edit'])) {
4385 4385
 				$result = true;
4386 4386
 			}
4387 4387
 
@@ -4398,7 +4398,7 @@  discard block
 block discarded – undo
4398 4398
 		public function is_bricks_preview() {
4399 4399
 			$result = false;
4400 4400
 
4401
-			if ( function_exists( 'bricks_is_builder' ) && ( bricks_is_builder() || bricks_is_builder_call() ) ) {
4401
+			if (function_exists('bricks_is_builder') && (bricks_is_builder() || bricks_is_builder_call())) {
4402 4402
 				$result = true;
4403 4403
 			}
4404 4404
 
@@ -4413,25 +4413,25 @@  discard block
 block discarded – undo
4413 4413
 		 */
4414 4414
 		public function is_preview() {
4415 4415
 			$preview = false;
4416
-			if ( $this->is_divi_preview() ) {
4416
+			if ($this->is_divi_preview()) {
4417 4417
 				$preview = true;
4418
-			} elseif ( $this->is_elementor_preview() ) {
4418
+			} elseif ($this->is_elementor_preview()) {
4419 4419
 				$preview = true;
4420
-			} elseif ( $this->is_beaver_preview() ) {
4420
+			} elseif ($this->is_beaver_preview()) {
4421 4421
 				$preview = true;
4422
-			} elseif ( $this->is_siteorigin_preview() ) {
4422
+			} elseif ($this->is_siteorigin_preview()) {
4423 4423
 				$preview = true;
4424
-			} elseif ( $this->is_cornerstone_preview() ) {
4424
+			} elseif ($this->is_cornerstone_preview()) {
4425 4425
 				$preview = true;
4426
-			} elseif ( $this->is_fusion_preview() ) {
4426
+			} elseif ($this->is_fusion_preview()) {
4427 4427
 				$preview = true;
4428
-			} elseif ( $this->is_oxygen_preview() ) {
4428
+			} elseif ($this->is_oxygen_preview()) {
4429 4429
 				$preview = true;
4430
-			} elseif( $this->is_kallyas_zion_preview() ) {
4430
+			} elseif ($this->is_kallyas_zion_preview()) {
4431 4431
 				$preview = true;
4432
-			} elseif( $this->is_block_content_call() ) {
4432
+			} elseif ($this->is_block_content_call()) {
4433 4433
 				$preview = true;
4434
-			} elseif( $this->is_bricks_preview() ) {
4434
+			} elseif ($this->is_bricks_preview()) {
4435 4435
 				$preview = true;
4436 4436
 			}
4437 4437
 
@@ -4446,42 +4446,42 @@  discard block
 block discarded – undo
4446 4446
 		 *
4447 4447
 		 * @return string
4448 4448
 		 */
4449
-		public function output_title( $args, $instance = array() ) {
4449
+		public function output_title($args, $instance = array()) {
4450 4450
 			$output = '';
4451
-			if ( ! empty( $instance['title'] ) ) {
4451
+			if (!empty($instance['title'])) {
4452 4452
 				/** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */
4453
-				$title  = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base );
4453
+				$title = apply_filters('widget_title', $instance['title'], $instance, $this->id_base);
4454 4454
 
4455
-				if ( empty( $instance['widget_title_tag'] ) ) {
4456
-					if ( ! isset( $args['before_title'] ) ) {
4455
+				if (empty($instance['widget_title_tag'])) {
4456
+					if (!isset($args['before_title'])) {
4457 4457
 						$args['before_title'] = '';
4458 4458
 					}
4459 4459
 
4460
-					if ( ! isset( $args['after_title'] ) ) {
4460
+					if (!isset($args['after_title'])) {
4461 4461
 						$args['after_title'] = '';
4462 4462
 					}
4463 4463
 
4464 4464
 					$output = $args['before_title'] . $title . $args['after_title'];
4465 4465
 				} else {
4466
-					$title_tag = esc_attr( $instance['widget_title_tag'] );
4466
+					$title_tag = esc_attr($instance['widget_title_tag']);
4467 4467
 
4468 4468
 					// classes
4469 4469
 					$title_classes = array();
4470
-					$title_classes[] = !empty( $instance['widget_title_size_class'] ) ? sanitize_html_class( $instance['widget_title_size_class'] ) : '';
4471
-					$title_classes[] = !empty( $instance['widget_title_align_class'] ) ? sanitize_html_class( $instance['widget_title_align_class'] ) : '';
4472
-					$title_classes[] = !empty( $instance['widget_title_color_class'] ) ? "text-".sanitize_html_class( $instance['widget_title_color_class'] ) : '';
4473
-					$title_classes[] = !empty( $instance['widget_title_border_class'] ) ? sanitize_html_class( $instance['widget_title_border_class'] ) : '';
4474
-					$title_classes[] = !empty( $instance['widget_title_border_color_class'] ) ? "border-".sanitize_html_class( $instance['widget_title_border_color_class'] ) : '';
4475
-					$title_classes[] = !empty( $instance['widget_title_mt_class'] ) ? "mt-".absint( $instance['widget_title_mt_class'] ) : '';
4476
-					$title_classes[] = !empty( $instance['widget_title_mr_class'] ) ? "mr-".absint( $instance['widget_title_mr_class'] ) : '';
4477
-					$title_classes[] = !empty( $instance['widget_title_mb_class'] ) ? "mb-".absint( $instance['widget_title_mb_class'] ) : '';
4478
-					$title_classes[] = !empty( $instance['widget_title_ml_class'] ) ? "ml-".absint( $instance['widget_title_ml_class'] ) : '';
4479
-					$title_classes[] = !empty( $instance['widget_title_pt_class'] ) ? "pt-".absint( $instance['widget_title_pt_class'] ) : '';
4480
-					$title_classes[] = !empty( $instance['widget_title_pr_class'] ) ? "pr-".absint( $instance['widget_title_pr_class'] ) : '';
4481
-					$title_classes[] = !empty( $instance['widget_title_pb_class'] ) ? "pb-".absint( $instance['widget_title_pb_class'] ) : '';
4482
-					$title_classes[] = !empty( $instance['widget_title_pl_class'] ) ? "pl-".absint( $instance['widget_title_pl_class'] ) : '';
4483
-
4484
-					$class = !empty( $title_classes ) ? implode(" ",$title_classes) : '';
4470
+					$title_classes[] = !empty($instance['widget_title_size_class']) ? sanitize_html_class($instance['widget_title_size_class']) : '';
4471
+					$title_classes[] = !empty($instance['widget_title_align_class']) ? sanitize_html_class($instance['widget_title_align_class']) : '';
4472
+					$title_classes[] = !empty($instance['widget_title_color_class']) ? "text-" . sanitize_html_class($instance['widget_title_color_class']) : '';
4473
+					$title_classes[] = !empty($instance['widget_title_border_class']) ? sanitize_html_class($instance['widget_title_border_class']) : '';
4474
+					$title_classes[] = !empty($instance['widget_title_border_color_class']) ? "border-" . sanitize_html_class($instance['widget_title_border_color_class']) : '';
4475
+					$title_classes[] = !empty($instance['widget_title_mt_class']) ? "mt-" . absint($instance['widget_title_mt_class']) : '';
4476
+					$title_classes[] = !empty($instance['widget_title_mr_class']) ? "mr-" . absint($instance['widget_title_mr_class']) : '';
4477
+					$title_classes[] = !empty($instance['widget_title_mb_class']) ? "mb-" . absint($instance['widget_title_mb_class']) : '';
4478
+					$title_classes[] = !empty($instance['widget_title_ml_class']) ? "ml-" . absint($instance['widget_title_ml_class']) : '';
4479
+					$title_classes[] = !empty($instance['widget_title_pt_class']) ? "pt-" . absint($instance['widget_title_pt_class']) : '';
4480
+					$title_classes[] = !empty($instance['widget_title_pr_class']) ? "pr-" . absint($instance['widget_title_pr_class']) : '';
4481
+					$title_classes[] = !empty($instance['widget_title_pb_class']) ? "pb-" . absint($instance['widget_title_pb_class']) : '';
4482
+					$title_classes[] = !empty($instance['widget_title_pl_class']) ? "pl-" . absint($instance['widget_title_pl_class']) : '';
4483
+
4484
+					$class = !empty($title_classes) ? implode(" ", $title_classes) : '';
4485 4485
 					$output = "<$title_tag class='$class' >$title</$title_tag>";
4486 4486
 				}
4487 4487
 
@@ -4495,7 +4495,7 @@  discard block
 block discarded – undo
4495 4495
 		 *
4496 4496
 		 * @param array $instance The widget options.
4497 4497
 		 */
4498
-		public function form( $instance ) {
4498
+		public function form($instance) {
4499 4499
 
4500 4500
 			// set widget instance
4501 4501
 			$this->instance = $instance;
@@ -4503,20 +4503,20 @@  discard block
 block discarded – undo
4503 4503
 			// set it as a SD widget
4504 4504
 			echo $this->widget_advanced_toggle();
4505 4505
 
4506
-			echo "<p>" . esc_attr( $this->options['widget_ops']['description'] ) . "</p>";
4506
+			echo "<p>" . esc_attr($this->options['widget_ops']['description']) . "</p>";
4507 4507
 			$arguments_raw = $this->get_arguments();
4508 4508
 
4509
-			if ( is_array( $arguments_raw ) ) {
4509
+			if (is_array($arguments_raw)) {
4510 4510
 
4511
-				$arguments = $this->group_arguments( $arguments_raw );
4511
+				$arguments = $this->group_arguments($arguments_raw);
4512 4512
 
4513 4513
 				// Do we have sections?
4514 4514
 				$has_sections = $arguments == $arguments_raw ? false : true;
4515 4515
 
4516 4516
 
4517
-				if ( $has_sections ) {
4517
+				if ($has_sections) {
4518 4518
 					$panel_count = 0;
4519
-					foreach ( $arguments as $key => $args ) {
4519
+					foreach ($arguments as $key => $args) {
4520 4520
 
4521 4521
 						?>
4522 4522
 						<script>
@@ -4526,26 +4526,26 @@  discard block
 block discarded – undo
4526 4526
 
4527 4527
 						$hide       = $panel_count ? ' style="display:none;" ' : '';
4528 4528
 						$icon_class = $panel_count ? 'fas fa-chevron-up' : 'fas fa-chevron-down';
4529
-						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>";
4530
-						echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes( $key ) . "' $hide>";
4529
+						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>";
4530
+						echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes($key) . "' $hide>";
4531 4531
 
4532
-						foreach ( $args as $k => $a ) {
4532
+						foreach ($args as $k => $a) {
4533 4533
 
4534 4534
 							$this->widget_inputs_row_start($k, $a);
4535
-							$this->widget_inputs( $a, $instance );
4535
+							$this->widget_inputs($a, $instance);
4536 4536
 							$this->widget_inputs_row_end($k, $a);
4537 4537
 
4538 4538
 						}
4539 4539
 
4540 4540
 						echo "</div>";
4541 4541
 
4542
-						$panel_count ++;
4542
+						$panel_count++;
4543 4543
 
4544 4544
 					}
4545 4545
 				} else {
4546
-					foreach ( $arguments as $key => $args ) {
4546
+					foreach ($arguments as $key => $args) {
4547 4547
 						$this->widget_inputs_row_start($key, $args);
4548
-						$this->widget_inputs( $args, $instance );
4548
+						$this->widget_inputs($args, $instance);
4549 4549
 						$this->widget_inputs_row_end($key, $args);
4550 4550
 					}
4551 4551
 				}
@@ -4553,28 +4553,28 @@  discard block
 block discarded – undo
4553 4553
 			}
4554 4554
 		}
4555 4555
 
4556
-		public function widget_inputs_row_start( $key, $args ) {
4557
-			if ( ! empty( $args['row'] ) ) {
4556
+		public function widget_inputs_row_start($key, $args) {
4557
+			if (!empty($args['row'])) {
4558 4558
 				// Maybe open
4559
-				if ( ! empty( $args['row']['open'] ) ) {
4559
+				if (!empty($args['row']['open'])) {
4560 4560
 					?>
4561
-					<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'] ) : '' ); ?>'>
4562
-					<?php if ( ! empty( $args['row']['title'] ) ) { ?>
4561
+					<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']) : ''); ?>'>
4562
+					<?php if (!empty($args['row']['title'])) { ?>
4563 4563
 					<?php
4564
-						if ( isset( $args['row']['icon'] ) ) {
4564
+						if (isset($args['row']['icon'])) {
4565 4565
 							$args['row']['icon'] = '';
4566 4566
 						}
4567 4567
 
4568
-						if ( ! isset( $args['row']['device_type'] ) && isset( $args['device_type'] ) ) {
4568
+						if (!isset($args['row']['device_type']) && isset($args['device_type'])) {
4569 4569
 							$args['row']['device_type'] = $args['device_type'];
4570 4570
 						}
4571 4571
 					?>
4572
-					<label class="mb-0"><?php echo $this->widget_field_title( $args['row'] ); ?><?php echo $this->widget_field_desc( $args['row'] ); ?></label>
4572
+					<label class="mb-0"><?php echo $this->widget_field_title($args['row']); ?><?php echo $this->widget_field_desc($args['row']); ?></label>
4573 4573
 					<?php } ?>
4574
-					<div class='row<?php echo ( ! empty( $args['row']['class'] ) ? ' ' . esc_attr( $args['row']['class'] ) : '' ); ?>'>
4574
+					<div class='row<?php echo (!empty($args['row']['class']) ? ' ' . esc_attr($args['row']['class']) : ''); ?>'>
4575 4575
 					<div class='col pr-2'>
4576 4576
 					<?php
4577
-				} else if ( ! empty( $args['row']['close'] ) ) {
4577
+				} else if (!empty($args['row']['close'])) {
4578 4578
 					echo "<div class='col pl-0 ps-0'>";
4579 4579
 				} else {
4580 4580
 					echo "<div class='col pl-0 ps-0 pr-2 pe-2'>";
@@ -4582,10 +4582,10 @@  discard block
 block discarded – undo
4582 4582
 			}
4583 4583
 		}
4584 4584
 
4585
-		public function widget_inputs_row_end( $key, $args ) {
4586
-			if ( ! empty( $args['row'] ) ) {
4585
+		public function widget_inputs_row_end($key, $args) {
4586
+			if (!empty($args['row'])) {
4587 4587
 				// Maybe close
4588
-				if ( ! empty( $args['row']['close'] ) ) {
4588
+				if (!empty($args['row']['close'])) {
4589 4589
 					echo "</div></div>";
4590 4590
 				}
4591 4591
 				echo "</div>";
@@ -4600,7 +4600,7 @@  discard block
 block discarded – undo
4600 4600
 		public function widget_advanced_toggle() {
4601 4601
 
4602 4602
 			$output = '';
4603
-			if ( $this->block_show_advanced() ) {
4603
+			if ($this->block_show_advanced()) {
4604 4604
 				$val = 1;
4605 4605
 			} else {
4606 4606
 				$val = 0;
@@ -4620,14 +4620,14 @@  discard block
 block discarded – undo
4620 4620
 		 *@since 1.0.0
4621 4621
 		 *
4622 4622
 		 */
4623
-		public function convert_element_require( $input ) {
4624
-			$input = str_replace( "'", '"', $input );// we only want double quotes
4623
+		public function convert_element_require($input) {
4624
+			$input = str_replace("'", '"', $input); // we only want double quotes
4625 4625
 
4626
-			$output = esc_attr( str_replace( array( "[%", "%]", "%:checked]" ), array(
4626
+			$output = esc_attr(str_replace(array("[%", "%]", "%:checked]"), array(
4627 4627
 				"jQuery(form).find('[data-argument=\"",
4628 4628
 				"\"]').find('input,select,textarea').val()",
4629 4629
 				"\"]').find('input:checked').val()"
4630
-			), $input ) );
4630
+			), $input));
4631 4631
 
4632 4632
 			return $output;
4633 4633
 		}
@@ -4638,48 +4638,48 @@  discard block
 block discarded – undo
4638 4638
 		 * @param $args
4639 4639
 		 * @param $instance
4640 4640
 		 */
4641
-		public function widget_inputs( $args, $instance ) {
4641
+		public function widget_inputs($args, $instance) {
4642 4642
 
4643 4643
 			$class             = "";
4644 4644
 			$element_require   = "";
4645 4645
 			$custom_attributes = "";
4646 4646
 
4647 4647
 			// get value
4648
-			if ( isset( $instance[ $args['name'] ] ) ) {
4649
-				$value = $instance[ $args['name'] ];
4650
-			} elseif ( ! isset( $instance[ $args['name'] ] ) && ! empty( $args['default'] ) ) {
4651
-				$value = is_array( $args['default'] ) ? array_map( "esc_html", $args['default'] ) : esc_html( $args['default'] );
4648
+			if (isset($instance[$args['name']])) {
4649
+				$value = $instance[$args['name']];
4650
+			} elseif (!isset($instance[$args['name']]) && !empty($args['default'])) {
4651
+				$value = is_array($args['default']) ? array_map("esc_html", $args['default']) : esc_html($args['default']);
4652 4652
 			} else {
4653 4653
 				$value = '';
4654 4654
 			}
4655 4655
 
4656 4656
 			// get placeholder
4657
-			if ( ! empty( $args['placeholder'] ) ) {
4658
-				$placeholder = "placeholder='" . esc_html( $args['placeholder'] ) . "'";
4657
+			if (!empty($args['placeholder'])) {
4658
+				$placeholder = "placeholder='" . esc_html($args['placeholder']) . "'";
4659 4659
 			} else {
4660 4660
 				$placeholder = '';
4661 4661
 			}
4662 4662
 
4663 4663
 			// get if advanced
4664
-			if ( isset( $args['advanced'] ) && $args['advanced'] ) {
4664
+			if (isset($args['advanced']) && $args['advanced']) {
4665 4665
 				$class .= " sd-advanced-setting ";
4666 4666
 			}
4667 4667
 
4668 4668
 			// element_require
4669
-			if ( isset( $args['element_require'] ) && $args['element_require'] ) {
4669
+			if (isset($args['element_require']) && $args['element_require']) {
4670 4670
 				$element_require = $args['element_require'];
4671 4671
 			}
4672 4672
 
4673 4673
 			// custom_attributes
4674
-			if ( isset( $args['custom_attributes'] ) && $args['custom_attributes'] ) {
4675
-				$custom_attributes = $this->array_to_attributes( $args['custom_attributes'], true );
4674
+			if (isset($args['custom_attributes']) && $args['custom_attributes']) {
4675
+				$custom_attributes = $this->array_to_attributes($args['custom_attributes'], true);
4676 4676
 			}
4677 4677
 
4678 4678
 			// before wrapper
4679 4679
 			?>
4680
-			<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 );} ?>'>
4680
+			<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); } ?>'>
4681 4681
 			<?php
4682
-			switch ( $args['type'] ) {
4682
+			switch ($args['type']) {
4683 4683
 				//array('text','password','number','email','tel','url','color')
4684 4684
 				case "text":
4685 4685
 				case "password":
@@ -4689,33 +4689,33 @@  discard block
 block discarded – undo
4689 4689
 				case "url":
4690 4690
 				case "color":
4691 4691
 					?>
4692
-					<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>
4693
-					<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 ); ?>">
4692
+					<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>
4693
+					<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); ?>">
4694 4694
 					<?php
4695 4695
 
4696 4696
 					break;
4697 4697
 				case "select":
4698
-					$multiple = isset( $args['multiple'] ) && $args['multiple'] ? true : false;
4699
-					if ( $multiple ) {
4700
-						if ( empty( $value ) ) {
4698
+					$multiple = isset($args['multiple']) && $args['multiple'] ? true : false;
4699
+					if ($multiple) {
4700
+						if (empty($value)) {
4701 4701
 							$value = array();
4702 4702
 						}
4703 4703
 					}
4704 4704
 					?>
4705
-					<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>
4706
-					<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 "[]"; } ?>"
4707
-						<?php if ( $multiple ) {
4705
+					<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>
4706
+					<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 "[]"; } ?>"
4707
+						<?php if ($multiple) {
4708 4708
 							echo "multiple";
4709 4709
 						} //@todo not implemented yet due to gutenberg not supporting it
4710 4710
 						?>>
4711 4711
 						<?php
4712 4712
 
4713
-						if ( ! empty( $args['options'] ) ) {
4714
-							foreach ( $args['options'] as $val => $label ) {
4715
-								if ( $multiple ) {
4716
-									$selected = in_array( $val, $value ) ? 'selected="selected"' : '';
4713
+						if (!empty($args['options'])) {
4714
+							foreach ($args['options'] as $val => $label) {
4715
+								if ($multiple) {
4716
+									$selected = in_array($val, $value) ? 'selected="selected"' : '';
4717 4717
 								} else {
4718
-									$selected = selected( $value, $val, false );
4718
+									$selected = selected($value, $val, false);
4719 4719
 								}
4720 4720
 								echo "<option value='$val' " . $selected . ">$label</option>";
4721 4721
 							}
@@ -4726,20 +4726,20 @@  discard block
 block discarded – undo
4726 4726
 					break;
4727 4727
 				case "checkbox":
4728 4728
 					?>
4729
-					<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">
4730
-					<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>
4729
+					<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">
4730
+					<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>
4731 4731
 					<?php
4732 4732
 					break;
4733 4733
 				case "textarea":
4734 4734
 					?>
4735
-					<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>
4736
-					<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>
4735
+					<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>
4736
+					<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>
4737 4737
 					<?php
4738 4738
 
4739 4739
 					break;
4740 4740
 				case "hidden":
4741 4741
 					?>
4742
-					<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 ); ?>">
4742
+					<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); ?>">
4743 4743
 					<?php
4744 4744
 					break;
4745 4745
 				default:
@@ -4749,15 +4749,15 @@  discard block
 block discarded – undo
4749 4749
 			?></p><?php
4750 4750
 		}
4751 4751
 
4752
-		public function get_widget_icon($icon = 'box-top', $title = ''){
4753
-			if($icon=='box-top'){
4754
-				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>';
4755
-			}elseif($icon=='box-right'){
4756
-				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>';
4757
-			}elseif($icon=='box-bottom'){
4758
-				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>';
4759
-			}elseif($icon=='box-left'){
4760
-				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>';
4752
+		public function get_widget_icon($icon = 'box-top', $title = '') {
4753
+			if ($icon == 'box-top') {
4754
+				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>';
4755
+			}elseif ($icon == 'box-right') {
4756
+				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>';
4757
+			}elseif ($icon == 'box-bottom') {
4758
+				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>';
4759
+			}elseif ($icon == 'box-left') {
4760
+				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>';
4761 4761
 			}
4762 4762
 		}
4763 4763
 
@@ -4769,14 +4769,14 @@  discard block
 block discarded – undo
4769 4769
 		 * @return string
4770 4770
 		 * @todo, need to make its own tooltip script
4771 4771
 		 */
4772
-		public function widget_field_desc( $args ) {
4772
+		public function widget_field_desc($args) {
4773 4773
 
4774 4774
 			$description = '';
4775
-			if ( isset( $args['desc'] ) && $args['desc'] ) {
4776
-				if ( isset( $args['desc_tip'] ) && $args['desc_tip'] ) {
4777
-					$description = $this->desc_tip( $args['desc'] );
4775
+			if (isset($args['desc']) && $args['desc']) {
4776
+				if (isset($args['desc_tip']) && $args['desc_tip']) {
4777
+					$description = $this->desc_tip($args['desc']);
4778 4778
 				} else {
4779
-					$description = '<span class="description">' . wp_kses_post( $args['desc'] ) . '</span>';
4779
+					$description = '<span class="description">' . wp_kses_post($args['desc']) . '</span>';
4780 4780
 				}
4781 4781
 			}
4782 4782
 
@@ -4790,18 +4790,18 @@  discard block
 block discarded – undo
4790 4790
 		 *
4791 4791
 		 * @return string
4792 4792
 		 */
4793
-		public function widget_field_title( $args ) {
4793
+		public function widget_field_title($args) {
4794 4794
 			$title = '';
4795 4795
 
4796
-			if ( isset( $args['title'] ) && $args['title'] ) {
4797
-				if ( ! empty( $args['device_type'] ) ) {
4796
+			if (isset($args['title']) && $args['title']) {
4797
+				if (!empty($args['device_type'])) {
4798 4798
 					$args['title'] .= ' (' . $args['device_type'] . ')'; // Append device type to title.
4799 4799
 				}
4800 4800
 
4801
-				if ( isset( $args['icon'] ) && $args['icon'] ) {
4802
-					$title = self::get_widget_icon( $args['icon'], $args['title']  );
4801
+				if (isset($args['icon']) && $args['icon']) {
4802
+					$title = self::get_widget_icon($args['icon'], $args['title']);
4803 4803
 				} else {
4804
-					$title = esc_attr( $args['title'] );
4804
+					$title = esc_attr($args['title']);
4805 4805
 				}
4806 4806
 			}
4807 4807
 
@@ -4816,11 +4816,11 @@  discard block
 block discarded – undo
4816 4816
 		 *
4817 4817
 		 * @return string
4818 4818
 		 */
4819
-		function desc_tip( $tip, $allow_html = false ) {
4820
-			if ( $allow_html ) {
4821
-				$tip = $this->sanitize_tooltip( $tip );
4819
+		function desc_tip($tip, $allow_html = false) {
4820
+			if ($allow_html) {
4821
+				$tip = $this->sanitize_tooltip($tip);
4822 4822
 			} else {
4823
-				$tip = esc_attr( $tip );
4823
+				$tip = esc_attr($tip);
4824 4824
 			}
4825 4825
 
4826 4826
 			return '<span class="gd-help-tip dashicons dashicons-editor-help" title="' . $tip . '"></span>';
@@ -4833,8 +4833,8 @@  discard block
 block discarded – undo
4833 4833
 		 *
4834 4834
 		 * @return string
4835 4835
 		 */
4836
-		public function sanitize_tooltip( $var ) {
4837
-			return htmlspecialchars( wp_kses( html_entity_decode( $var ), array(
4836
+		public function sanitize_tooltip($var) {
4837
+			return htmlspecialchars(wp_kses(html_entity_decode($var), array(
4838 4838
 				'br'     => array(),
4839 4839
 				'em'     => array(),
4840 4840
 				'strong' => array(),
@@ -4844,7 +4844,7 @@  discard block
 block discarded – undo
4844 4844
 				'li'     => array(),
4845 4845
 				'ol'     => array(),
4846 4846
 				'p'      => array(),
4847
-			) ) );
4847
+			)));
4848 4848
 		}
4849 4849
 
4850 4850
 		/**
@@ -4856,23 +4856,23 @@  discard block
 block discarded – undo
4856 4856
 		 * @return array
4857 4857
 		 * @todo we should add some sanitation here.
4858 4858
 		 */
4859
-		public function update( $new_instance, $old_instance ) {
4859
+		public function update($new_instance, $old_instance) {
4860 4860
 
4861 4861
 			//save the widget
4862
-			$instance = array_merge( (array) $old_instance, (array) $new_instance );
4862
+			$instance = array_merge((array) $old_instance, (array) $new_instance);
4863 4863
 
4864 4864
 			// set widget instance
4865 4865
 			$this->instance = $instance;
4866 4866
 
4867
-			if ( empty( $this->arguments ) ) {
4867
+			if (empty($this->arguments)) {
4868 4868
 				$this->get_arguments();
4869 4869
 			}
4870 4870
 
4871 4871
 			// check for checkboxes
4872
-			if ( ! empty( $this->arguments ) ) {
4873
-				foreach ( $this->arguments as $argument ) {
4874
-					if ( isset( $argument['type'] ) && $argument['type'] == 'checkbox' && ! isset( $new_instance[ $argument['name'] ] ) ) {
4875
-						$instance[ $argument['name'] ] = '0';
4872
+			if (!empty($this->arguments)) {
4873
+				foreach ($this->arguments as $argument) {
4874
+					if (isset($argument['type']) && $argument['type'] == 'checkbox' && !isset($new_instance[$argument['name']])) {
4875
+						$instance[$argument['name']] = '0';
4876 4876
 					}
4877 4877
 				}
4878 4878
 			}
@@ -4890,7 +4890,7 @@  discard block
 block discarded – undo
4890 4890
 		 */
4891 4891
 		public function is_block_content_call() {
4892 4892
 			$result = false;
4893
-			if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
4893
+			if (wp_doing_ajax() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'super_duper_output_shortcode') {
4894 4894
 				$result = true;
4895 4895
 			}
4896 4896
 
@@ -4903,9 +4903,9 @@  discard block
 block discarded – undo
4903 4903
 		 * @return string
4904 4904
 		 *@since 1.0.20
4905 4905
 		 */
4906
-		public function get_instance_hash(){
4907
-			$instance_string = $this->base_id.serialize($this->instance);
4908
-			return hash('crc32b',$instance_string);
4906
+		public function get_instance_hash() {
4907
+			$instance_string = $this->base_id . serialize($this->instance);
4908
+			return hash('crc32b', $instance_string);
4909 4909
 		}
4910 4910
 
4911 4911
 		/**
@@ -4916,14 +4916,14 @@  discard block
 block discarded – undo
4916 4916
 		 * @return string
4917 4917
 		 *@since 1.0.20
4918 4918
 		 */
4919
-		public function get_instance_style($rules = array()){
4919
+		public function get_instance_style($rules = array()) {
4920 4920
 			$css = '';
4921 4921
 
4922
-			if(!empty($rules)){
4922
+			if (!empty($rules)) {
4923 4923
 				$rules = array_unique($rules);
4924 4924
 				$instance_hash = $this->get_instance_hash();
4925 4925
 				$css .= "<style>";
4926
-				foreach($rules as $rule){
4926
+				foreach ($rules as $rule) {
4927 4927
 					$css .= ".sdel-$instance_hash $rule";
4928 4928
 				}
4929 4929
 				$css .= "</style>";
@@ -4941,9 +4941,9 @@  discard block
 block discarded – undo
4941 4941
 		 *@since 1.0.28
4942 4942
 		 *
4943 4943
 		 */
4944
-		public function encode_shortcodes( $content ) {
4944
+		public function encode_shortcodes($content) {
4945 4945
 			// Avoids existing encoded tags.
4946
-			$trans   = array(
4946
+			$trans = array(
4947 4947
 				'&#91;' => '&#091;',
4948 4948
 				'&#93;' => '&#093;',
4949 4949
 				'&amp;#91;' => '&#091;',
@@ -4954,7 +4954,7 @@  discard block
 block discarded – undo
4954 4954
 				'&amp;gt;' => '&0gt;',
4955 4955
 			);
4956 4956
 
4957
-			$content = strtr( $content, $trans );
4957
+			$content = strtr($content, $trans);
4958 4958
 
4959 4959
 			$trans   = array(
4960 4960
 				'[' => '&#91;',
@@ -4965,7 +4965,7 @@  discard block
 block discarded – undo
4965 4965
 				"'" => '&#39;',
4966 4966
 			);
4967 4967
 
4968
-			$content = strtr( $content, $trans );
4968
+			$content = strtr($content, $trans);
4969 4969
 
4970 4970
 			return $content;
4971 4971
 		}
@@ -4979,8 +4979,8 @@  discard block
 block discarded – undo
4979 4979
 		 *@since 1.0.28
4980 4980
 		 *
4981 4981
 		 */
4982
-		public function decode_shortcodes( $content ) {
4983
-			$trans   = array(
4982
+		public function decode_shortcodes($content) {
4983
+			$trans = array(
4984 4984
 				'&#91;' => '[',
4985 4985
 				'&#93;' => ']',
4986 4986
 				'&amp;#91;' => '[',
@@ -4993,7 +4993,7 @@  discard block
 block discarded – undo
4993 4993
 				'&apos;' => "'",
4994 4994
 			);
4995 4995
 
4996
-			$content = strtr( $content, $trans );
4996
+			$content = strtr($content, $trans);
4997 4997
 
4998 4998
 			$trans   = array(
4999 4999
 				'&#091;' => '&#91;',
@@ -5006,31 +5006,31 @@  discard block
 block discarded – undo
5006 5006
 				'&amp;0gt;' => '&gt;',
5007 5007
 			);
5008 5008
 
5009
-			$content = strtr( $content, $trans );
5009
+			$content = strtr($content, $trans);
5010 5010
 
5011 5011
 			return $content;
5012 5012
 		}
5013 5013
 
5014
-		public function block_visibility_fields( $args ) {
5015
-			$value = ! empty( $args['value'] ) ? esc_attr( $args['value'] ) : '';
5014
+		public function block_visibility_fields($args) {
5015
+			$value = !empty($args['value']) ? esc_attr($args['value']) : '';
5016 5016
 			$content = '<div class="bs-vc-rule-template d-none">';
5017 5017
 				$content .= '<div class="p-3 pb-0 mb-3 border border-1 rounded-1 position-relative bs-vc-rule" data-bs-index="BSVCINDEX" >';
5018 5018
 					$content .= '<div class="row">';
5019 5019
 						$content .= '<div class="col-sm-12">';
5020
-							$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>';
5020
+							$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>';
5021 5021
 							$content .= aui()->select(
5022 5022
 								array(
5023 5023
 									'id'          => 'bsvc_rule_BSVCINDEX',
5024 5024
 									'name'        => 'bsvc_rule_BSVCINDEX',
5025
-									'label'       => __( 'Rule', 'ayecode-connect' ),
5026
-									'placeholder' => __( 'Select Rule...', 'ayecode-connect' ),
5025
+									'label'       => __('Rule', 'ayecode-connect'),
5026
+									'placeholder' => __('Select Rule...', 'ayecode-connect'),
5027 5027
 									'class'       => 'bsvc_rule form-select-sm no-select2 mw-100',
5028 5028
 									'options'     => sd_visibility_rules_options(),
5029 5029
 									'default'     => '',
5030 5030
 									'value'       => '',
5031 5031
 									'label_type'  => '',
5032 5032
 									'select2'     => false,
5033
-									'input_group_left' => __( 'Rule:', 'ayecode-connect' ),
5033
+									'input_group_left' => __('Rule:', 'ayecode-connect'),
5034 5034
 									'extra_attributes' => array(
5035 5035
 										'data-minimum-results-for-search' => '-1'
5036 5036
 									)
@@ -5039,15 +5039,15 @@  discard block
 block discarded – undo
5039 5039
 
5040 5040
 						$content .= '</div>';
5041 5041
 
5042
-						if ( class_exists( 'GeoDirectory' ) ) {
5042
+						if (class_exists('GeoDirectory')) {
5043 5043
 							$content .= '<div class="col-md-7 col-sm-12">';
5044 5044
 
5045 5045
 								$content .= aui()->select(
5046 5046
 									array(
5047 5047
 										'id'          => 'bsvc_gd_field_BSVCINDEX',
5048 5048
 										'name'        => 'bsvc_gd_field_BSVCINDEX',
5049
-										'label'       => __( 'FIELD', 'ayecode-connect' ),
5050
-										'placeholder' => __( 'FIELD', 'ayecode-connect' ),
5049
+										'label'       => __('FIELD', 'ayecode-connect'),
5050
+										'placeholder' => __('FIELD', 'ayecode-connect'),
5051 5051
 										'class'       => 'bsvc_gd_field form-select-sm no-select2 mw-100',
5052 5052
 										'options'     => sd_visibility_gd_field_options(),
5053 5053
 										'default'     => '',
@@ -5068,8 +5068,8 @@  discard block
 block discarded – undo
5068 5068
 									array(
5069 5069
 										'id'          => 'bsvc_gd_field_condition_BSVCINDEX',
5070 5070
 										'name'        => 'bsvc_gd_field_condition_BSVCINDEX',
5071
-										'label'       => __( 'CONDITION', 'ayecode-connect' ),
5072
-										'placeholder' => __( 'CONDITION', 'ayecode-connect' ),
5071
+										'label'       => __('CONDITION', 'ayecode-connect'),
5072
+										'placeholder' => __('CONDITION', 'ayecode-connect'),
5073 5073
 										'class'       => 'bsvc_gd_field_condition form-select-sm no-select2 mw-100',
5074 5074
 										'options'     => sd_visibility_field_condition_options(),
5075 5075
 										'default'     => '',
@@ -5091,9 +5091,9 @@  discard block
 block discarded – undo
5091 5091
 										'type'            => 'text',
5092 5092
 										'id'              => 'bsvc_gd_field_search_BSVCINDEX',
5093 5093
 										'name'            => 'bsvc_gd_field_search_BSVCINDEX',
5094
-										'label'           => __( 'VALUE TO MATCH', 'ayecode-connect' ),
5094
+										'label'           => __('VALUE TO MATCH', 'ayecode-connect'),
5095 5095
 										'class'           => 'bsvc_gd_field_search form-control-sm',
5096
-										'placeholder'     => __( 'VALUE TO MATCH', 'ayecode-connect' ),
5096
+										'placeholder'     => __('VALUE TO MATCH', 'ayecode-connect'),
5097 5097
 										'label_type'      => '',
5098 5098
 										'value'           => '',
5099 5099
 										'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")'
@@ -5105,11 +5105,11 @@  discard block
 block discarded – undo
5105 5105
 
5106 5106
 					$content .= '</div>';
5107 5107
 
5108
-					$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>';
5108
+					$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>';
5109 5109
 						$role_options = sd_user_roles_options();
5110 5110
 
5111 5111
 						$role_option_i = 0;
5112
-						foreach ( $role_options as $role_option_key => $role_option_name ) {
5112
+						foreach ($role_options as $role_option_key => $role_option_name) {
5113 5113
 							$role_option_i++;
5114 5114
 
5115 5115
 							$content .= '<div class="col-sm-6">';
@@ -5133,14 +5133,14 @@  discard block
 block discarded – undo
5133 5133
 			$content .= '</div>';
5134 5134
 			$content .= '<form id="bs-vc-modal-form" class="bs-vc-modal-form">';
5135 5135
 			$content .= '<div class="bs-vc-rule-sets"></div>';
5136
-			$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>';
5136
+			$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>';
5137 5137
 			$content .= '<div class="row"><div class="col-md-6 col-sm-12">';
5138 5138
 			$content .= aui()->select(
5139 5139
 				array(
5140 5140
 					'id'          => 'bsvc_output',
5141 5141
 					'name'        => 'bsvc_output',
5142
-					'label'       => __( 'What should happen if rules met.', 'ayecode-connect' ),
5143
-					'placeholder' => __( 'Default Output', 'ayecode-connect' ),
5142
+					'label'       => __('What should happen if rules met.', 'ayecode-connect'),
5143
+					'placeholder' => __('Default Output', 'ayecode-connect'),
5144 5144
 					'class'       => 'bsvc_output form-select-sm no-select2 mw-100',
5145 5145
 					'options'     => sd_visibility_output_options(),
5146 5146
 					'default'     => '',
@@ -5159,8 +5159,8 @@  discard block
 block discarded – undo
5159 5159
 				array(
5160 5160
 					'id'              => 'bsvc_page',
5161 5161
 					'name'            => 'bsvc_page',
5162
-					'label'           => __( 'Page Content', 'ayecode-connect' ),
5163
-					'placeholder'     => __( 'Select Page ID...', 'ayecode-connect' ),
5162
+					'label'           => __('Page Content', 'ayecode-connect'),
5163
+					'placeholder'     => __('Select Page ID...', 'ayecode-connect'),
5164 5164
 					'class'           => 'bsvc_page form-select-sm no-select2 mw-100',
5165 5165
 					'options'         => sd_template_page_options(),
5166 5166
 					'default'         => '',
@@ -5175,8 +5175,8 @@  discard block
 block discarded – undo
5175 5175
 				array(
5176 5176
 					'id'          => 'bsvc_tmpl_part',
5177 5177
 					'name'        => 'bsvc_tmpl_part',
5178
-					'label'       => __( 'Template Part', 'ayecode-connect' ),
5179
-					'placeholder' => __( 'Select Template Part...', 'ayecode-connect' ),
5178
+					'label'       => __('Template Part', 'ayecode-connect'),
5179
+					'placeholder' => __('Select Template Part...', 'ayecode-connect'),
5180 5180
 					'class'       => 'bsvc_tmpl_part form-select-sm no-select2 mw-100',
5181 5181
 					'options'     => sd_template_part_options(),
5182 5182
 					'default'     => '',
@@ -5194,8 +5194,8 @@  discard block
 block discarded – undo
5194 5194
 				array(
5195 5195
 					'id'               => 'bsvc_message_type',
5196 5196
 					'name'             => 'bsvc_message_type',
5197
-					'label'            => __( 'Custom Message Type', 'ayecode-connect' ),
5198
-					'placeholder'      => __( 'Default (none)', 'ayecode-connect' ),
5197
+					'label'            => __('Custom Message Type', 'ayecode-connect'),
5198
+					'placeholder'      => __('Default (none)', 'ayecode-connect'),
5199 5199
 					'class'            => 'bsvc_message_type form-select-sm no-select2 mw-100',
5200 5200
 					'options'          => sd_aui_colors(),
5201 5201
 					'default'          => '',
@@ -5218,7 +5218,7 @@  discard block
 block discarded – undo
5218 5218
 					'name'            => 'bsvc_message',
5219 5219
 					'label'           => '',
5220 5220
 					'class'           => 'bsvc_message form-control-sm',
5221
-					'placeholder'     => __( 'CUSTOM MESSAGE TO SHOW', 'ayecode-connect' ),
5221
+					'placeholder'     => __('CUSTOM MESSAGE TO SHOW', 'ayecode-connect'),
5222 5222
 					'label_type'      => '',
5223 5223
 					'value'           => '',
5224 5224
 					'form_group_class' => ' ',
Please login to merge, or discard this patch.
includes/class-wpinv.php 2 patches
Indentation   +616 added lines, -616 removed lines patch added patch discarded remove patch
@@ -14,620 +14,620 @@
 block discarded – undo
14 14
  */
15 15
 class WPInv_Plugin {
16 16
 
17
-	/**
18
-	 * GetPaid version.
19
-	 *
20
-	 * @var string
21
-	 */
22
-	public $version;
23
-
24
-	/**
25
-	 * Data container.
26
-	 *
27
-	 * @var array
28
-	 */
29
-	protected $data = array();
30
-
31
-	/**
32
-	 * Form elements instance.
33
-	 *
34
-	 * @var WPInv_Payment_Form_Elements
35
-	 */
36
-	public $form_elements;
37
-
38
-	/**
39
-	 * @var array An array of payment gateways.
40
-	 */
41
-	public $gateways;
42
-
43
-	/**
44
-	 * Class constructor.
45
-	 */
46
-	public function __construct() {
47
-		$this->define_constants();
48
-		$this->includes();
49
-		$this->init_hooks();
50
-		$this->set_properties();
51
-	}
52
-
53
-	/**
54
-	 * Sets a custom data property.
55
-	 *
56
-	 * @param string $prop The prop to set.
57
-	 * @param mixed $value The value to retrieve.
58
-	 */
59
-	public function set( $prop, $value ) {
60
-		$this->data[ $prop ] = $value;
61
-	}
62
-
63
-	/**
64
-	 * Gets a custom data property.
65
-	 *
66
-	 * @param string $prop The prop to set.
67
-	 * @return mixed The value.
68
-	 */
69
-	public function get( $prop ) {
70
-		if ( isset( $this->data[ $prop ] ) ) {
71
-			return $this->data[ $prop ];
72
-		}
73
-
74
-		return null;
75
-	}
76
-
77
-	/**
78
-	 * Define class properties.
79
-	 */
80
-	public function set_properties() {
81
-		// Sessions.
82
-		$this->set( 'session', new WPInv_Session_Handler() );
83
-		$GLOBALS['wpi_session'] = $this->get( 'session' ); // Backwards compatibility.
84
-		$GLOBALS['wpinv_euvat'] = new WPInv_EUVat(); // Backwards compatibility.
85
-
86
-		// Init other objects.
87
-		$this->set( 'notes', new WPInv_Notes() );
88
-		$this->set( 'api', new WPInv_API() );
89
-		$this->set( 'post_types', new GetPaid_Post_Types() );
90
-		$this->set( 'template', new GetPaid_Template() );
91
-		$this->set( 'admin', new GetPaid_Admin() );
92
-		$this->set( 'subscriptions', new WPInv_Subscriptions() );
93
-		$this->set( 'invoice_emails', new GetPaid_Invoice_Notification_Emails() );
94
-		$this->set( 'subscription_emails', new GetPaid_Subscription_Notification_Emails() );
95
-		$this->set( 'daily_maintenace', new GetPaid_Daily_Maintenance() );
96
-		$this->set( 'payment_forms', new GetPaid_Payment_Forms() );
97
-		$this->set( 'maxmind', new GetPaid_MaxMind_Geolocation() );
98
-	}
99
-
100
-	 /**
101
-	 * Define plugin constants.
102
-	 */
103
-	public function define_constants() {
104
-		define( 'WPINV_PLUGIN_DIR', plugin_dir_path( WPINV_PLUGIN_FILE ) );
105
-		define( 'WPINV_PLUGIN_URL', plugin_dir_url( WPINV_PLUGIN_FILE ) );
106
-		$this->version = WPINV_VERSION;
107
-	}
108
-
109
-	/**
110
-	 * Hook into actions and filters.
111
-	 *
112
-	 * @since 1.0.19
113
-	 */
114
-	protected function init_hooks() {
115
-		/* Internationalize the text strings used. */
116
-		add_action( 'plugins_loaded', array( &$this, 'plugins_loaded' ) );
117
-
118
-		// Init the plugin after WordPress inits.
119
-		add_action( 'init', array( $this, 'init' ), 1 );
120
-		add_action( 'init', array( $this, 'maybe_process_ipn' ), 10 );
121
-		add_action( 'init', array( $this, 'wpinv_actions' ) );
122
-		add_action( 'init', array( $this, 'maybe_do_authenticated_action' ), 100 );
123
-		add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 11 );
124
-		add_action( 'wp_footer', array( $this, 'wp_footer' ) );
125
-		add_action( 'wp_head', array( $this, 'wp_head' ) );
126
-		add_action( 'widgets_init', array( $this, 'register_widgets' ) );
127
-		add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', array( $this, 'wpseo_exclude_from_sitemap_by_post_ids' ) );
128
-		add_filter( 'the_seo_framework_sitemap_supported_post_types', array( $this, 'exclude_invoicing_post_types' ) );
129
-		add_filter( 'pre_get_posts', array( &$this, 'pre_get_posts' ) );
130
-
131
-		add_filter( 'query_vars', array( $this, 'custom_query_vars' ) );
132
-		add_action( 'init', array( $this, 'add_rewrite_rule' ), 10, 0 );
133
-		add_action( 'pre_get_posts', array( $this, 'maybe_process_new_ipn' ), 1 );
134
-
135
-		// Fires after registering actions.
136
-		do_action( 'wpinv_actions', $this );
137
-		do_action( 'getpaid_actions', $this );
138
-	}
139
-
140
-	public function plugins_loaded() {
141
-		/* Internationalize the text strings used. */
142
-		$this->load_textdomain();
143
-
144
-		do_action( 'wpinv_loaded' );
145
-
146
-		// Fix oxygen page builder conflict
147
-		if ( function_exists( 'ct_css_output' ) ) {
148
-			wpinv_oxygen_fix_conflict();
149
-		}
150
-	}
151
-
152
-	/**
153
-	 * Load Localisation files.
154
-	 *
155
-	 * Note: the first-loaded translation file overrides any following ones if the same translation is present.
156
-	 *
157
-	 * Locales found in:
158
-	 *      - WP_LANG_DIR/plugins/invoicing-LOCALE.mo
159
-	 *      - WP_PLUGIN_DIR/invoicing/languages/invoicing-LOCALE.mo
160
-	 *
161
-	 * @since 1.0.0
162
-	 */
163
-	public function load_textdomain() {
164
-		// Determines the current locale.
165
-		if ( function_exists( 'determine_locale' ) ) {
166
-			$locale = determine_locale();
167
-		} else if ( function_exists( 'get_user_locale' ) ) {
168
-			$locale = get_user_locale();
169
-		} else {
170
-			$locale = get_locale();
171
-		}
172
-
173
-		/**
174
-		 * Filter the locale to use for translations.
175
-		 */
176
-		$locale = apply_filters( 'plugin_locale', $locale, 'invoicing' );
177
-
178
-		unload_textdomain( 'invoicing' );
179
-		load_textdomain( 'invoicing', WP_LANG_DIR . '/invoicing/invoicing-' . $locale . '.mo' );
180
-		load_plugin_textdomain( 'invoicing', false, plugin_basename( dirname( WPINV_PLUGIN_FILE ) ) . '/languages/' );
181
-	}
182
-
183
-	/**
184
-	 * Include required core files used in admin and on the frontend.
185
-	 */
186
-	public function includes() {
187
-		// Start with the settings.
188
-		require_once WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php';
189
-
190
-		// Packages/libraries.
191
-		require_once WPINV_PLUGIN_DIR . 'vendor/autoload.php';
192
-		require_once WPINV_PLUGIN_DIR . 'vendor/ayecode/wp-ayecode-ui/ayecode-ui-loader.php';
193
-
194
-		// Load functions.
195
-		require_once WPINV_PLUGIN_DIR . 'includes/deprecated-functions.php';
196
-		require_once WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php';
197
-		require_once WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php';
198
-		require_once WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php';
199
-		require_once WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php';
200
-		require_once WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php';
201
-		require_once WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php';
202
-		require_once WPINV_PLUGIN_DIR . 'includes/invoice-functions.php';
203
-		require_once WPINV_PLUGIN_DIR . 'includes/subscription-functions.php';
204
-		require_once WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php';
205
-		require_once WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php';
206
-		require_once WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php';
207
-		require_once WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php';
208
-		require_once WPINV_PLUGIN_DIR . 'includes/user-functions.php';
209
-		require_once WPINV_PLUGIN_DIR . 'includes/error-functions.php';
210
-
211
-		// Register autoloader.
212
-		try {
213
-			spl_autoload_register( array( $this, 'autoload' ), true );
214
-		} catch ( Exception $e ) {
215
-			wpinv_error_log( $e->getMessage(), '', __FILE__, 149, true );
216
-		}
217
-
218
-		require_once WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php';
219
-		require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php';
220
-		require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php';
221
-		require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php';
222
-		require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php';
223
-		require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php';
224
-		require_once WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php';
225
-		require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php';
226
-		require_once WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php';
227
-		require_once WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php';
228
-		require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php';
229
-		require_once WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php';
230
-		require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php';
231
-		require_once WPINV_PLUGIN_DIR . 'widgets/checkout.php';
232
-		require_once WPINV_PLUGIN_DIR . 'widgets/invoice-history.php';
233
-		require_once WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php';
234
-		require_once WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php';
235
-		require_once WPINV_PLUGIN_DIR . 'widgets/subscriptions.php';
236
-		require_once WPINV_PLUGIN_DIR . 'widgets/buy-item.php';
237
-		require_once WPINV_PLUGIN_DIR . 'widgets/getpaid.php';
238
-		require_once WPINV_PLUGIN_DIR . 'widgets/invoice.php';
239
-		require_once WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php';
240
-
241
-		if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) {
242
-			GetPaid_Post_Types_Admin::init();
243
-
244
-			require_once WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php';
245
-			require_once WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-payment-form.php';
246
-			require_once WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php';
247
-			require_once WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php';
248
-			require_once WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php';
249
-			require_once WPINV_PLUGIN_DIR . 'includes/admin/class-getpaid-admin-profile.php';
250
-			// load the user class only on the users.php page
251
-			global $pagenow;
252
-			if ( $pagenow == 'users.php' ) {
253
-				new WPInv_Admin_Users();
254
-			}
255
-		}
256
-
257
-		// Register cli commands
258
-		if ( defined( 'WP_CLI' ) && WP_CLI ) {
259
-			require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php';
260
-			WP_CLI::add_command( 'invoicing', 'WPInv_CLI' );
261
-		}
262
-	}
263
-
264
-	/**
265
-	 * Class autoloader
266
-	 *
267
-	 * @param       string $class_name The name of the class to load.
268
-	 * @access      public
269
-	 * @since       1.0.19
270
-	 * @return      void
271
-	 */
272
-	public function autoload( $class_name ) {
273
-		// Normalize the class name...
274
-		$class_name  = strtolower( $class_name );
275
-
276
-		// ... and make sure it is our class.
277
-		if ( false === strpos( $class_name, 'getpaid_' ) && false === strpos( $class_name, 'wpinv_' ) ) {
278
-			return;
279
-		}
280
-
281
-		// Next, prepare the file name from the class.
282
-		$file_name = 'class-' . str_replace( '_', '-', $class_name ) . '.php';
283
-
284
-		// Base path of the classes.
285
-		$plugin_path = untrailingslashit( WPINV_PLUGIN_DIR );
286
-
287
-		// And an array of possible locations in order of importance.
288
-		$locations = array(
289
-			"$plugin_path/includes",
290
-			"$plugin_path/includes/data-stores",
291
-			"$plugin_path/includes/gateways",
292
-			"$plugin_path/includes/payments",
293
-			"$plugin_path/includes/geolocation",
294
-			"$plugin_path/includes/reports",
295
-			"$plugin_path/includes/api",
296
-			"$plugin_path/includes/admin",
297
-			"$plugin_path/includes/admin/meta-boxes",
298
-		);
299
-
300
-		foreach ( apply_filters( 'getpaid_autoload_locations', $locations ) as $location ) {
301
-			if ( file_exists( trailingslashit( $location ) . $file_name ) ) {
302
-				include trailingslashit( $location ) . $file_name;
303
-				break;
304
-			}
305
-		}
306
-	}
307
-
308
-	/**
309
-	 * Inits hooks etc.
310
-	 */
311
-	public function init() {
312
-		// Fires before getpaid inits.
313
-		do_action( 'before_getpaid_init', $this );
314
-
315
-		// Maybe upgrade.
316
-		$this->maybe_upgrade_database();
317
-
318
-		// Load default gateways.
319
-		$gateways = apply_filters(
320
-			'getpaid_default_gateways',
321
-			array(
322
-				'manual'        => 'GetPaid_Manual_Gateway',
323
-				'paypal'        => 'GetPaid_Paypal_Gateway',
324
-				'worldpay'      => 'GetPaid_Worldpay_Gateway',
325
-				'bank_transfer' => 'GetPaid_Bank_Transfer_Gateway',
326
-				'authorizenet'  => 'GetPaid_Authorize_Net_Gateway',
327
-			)
328
-		);
329
-
330
-		foreach ( $gateways as $id => $class ) {
331
-			$this->gateways[ $id ] = new $class();
332
-		}
333
-
334
-		if ( 'yes' != get_option( 'wpinv_renamed_gateways' ) ) {
335
-			GetPaid_Installer::rename_gateways_label();
336
-			update_option( 'wpinv_renamed_gateways', 'yes' );
337
-		}
338
-
339
-		// Fires after getpaid inits.
340
-		do_action( 'getpaid_init', $this );
341
-	}
342
-
343
-	/**
344
-	 * Checks if this is an IPN request and processes it.
345
-	 */
346
-	public function maybe_process_ipn() {
347
-		// Ensure that this is an IPN request.
348
-		if ( empty( $_GET['wpi-listener'] ) || 'IPN' !== $_GET['wpi-listener'] || empty( $_GET['wpi-gateway'] ) ) {
349
-			return;
350
-		}
351
-
352
-		$gateway = sanitize_text_field( $_GET['wpi-gateway'] );
353
-
354
-		do_action( 'wpinv_verify_payment_ipn', $gateway );
355
-		do_action( "wpinv_verify_{$gateway}_ipn" );
356
-		exit;
357
-	}
358
-
359
-	public function enqueue_scripts() {
360
-		// Fires before adding scripts.
361
-		do_action( 'getpaid_enqueue_scripts' );
362
-
363
-		$localize                         = array();
364
-		$localize['ajax_url']             = admin_url( 'admin-ajax.php' );
365
-		$localize['thousands']            = wpinv_thousands_separator();
366
-		$localize['decimals']             = wpinv_decimal_separator();
367
-		$localize['nonce']                = wp_create_nonce( 'wpinv-nonce' );
368
-		$localize['txtComplete']          = __( 'Continue', 'invoicing' );
369
-		$localize['UseTaxes']             = wpinv_use_taxes();
370
-		$localize['formNonce']            = wp_create_nonce( 'getpaid_form_nonce' );
371
-		$localize['loading']              = __( 'Loading...', 'invoicing' );
372
-		$localize['connectionError']      = __( 'Could not establish a connection to the server.', 'invoicing' );
373
-		$localize['recaptchaSettings']    = getpaid_get_recaptcha_settings();
374
-
375
-		$localize = apply_filters( 'wpinv_front_js_localize', $localize );
376
-
377
-		// reCaptcha.
378
-		if ( getpaid_is_recaptcha_enabled() && ( $recaptcha_js = getpaid_recaptcha_api_url() ) ) {
379
-			wp_enqueue_script( 'recaptcha', $recaptcha_js, array(), null, true ); // phpcs:ignore WordPress.WP.EnqueuedResourceParameters.MissingVersion
380
-		}
381
-
382
-		$version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/payment-forms.js' );
383
-		wp_enqueue_script( 'wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.js', array( 'jquery' ), $version, true );
384
-		wp_localize_script( 'wpinv-front-script', 'WPInv', $localize );
385
-	}
386
-
387
-	public function wpinv_actions() {
388
-		if ( isset( $_REQUEST['wpi_action'] ) ) {
389
-			do_action( 'wpinv_' . wpinv_sanitize_key( $_REQUEST['wpi_action'] ), $_REQUEST );
390
-		}
391
-
392
-		if ( defined( 'WP_ALL_IMPORT_ROOT_DIR' ) ) {
393
-			include plugin_dir_path( __FILE__ ) . 'libraries/wp-all-import/class-getpaid-wp-all-import.php';
394
-		}
395
-	}
396
-
397
-	/**
398
-	 * Fires an action after verifying that a user can fire them.
399
-	 *
400
-	 * Note: If the action is on an invoice, subscription etc, esure that the
401
-	 * current user owns the invoice/subscription.
402
-	 */
403
-	public function maybe_do_authenticated_action() {
404
-		if ( isset( $_REQUEST['getpaid-action'] ) && isset( $_REQUEST['getpaid-nonce'] ) && wp_verify_nonce( $_REQUEST['getpaid-nonce'], 'getpaid-nonce' ) ) {
405
-			$key  = sanitize_key( $_REQUEST['getpaid-action'] );
406
-			$data = wp_unslash( $_REQUEST );
407
-
408
-			if ( is_user_logged_in() ) {
409
-				do_action( "getpaid_authenticated_action_$key", $data );
410
-			}
411
-
412
-			do_action( "getpaid_unauthenticated_action_$key", $data );
413
-		}
414
-	}
415
-
416
-	public function pre_get_posts( $wp_query ) {
417
-		if ( ! is_admin() && ! empty( $wp_query->query_vars['post_type'] ) && getpaid_is_invoice_post_type( $wp_query->query_vars['post_type'] ) && is_user_logged_in() && is_single() && $wp_query->is_main_query() ) {
418
-			$wp_query->query_vars['post_status'] = array_keys( wpinv_get_invoice_statuses( false, false, $wp_query->query_vars['post_type'] ) );
419
-		}
420
-
421
-		return $wp_query;
422
-	}
423
-
424
-	/**
425
-	 * Register widgets
426
-	 *
427
-	 */
428
-	public function register_widgets() {
429
-		global $pagenow;
430
-
431
-		// Currently, UX Builder does not work particulaly well with SuperDuper.
432
-		// So we disable our widgets when editing a page with UX Builder.
433
-		if ( function_exists( 'ux_builder_is_active' ) && ux_builder_is_active() ) {
434
-			return;
435
-		}
436
-
437
-		$block_widget_init_screens = function_exists( 'sd_pagenow_exclude' ) ? sd_pagenow_exclude() : array();
438
-
439
-		if ( is_admin() && $pagenow && in_array( $pagenow, $block_widget_init_screens ) ) {
440
-			// don't initiate in these conditions.
441
-		} else {
442
-			// Only load allowed widgets.
443
-			$exclude = function_exists( 'sd_widget_exclude' ) ? sd_widget_exclude() : array();
444
-			$widgets = apply_filters(
445
-				'getpaid_widget_classes',
446
-				array(
447
-					'WPInv_Checkout_Widget',
448
-					'WPInv_History_Widget',
449
-					'WPInv_Receipt_Widget',
450
-					'WPInv_Subscriptions_Widget',
451
-					'WPInv_Buy_Item_Widget',
452
-					'WPInv_Messages_Widget',
453
-					'WPInv_GetPaid_Widget',
454
-					'WPInv_Invoice_Widget',
455
-				)
456
-			);
457
-
458
-			// For each widget...
459
-			foreach ( $widgets as $widget ) {
460
-				// Abort early if it is excluded for this page.
461
-				if ( in_array( $widget, $exclude ) ) {
462
-					continue;
463
-				}
464
-
465
-				// SD V1 used to extend the widget class. V2 does not, so we cannot call register widget on it.
466
-				if ( is_subclass_of( $widget, 'WP_Widget' ) ) {
467
-					register_widget( $widget );
468
-				} else {
469
-					new $widget();
470
-				}
471
-			}
472
-		}
473
-	}
474
-
475
-	/**
476
-	 * Upgrades the database.
477
-	 *
478
-	 * @since 2.0.2
479
-	 */
480
-	public function maybe_upgrade_database() {
481
-		// Ensure the database tables are up to date.
482
-		GetPaid_Installer::maybe_create_db_tables();
483
-
484
-		$wpi_version = get_option( 'wpinv_version', 0 );
485
-
486
-		if ( $wpi_version == WPINV_VERSION ) {
487
-			return;
488
-		}
489
-
490
-		$installer = new GetPaid_Installer();
491
-
492
-		if ( empty( $wpi_version ) ) {
493
-			return $installer->upgrade_db( 0 );
494
-		}
495
-
496
-		$upgrades  = array(
497
-			'0.0.5' => '004',
498
-			'1.0.3' => '102',
499
-			'2.0.0' => '118',
500
-			'2.8.0' => '279',
501
-		);
502
-
503
-		foreach ( $upgrades as $key => $method ) {
504
-			if ( version_compare( $wpi_version, $key, '<' ) ) {
505
-				return $installer->upgrade_db( $method );
506
-			}
507
-		}
508
-	}
509
-
510
-	/**
511
-	 * Flushes the permalinks if needed.
512
-	 *
513
-	 * @since 2.0.8
514
-	 */
515
-	public function maybe_flush_permalinks() {
516
-		$flush = get_option( 'wpinv_flush_permalinks', 0 );
517
-
518
-		if ( ! empty( $flush ) ) {
519
-			flush_rewrite_rules();
520
-			delete_option( 'wpinv_flush_permalinks' );
521
-		}
522
-	}
523
-
524
-	/**
525
-	 * Remove our pages from yoast sitemaps.
526
-	 *
527
-	 * @since 1.0.19
528
-	 * @param int[] $excluded_posts_ids
529
-	 */
530
-	public function wpseo_exclude_from_sitemap_by_post_ids( $excluded_posts_ids ) {
531
-		// Ensure that we have an array.
532
-		if ( ! is_array( $excluded_posts_ids ) ) {
533
-			$excluded_posts_ids = array();
534
-		}
535
-
536
-		// Prepare our pages.
537
-		$our_pages = array();
538
-
539
-		// Checkout page.
540
-		$our_pages[] = wpinv_get_option( 'checkout_page', false );
541
-
542
-		// Success page.
543
-		$our_pages[] = wpinv_get_option( 'success_page', false );
544
-
545
-		// Failure page.
546
-		$our_pages[] = wpinv_get_option( 'failure_page', false );
547
-
548
-		// History page.
549
-		$our_pages[] = wpinv_get_option( 'invoice_history_page', false );
550
-
551
-		// Subscriptions page.
552
-		$our_pages[] = wpinv_get_option( 'invoice_subscription_page', false );
553
-
554
-		$our_pages   = array_map( 'intval', array_filter( $our_pages ) );
555
-
556
-		$excluded_posts_ids = $excluded_posts_ids + $our_pages;
557
-
558
-		return array_unique( $excluded_posts_ids );
559
-	}
560
-
561
-	/**
562
-	 * Remove our pages from yoast sitemaps.
563
-	 *
564
-	 * @since 1.0.19
565
-	 * @param string[] $post_types
566
-	 */
567
-	public function exclude_invoicing_post_types( $post_types ) {
568
-		// Ensure that we have an array.
569
-		if ( ! is_array( $post_types ) ) {
570
-			$post_types = array();
571
-		}
572
-
573
-		// Remove our post types.
574
-		return array_diff( $post_types, array_keys( getpaid_get_invoice_post_types() ) );
575
-	}
576
-
577
-	/**
578
-	 * Displays additional footer code.
579
-	 *
580
-	 * @since 2.0.0
581
-	 */
582
-	public function wp_footer() {
583
-		wpinv_get_template( 'frontend-footer.php' );
584
-	}
585
-
586
-	/**
587
-	 * Displays additional header code.
588
-	 *
589
-	 * @since 2.0.0
590
-	 */
591
-	public function wp_head() {
592
-		wpinv_get_template( 'frontend-head.php' );
593
-	}
594
-
595
-	/**
596
-	 * Custom query vars.
597
-	 *
598
-	 */
599
-	public function custom_query_vars( $vars ) {
600
-		$vars[] = 'getpaid-ipn';
601
-		return $vars;
602
-	}
603
-
604
-	/**
605
-	 * Add rewrite tags and rules.
606
-	 *
607
-	 */
608
-	public function add_rewrite_rule() {
609
-		$tag = 'getpaid-ipn';
610
-		add_rewrite_tag( "%$tag%", '([^&]+)' );
611
-		add_rewrite_rule( "^$tag/([^/]*)/?", "index.php?$tag=\$matches[1]", 'top' );
612
-	}
613
-
614
-	/**
615
-	 * Processes non-query string ipns.
616
-	 *
617
-	 */
618
-	public function maybe_process_new_ipn( $query ) {
619
-		if ( is_admin() || ! $query->is_main_query() ) {
620
-			return;
621
-		}
622
-
623
-		$gateway = get_query_var( 'getpaid-ipn' );
624
-
625
-		if ( ! empty( $gateway ) ) {
626
-			$gateway = sanitize_text_field( $gateway );
627
-			nocache_headers();
628
-			do_action( 'wpinv_verify_payment_ipn', $gateway );
629
-			do_action( "wpinv_verify_{$gateway}_ipn" );
630
-			exit;
631
-		}
632
-	}
17
+    /**
18
+     * GetPaid version.
19
+     *
20
+     * @var string
21
+     */
22
+    public $version;
23
+
24
+    /**
25
+     * Data container.
26
+     *
27
+     * @var array
28
+     */
29
+    protected $data = array();
30
+
31
+    /**
32
+     * Form elements instance.
33
+     *
34
+     * @var WPInv_Payment_Form_Elements
35
+     */
36
+    public $form_elements;
37
+
38
+    /**
39
+     * @var array An array of payment gateways.
40
+     */
41
+    public $gateways;
42
+
43
+    /**
44
+     * Class constructor.
45
+     */
46
+    public function __construct() {
47
+        $this->define_constants();
48
+        $this->includes();
49
+        $this->init_hooks();
50
+        $this->set_properties();
51
+    }
52
+
53
+    /**
54
+     * Sets a custom data property.
55
+     *
56
+     * @param string $prop The prop to set.
57
+     * @param mixed $value The value to retrieve.
58
+     */
59
+    public function set( $prop, $value ) {
60
+        $this->data[ $prop ] = $value;
61
+    }
62
+
63
+    /**
64
+     * Gets a custom data property.
65
+     *
66
+     * @param string $prop The prop to set.
67
+     * @return mixed The value.
68
+     */
69
+    public function get( $prop ) {
70
+        if ( isset( $this->data[ $prop ] ) ) {
71
+            return $this->data[ $prop ];
72
+        }
73
+
74
+        return null;
75
+    }
76
+
77
+    /**
78
+     * Define class properties.
79
+     */
80
+    public function set_properties() {
81
+        // Sessions.
82
+        $this->set( 'session', new WPInv_Session_Handler() );
83
+        $GLOBALS['wpi_session'] = $this->get( 'session' ); // Backwards compatibility.
84
+        $GLOBALS['wpinv_euvat'] = new WPInv_EUVat(); // Backwards compatibility.
85
+
86
+        // Init other objects.
87
+        $this->set( 'notes', new WPInv_Notes() );
88
+        $this->set( 'api', new WPInv_API() );
89
+        $this->set( 'post_types', new GetPaid_Post_Types() );
90
+        $this->set( 'template', new GetPaid_Template() );
91
+        $this->set( 'admin', new GetPaid_Admin() );
92
+        $this->set( 'subscriptions', new WPInv_Subscriptions() );
93
+        $this->set( 'invoice_emails', new GetPaid_Invoice_Notification_Emails() );
94
+        $this->set( 'subscription_emails', new GetPaid_Subscription_Notification_Emails() );
95
+        $this->set( 'daily_maintenace', new GetPaid_Daily_Maintenance() );
96
+        $this->set( 'payment_forms', new GetPaid_Payment_Forms() );
97
+        $this->set( 'maxmind', new GetPaid_MaxMind_Geolocation() );
98
+    }
99
+
100
+        /**
101
+         * Define plugin constants.
102
+         */
103
+    public function define_constants() {
104
+        define( 'WPINV_PLUGIN_DIR', plugin_dir_path( WPINV_PLUGIN_FILE ) );
105
+        define( 'WPINV_PLUGIN_URL', plugin_dir_url( WPINV_PLUGIN_FILE ) );
106
+        $this->version = WPINV_VERSION;
107
+    }
108
+
109
+    /**
110
+     * Hook into actions and filters.
111
+     *
112
+     * @since 1.0.19
113
+     */
114
+    protected function init_hooks() {
115
+        /* Internationalize the text strings used. */
116
+        add_action( 'plugins_loaded', array( &$this, 'plugins_loaded' ) );
117
+
118
+        // Init the plugin after WordPress inits.
119
+        add_action( 'init', array( $this, 'init' ), 1 );
120
+        add_action( 'init', array( $this, 'maybe_process_ipn' ), 10 );
121
+        add_action( 'init', array( $this, 'wpinv_actions' ) );
122
+        add_action( 'init', array( $this, 'maybe_do_authenticated_action' ), 100 );
123
+        add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 11 );
124
+        add_action( 'wp_footer', array( $this, 'wp_footer' ) );
125
+        add_action( 'wp_head', array( $this, 'wp_head' ) );
126
+        add_action( 'widgets_init', array( $this, 'register_widgets' ) );
127
+        add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', array( $this, 'wpseo_exclude_from_sitemap_by_post_ids' ) );
128
+        add_filter( 'the_seo_framework_sitemap_supported_post_types', array( $this, 'exclude_invoicing_post_types' ) );
129
+        add_filter( 'pre_get_posts', array( &$this, 'pre_get_posts' ) );
130
+
131
+        add_filter( 'query_vars', array( $this, 'custom_query_vars' ) );
132
+        add_action( 'init', array( $this, 'add_rewrite_rule' ), 10, 0 );
133
+        add_action( 'pre_get_posts', array( $this, 'maybe_process_new_ipn' ), 1 );
134
+
135
+        // Fires after registering actions.
136
+        do_action( 'wpinv_actions', $this );
137
+        do_action( 'getpaid_actions', $this );
138
+    }
139
+
140
+    public function plugins_loaded() {
141
+        /* Internationalize the text strings used. */
142
+        $this->load_textdomain();
143
+
144
+        do_action( 'wpinv_loaded' );
145
+
146
+        // Fix oxygen page builder conflict
147
+        if ( function_exists( 'ct_css_output' ) ) {
148
+            wpinv_oxygen_fix_conflict();
149
+        }
150
+    }
151
+
152
+    /**
153
+     * Load Localisation files.
154
+     *
155
+     * Note: the first-loaded translation file overrides any following ones if the same translation is present.
156
+     *
157
+     * Locales found in:
158
+     *      - WP_LANG_DIR/plugins/invoicing-LOCALE.mo
159
+     *      - WP_PLUGIN_DIR/invoicing/languages/invoicing-LOCALE.mo
160
+     *
161
+     * @since 1.0.0
162
+     */
163
+    public function load_textdomain() {
164
+        // Determines the current locale.
165
+        if ( function_exists( 'determine_locale' ) ) {
166
+            $locale = determine_locale();
167
+        } else if ( function_exists( 'get_user_locale' ) ) {
168
+            $locale = get_user_locale();
169
+        } else {
170
+            $locale = get_locale();
171
+        }
172
+
173
+        /**
174
+         * Filter the locale to use for translations.
175
+         */
176
+        $locale = apply_filters( 'plugin_locale', $locale, 'invoicing' );
177
+
178
+        unload_textdomain( 'invoicing' );
179
+        load_textdomain( 'invoicing', WP_LANG_DIR . '/invoicing/invoicing-' . $locale . '.mo' );
180
+        load_plugin_textdomain( 'invoicing', false, plugin_basename( dirname( WPINV_PLUGIN_FILE ) ) . '/languages/' );
181
+    }
182
+
183
+    /**
184
+     * Include required core files used in admin and on the frontend.
185
+     */
186
+    public function includes() {
187
+        // Start with the settings.
188
+        require_once WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php';
189
+
190
+        // Packages/libraries.
191
+        require_once WPINV_PLUGIN_DIR . 'vendor/autoload.php';
192
+        require_once WPINV_PLUGIN_DIR . 'vendor/ayecode/wp-ayecode-ui/ayecode-ui-loader.php';
193
+
194
+        // Load functions.
195
+        require_once WPINV_PLUGIN_DIR . 'includes/deprecated-functions.php';
196
+        require_once WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php';
197
+        require_once WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php';
198
+        require_once WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php';
199
+        require_once WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php';
200
+        require_once WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php';
201
+        require_once WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php';
202
+        require_once WPINV_PLUGIN_DIR . 'includes/invoice-functions.php';
203
+        require_once WPINV_PLUGIN_DIR . 'includes/subscription-functions.php';
204
+        require_once WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php';
205
+        require_once WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php';
206
+        require_once WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php';
207
+        require_once WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php';
208
+        require_once WPINV_PLUGIN_DIR . 'includes/user-functions.php';
209
+        require_once WPINV_PLUGIN_DIR . 'includes/error-functions.php';
210
+
211
+        // Register autoloader.
212
+        try {
213
+            spl_autoload_register( array( $this, 'autoload' ), true );
214
+        } catch ( Exception $e ) {
215
+            wpinv_error_log( $e->getMessage(), '', __FILE__, 149, true );
216
+        }
217
+
218
+        require_once WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php';
219
+        require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php';
220
+        require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php';
221
+        require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php';
222
+        require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php';
223
+        require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php';
224
+        require_once WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php';
225
+        require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php';
226
+        require_once WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php';
227
+        require_once WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php';
228
+        require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php';
229
+        require_once WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php';
230
+        require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php';
231
+        require_once WPINV_PLUGIN_DIR . 'widgets/checkout.php';
232
+        require_once WPINV_PLUGIN_DIR . 'widgets/invoice-history.php';
233
+        require_once WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php';
234
+        require_once WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php';
235
+        require_once WPINV_PLUGIN_DIR . 'widgets/subscriptions.php';
236
+        require_once WPINV_PLUGIN_DIR . 'widgets/buy-item.php';
237
+        require_once WPINV_PLUGIN_DIR . 'widgets/getpaid.php';
238
+        require_once WPINV_PLUGIN_DIR . 'widgets/invoice.php';
239
+        require_once WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php';
240
+
241
+        if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) {
242
+            GetPaid_Post_Types_Admin::init();
243
+
244
+            require_once WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php';
245
+            require_once WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-payment-form.php';
246
+            require_once WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php';
247
+            require_once WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php';
248
+            require_once WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php';
249
+            require_once WPINV_PLUGIN_DIR . 'includes/admin/class-getpaid-admin-profile.php';
250
+            // load the user class only on the users.php page
251
+            global $pagenow;
252
+            if ( $pagenow == 'users.php' ) {
253
+                new WPInv_Admin_Users();
254
+            }
255
+        }
256
+
257
+        // Register cli commands
258
+        if ( defined( 'WP_CLI' ) && WP_CLI ) {
259
+            require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php';
260
+            WP_CLI::add_command( 'invoicing', 'WPInv_CLI' );
261
+        }
262
+    }
263
+
264
+    /**
265
+     * Class autoloader
266
+     *
267
+     * @param       string $class_name The name of the class to load.
268
+     * @access      public
269
+     * @since       1.0.19
270
+     * @return      void
271
+     */
272
+    public function autoload( $class_name ) {
273
+        // Normalize the class name...
274
+        $class_name  = strtolower( $class_name );
275
+
276
+        // ... and make sure it is our class.
277
+        if ( false === strpos( $class_name, 'getpaid_' ) && false === strpos( $class_name, 'wpinv_' ) ) {
278
+            return;
279
+        }
280
+
281
+        // Next, prepare the file name from the class.
282
+        $file_name = 'class-' . str_replace( '_', '-', $class_name ) . '.php';
283
+
284
+        // Base path of the classes.
285
+        $plugin_path = untrailingslashit( WPINV_PLUGIN_DIR );
286
+
287
+        // And an array of possible locations in order of importance.
288
+        $locations = array(
289
+            "$plugin_path/includes",
290
+            "$plugin_path/includes/data-stores",
291
+            "$plugin_path/includes/gateways",
292
+            "$plugin_path/includes/payments",
293
+            "$plugin_path/includes/geolocation",
294
+            "$plugin_path/includes/reports",
295
+            "$plugin_path/includes/api",
296
+            "$plugin_path/includes/admin",
297
+            "$plugin_path/includes/admin/meta-boxes",
298
+        );
299
+
300
+        foreach ( apply_filters( 'getpaid_autoload_locations', $locations ) as $location ) {
301
+            if ( file_exists( trailingslashit( $location ) . $file_name ) ) {
302
+                include trailingslashit( $location ) . $file_name;
303
+                break;
304
+            }
305
+        }
306
+    }
307
+
308
+    /**
309
+     * Inits hooks etc.
310
+     */
311
+    public function init() {
312
+        // Fires before getpaid inits.
313
+        do_action( 'before_getpaid_init', $this );
314
+
315
+        // Maybe upgrade.
316
+        $this->maybe_upgrade_database();
317
+
318
+        // Load default gateways.
319
+        $gateways = apply_filters(
320
+            'getpaid_default_gateways',
321
+            array(
322
+                'manual'        => 'GetPaid_Manual_Gateway',
323
+                'paypal'        => 'GetPaid_Paypal_Gateway',
324
+                'worldpay'      => 'GetPaid_Worldpay_Gateway',
325
+                'bank_transfer' => 'GetPaid_Bank_Transfer_Gateway',
326
+                'authorizenet'  => 'GetPaid_Authorize_Net_Gateway',
327
+            )
328
+        );
329
+
330
+        foreach ( $gateways as $id => $class ) {
331
+            $this->gateways[ $id ] = new $class();
332
+        }
333
+
334
+        if ( 'yes' != get_option( 'wpinv_renamed_gateways' ) ) {
335
+            GetPaid_Installer::rename_gateways_label();
336
+            update_option( 'wpinv_renamed_gateways', 'yes' );
337
+        }
338
+
339
+        // Fires after getpaid inits.
340
+        do_action( 'getpaid_init', $this );
341
+    }
342
+
343
+    /**
344
+     * Checks if this is an IPN request and processes it.
345
+     */
346
+    public function maybe_process_ipn() {
347
+        // Ensure that this is an IPN request.
348
+        if ( empty( $_GET['wpi-listener'] ) || 'IPN' !== $_GET['wpi-listener'] || empty( $_GET['wpi-gateway'] ) ) {
349
+            return;
350
+        }
351
+
352
+        $gateway = sanitize_text_field( $_GET['wpi-gateway'] );
353
+
354
+        do_action( 'wpinv_verify_payment_ipn', $gateway );
355
+        do_action( "wpinv_verify_{$gateway}_ipn" );
356
+        exit;
357
+    }
358
+
359
+    public function enqueue_scripts() {
360
+        // Fires before adding scripts.
361
+        do_action( 'getpaid_enqueue_scripts' );
362
+
363
+        $localize                         = array();
364
+        $localize['ajax_url']             = admin_url( 'admin-ajax.php' );
365
+        $localize['thousands']            = wpinv_thousands_separator();
366
+        $localize['decimals']             = wpinv_decimal_separator();
367
+        $localize['nonce']                = wp_create_nonce( 'wpinv-nonce' );
368
+        $localize['txtComplete']          = __( 'Continue', 'invoicing' );
369
+        $localize['UseTaxes']             = wpinv_use_taxes();
370
+        $localize['formNonce']            = wp_create_nonce( 'getpaid_form_nonce' );
371
+        $localize['loading']              = __( 'Loading...', 'invoicing' );
372
+        $localize['connectionError']      = __( 'Could not establish a connection to the server.', 'invoicing' );
373
+        $localize['recaptchaSettings']    = getpaid_get_recaptcha_settings();
374
+
375
+        $localize = apply_filters( 'wpinv_front_js_localize', $localize );
376
+
377
+        // reCaptcha.
378
+        if ( getpaid_is_recaptcha_enabled() && ( $recaptcha_js = getpaid_recaptcha_api_url() ) ) {
379
+            wp_enqueue_script( 'recaptcha', $recaptcha_js, array(), null, true ); // phpcs:ignore WordPress.WP.EnqueuedResourceParameters.MissingVersion
380
+        }
381
+
382
+        $version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/payment-forms.js' );
383
+        wp_enqueue_script( 'wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.js', array( 'jquery' ), $version, true );
384
+        wp_localize_script( 'wpinv-front-script', 'WPInv', $localize );
385
+    }
386
+
387
+    public function wpinv_actions() {
388
+        if ( isset( $_REQUEST['wpi_action'] ) ) {
389
+            do_action( 'wpinv_' . wpinv_sanitize_key( $_REQUEST['wpi_action'] ), $_REQUEST );
390
+        }
391
+
392
+        if ( defined( 'WP_ALL_IMPORT_ROOT_DIR' ) ) {
393
+            include plugin_dir_path( __FILE__ ) . 'libraries/wp-all-import/class-getpaid-wp-all-import.php';
394
+        }
395
+    }
396
+
397
+    /**
398
+     * Fires an action after verifying that a user can fire them.
399
+     *
400
+     * Note: If the action is on an invoice, subscription etc, esure that the
401
+     * current user owns the invoice/subscription.
402
+     */
403
+    public function maybe_do_authenticated_action() {
404
+        if ( isset( $_REQUEST['getpaid-action'] ) && isset( $_REQUEST['getpaid-nonce'] ) && wp_verify_nonce( $_REQUEST['getpaid-nonce'], 'getpaid-nonce' ) ) {
405
+            $key  = sanitize_key( $_REQUEST['getpaid-action'] );
406
+            $data = wp_unslash( $_REQUEST );
407
+
408
+            if ( is_user_logged_in() ) {
409
+                do_action( "getpaid_authenticated_action_$key", $data );
410
+            }
411
+
412
+            do_action( "getpaid_unauthenticated_action_$key", $data );
413
+        }
414
+    }
415
+
416
+    public function pre_get_posts( $wp_query ) {
417
+        if ( ! is_admin() && ! empty( $wp_query->query_vars['post_type'] ) && getpaid_is_invoice_post_type( $wp_query->query_vars['post_type'] ) && is_user_logged_in() && is_single() && $wp_query->is_main_query() ) {
418
+            $wp_query->query_vars['post_status'] = array_keys( wpinv_get_invoice_statuses( false, false, $wp_query->query_vars['post_type'] ) );
419
+        }
420
+
421
+        return $wp_query;
422
+    }
423
+
424
+    /**
425
+     * Register widgets
426
+     *
427
+     */
428
+    public function register_widgets() {
429
+        global $pagenow;
430
+
431
+        // Currently, UX Builder does not work particulaly well with SuperDuper.
432
+        // So we disable our widgets when editing a page with UX Builder.
433
+        if ( function_exists( 'ux_builder_is_active' ) && ux_builder_is_active() ) {
434
+            return;
435
+        }
436
+
437
+        $block_widget_init_screens = function_exists( 'sd_pagenow_exclude' ) ? sd_pagenow_exclude() : array();
438
+
439
+        if ( is_admin() && $pagenow && in_array( $pagenow, $block_widget_init_screens ) ) {
440
+            // don't initiate in these conditions.
441
+        } else {
442
+            // Only load allowed widgets.
443
+            $exclude = function_exists( 'sd_widget_exclude' ) ? sd_widget_exclude() : array();
444
+            $widgets = apply_filters(
445
+                'getpaid_widget_classes',
446
+                array(
447
+                    'WPInv_Checkout_Widget',
448
+                    'WPInv_History_Widget',
449
+                    'WPInv_Receipt_Widget',
450
+                    'WPInv_Subscriptions_Widget',
451
+                    'WPInv_Buy_Item_Widget',
452
+                    'WPInv_Messages_Widget',
453
+                    'WPInv_GetPaid_Widget',
454
+                    'WPInv_Invoice_Widget',
455
+                )
456
+            );
457
+
458
+            // For each widget...
459
+            foreach ( $widgets as $widget ) {
460
+                // Abort early if it is excluded for this page.
461
+                if ( in_array( $widget, $exclude ) ) {
462
+                    continue;
463
+                }
464
+
465
+                // SD V1 used to extend the widget class. V2 does not, so we cannot call register widget on it.
466
+                if ( is_subclass_of( $widget, 'WP_Widget' ) ) {
467
+                    register_widget( $widget );
468
+                } else {
469
+                    new $widget();
470
+                }
471
+            }
472
+        }
473
+    }
474
+
475
+    /**
476
+     * Upgrades the database.
477
+     *
478
+     * @since 2.0.2
479
+     */
480
+    public function maybe_upgrade_database() {
481
+        // Ensure the database tables are up to date.
482
+        GetPaid_Installer::maybe_create_db_tables();
483
+
484
+        $wpi_version = get_option( 'wpinv_version', 0 );
485
+
486
+        if ( $wpi_version == WPINV_VERSION ) {
487
+            return;
488
+        }
489
+
490
+        $installer = new GetPaid_Installer();
491
+
492
+        if ( empty( $wpi_version ) ) {
493
+            return $installer->upgrade_db( 0 );
494
+        }
495
+
496
+        $upgrades  = array(
497
+            '0.0.5' => '004',
498
+            '1.0.3' => '102',
499
+            '2.0.0' => '118',
500
+            '2.8.0' => '279',
501
+        );
502
+
503
+        foreach ( $upgrades as $key => $method ) {
504
+            if ( version_compare( $wpi_version, $key, '<' ) ) {
505
+                return $installer->upgrade_db( $method );
506
+            }
507
+        }
508
+    }
509
+
510
+    /**
511
+     * Flushes the permalinks if needed.
512
+     *
513
+     * @since 2.0.8
514
+     */
515
+    public function maybe_flush_permalinks() {
516
+        $flush = get_option( 'wpinv_flush_permalinks', 0 );
517
+
518
+        if ( ! empty( $flush ) ) {
519
+            flush_rewrite_rules();
520
+            delete_option( 'wpinv_flush_permalinks' );
521
+        }
522
+    }
523
+
524
+    /**
525
+     * Remove our pages from yoast sitemaps.
526
+     *
527
+     * @since 1.0.19
528
+     * @param int[] $excluded_posts_ids
529
+     */
530
+    public function wpseo_exclude_from_sitemap_by_post_ids( $excluded_posts_ids ) {
531
+        // Ensure that we have an array.
532
+        if ( ! is_array( $excluded_posts_ids ) ) {
533
+            $excluded_posts_ids = array();
534
+        }
535
+
536
+        // Prepare our pages.
537
+        $our_pages = array();
538
+
539
+        // Checkout page.
540
+        $our_pages[] = wpinv_get_option( 'checkout_page', false );
541
+
542
+        // Success page.
543
+        $our_pages[] = wpinv_get_option( 'success_page', false );
544
+
545
+        // Failure page.
546
+        $our_pages[] = wpinv_get_option( 'failure_page', false );
547
+
548
+        // History page.
549
+        $our_pages[] = wpinv_get_option( 'invoice_history_page', false );
550
+
551
+        // Subscriptions page.
552
+        $our_pages[] = wpinv_get_option( 'invoice_subscription_page', false );
553
+
554
+        $our_pages   = array_map( 'intval', array_filter( $our_pages ) );
555
+
556
+        $excluded_posts_ids = $excluded_posts_ids + $our_pages;
557
+
558
+        return array_unique( $excluded_posts_ids );
559
+    }
560
+
561
+    /**
562
+     * Remove our pages from yoast sitemaps.
563
+     *
564
+     * @since 1.0.19
565
+     * @param string[] $post_types
566
+     */
567
+    public function exclude_invoicing_post_types( $post_types ) {
568
+        // Ensure that we have an array.
569
+        if ( ! is_array( $post_types ) ) {
570
+            $post_types = array();
571
+        }
572
+
573
+        // Remove our post types.
574
+        return array_diff( $post_types, array_keys( getpaid_get_invoice_post_types() ) );
575
+    }
576
+
577
+    /**
578
+     * Displays additional footer code.
579
+     *
580
+     * @since 2.0.0
581
+     */
582
+    public function wp_footer() {
583
+        wpinv_get_template( 'frontend-footer.php' );
584
+    }
585
+
586
+    /**
587
+     * Displays additional header code.
588
+     *
589
+     * @since 2.0.0
590
+     */
591
+    public function wp_head() {
592
+        wpinv_get_template( 'frontend-head.php' );
593
+    }
594
+
595
+    /**
596
+     * Custom query vars.
597
+     *
598
+     */
599
+    public function custom_query_vars( $vars ) {
600
+        $vars[] = 'getpaid-ipn';
601
+        return $vars;
602
+    }
603
+
604
+    /**
605
+     * Add rewrite tags and rules.
606
+     *
607
+     */
608
+    public function add_rewrite_rule() {
609
+        $tag = 'getpaid-ipn';
610
+        add_rewrite_tag( "%$tag%", '([^&]+)' );
611
+        add_rewrite_rule( "^$tag/([^/]*)/?", "index.php?$tag=\$matches[1]", 'top' );
612
+    }
613
+
614
+    /**
615
+     * Processes non-query string ipns.
616
+     *
617
+     */
618
+    public function maybe_process_new_ipn( $query ) {
619
+        if ( is_admin() || ! $query->is_main_query() ) {
620
+            return;
621
+        }
622
+
623
+        $gateway = get_query_var( 'getpaid-ipn' );
624
+
625
+        if ( ! empty( $gateway ) ) {
626
+            $gateway = sanitize_text_field( $gateway );
627
+            nocache_headers();
628
+            do_action( 'wpinv_verify_payment_ipn', $gateway );
629
+            do_action( "wpinv_verify_{$gateway}_ipn" );
630
+            exit;
631
+        }
632
+    }
633 633
 }
Please login to merge, or discard this patch.
Spacing   +141 added lines, -141 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  * @since   1.0.0
7 7
  */
8 8
 
9
-defined( 'ABSPATH' ) || exit;
9
+defined('ABSPATH') || exit;
10 10
 
11 11
 /**
12 12
  * Main Invoicing class.
@@ -56,8 +56,8 @@  discard block
 block discarded – undo
56 56
 	 * @param string $prop The prop to set.
57 57
 	 * @param mixed $value The value to retrieve.
58 58
 	 */
59
-	public function set( $prop, $value ) {
60
-		$this->data[ $prop ] = $value;
59
+	public function set($prop, $value) {
60
+		$this->data[$prop] = $value;
61 61
 	}
62 62
 
63 63
 	/**
@@ -66,9 +66,9 @@  discard block
 block discarded – undo
66 66
 	 * @param string $prop The prop to set.
67 67
 	 * @return mixed The value.
68 68
 	 */
69
-	public function get( $prop ) {
70
-		if ( isset( $this->data[ $prop ] ) ) {
71
-			return $this->data[ $prop ];
69
+	public function get($prop) {
70
+		if (isset($this->data[$prop])) {
71
+			return $this->data[$prop];
72 72
 		}
73 73
 
74 74
 		return null;
@@ -79,30 +79,30 @@  discard block
 block discarded – undo
79 79
 	 */
80 80
 	public function set_properties() {
81 81
 		// Sessions.
82
-		$this->set( 'session', new WPInv_Session_Handler() );
83
-		$GLOBALS['wpi_session'] = $this->get( 'session' ); // Backwards compatibility.
82
+		$this->set('session', new WPInv_Session_Handler());
83
+		$GLOBALS['wpi_session'] = $this->get('session'); // Backwards compatibility.
84 84
 		$GLOBALS['wpinv_euvat'] = new WPInv_EUVat(); // Backwards compatibility.
85 85
 
86 86
 		// Init other objects.
87
-		$this->set( 'notes', new WPInv_Notes() );
88
-		$this->set( 'api', new WPInv_API() );
89
-		$this->set( 'post_types', new GetPaid_Post_Types() );
90
-		$this->set( 'template', new GetPaid_Template() );
91
-		$this->set( 'admin', new GetPaid_Admin() );
92
-		$this->set( 'subscriptions', new WPInv_Subscriptions() );
93
-		$this->set( 'invoice_emails', new GetPaid_Invoice_Notification_Emails() );
94
-		$this->set( 'subscription_emails', new GetPaid_Subscription_Notification_Emails() );
95
-		$this->set( 'daily_maintenace', new GetPaid_Daily_Maintenance() );
96
-		$this->set( 'payment_forms', new GetPaid_Payment_Forms() );
97
-		$this->set( 'maxmind', new GetPaid_MaxMind_Geolocation() );
87
+		$this->set('notes', new WPInv_Notes());
88
+		$this->set('api', new WPInv_API());
89
+		$this->set('post_types', new GetPaid_Post_Types());
90
+		$this->set('template', new GetPaid_Template());
91
+		$this->set('admin', new GetPaid_Admin());
92
+		$this->set('subscriptions', new WPInv_Subscriptions());
93
+		$this->set('invoice_emails', new GetPaid_Invoice_Notification_Emails());
94
+		$this->set('subscription_emails', new GetPaid_Subscription_Notification_Emails());
95
+		$this->set('daily_maintenace', new GetPaid_Daily_Maintenance());
96
+		$this->set('payment_forms', new GetPaid_Payment_Forms());
97
+		$this->set('maxmind', new GetPaid_MaxMind_Geolocation());
98 98
 	}
99 99
 
100 100
 	 /**
101 101
 	 * Define plugin constants.
102 102
 	 */
103 103
 	public function define_constants() {
104
-		define( 'WPINV_PLUGIN_DIR', plugin_dir_path( WPINV_PLUGIN_FILE ) );
105
-		define( 'WPINV_PLUGIN_URL', plugin_dir_url( WPINV_PLUGIN_FILE ) );
104
+		define('WPINV_PLUGIN_DIR', plugin_dir_path(WPINV_PLUGIN_FILE));
105
+		define('WPINV_PLUGIN_URL', plugin_dir_url(WPINV_PLUGIN_FILE));
106 106
 		$this->version = WPINV_VERSION;
107 107
 	}
108 108
 
@@ -113,38 +113,38 @@  discard block
 block discarded – undo
113 113
 	 */
114 114
 	protected function init_hooks() {
115 115
 		/* Internationalize the text strings used. */
116
-		add_action( 'plugins_loaded', array( &$this, 'plugins_loaded' ) );
116
+		add_action('plugins_loaded', array(&$this, 'plugins_loaded'));
117 117
 
118 118
 		// Init the plugin after WordPress inits.
119
-		add_action( 'init', array( $this, 'init' ), 1 );
120
-		add_action( 'init', array( $this, 'maybe_process_ipn' ), 10 );
121
-		add_action( 'init', array( $this, 'wpinv_actions' ) );
122
-		add_action( 'init', array( $this, 'maybe_do_authenticated_action' ), 100 );
123
-		add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 11 );
124
-		add_action( 'wp_footer', array( $this, 'wp_footer' ) );
125
-		add_action( 'wp_head', array( $this, 'wp_head' ) );
126
-		add_action( 'widgets_init', array( $this, 'register_widgets' ) );
127
-		add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', array( $this, 'wpseo_exclude_from_sitemap_by_post_ids' ) );
128
-		add_filter( 'the_seo_framework_sitemap_supported_post_types', array( $this, 'exclude_invoicing_post_types' ) );
129
-		add_filter( 'pre_get_posts', array( &$this, 'pre_get_posts' ) );
130
-
131
-		add_filter( 'query_vars', array( $this, 'custom_query_vars' ) );
132
-		add_action( 'init', array( $this, 'add_rewrite_rule' ), 10, 0 );
133
-		add_action( 'pre_get_posts', array( $this, 'maybe_process_new_ipn' ), 1 );
119
+		add_action('init', array($this, 'init'), 1);
120
+		add_action('init', array($this, 'maybe_process_ipn'), 10);
121
+		add_action('init', array($this, 'wpinv_actions'));
122
+		add_action('init', array($this, 'maybe_do_authenticated_action'), 100);
123
+		add_action('wp_enqueue_scripts', array($this, 'enqueue_scripts'), 11);
124
+		add_action('wp_footer', array($this, 'wp_footer'));
125
+		add_action('wp_head', array($this, 'wp_head'));
126
+		add_action('widgets_init', array($this, 'register_widgets'));
127
+		add_filter('wpseo_exclude_from_sitemap_by_post_ids', array($this, 'wpseo_exclude_from_sitemap_by_post_ids'));
128
+		add_filter('the_seo_framework_sitemap_supported_post_types', array($this, 'exclude_invoicing_post_types'));
129
+		add_filter('pre_get_posts', array(&$this, 'pre_get_posts'));
130
+
131
+		add_filter('query_vars', array($this, 'custom_query_vars'));
132
+		add_action('init', array($this, 'add_rewrite_rule'), 10, 0);
133
+		add_action('pre_get_posts', array($this, 'maybe_process_new_ipn'), 1);
134 134
 
135 135
 		// Fires after registering actions.
136
-		do_action( 'wpinv_actions', $this );
137
-		do_action( 'getpaid_actions', $this );
136
+		do_action('wpinv_actions', $this);
137
+		do_action('getpaid_actions', $this);
138 138
 	}
139 139
 
140 140
 	public function plugins_loaded() {
141 141
 		/* Internationalize the text strings used. */
142 142
 		$this->load_textdomain();
143 143
 
144
-		do_action( 'wpinv_loaded' );
144
+		do_action('wpinv_loaded');
145 145
 
146 146
 		// Fix oxygen page builder conflict
147
-		if ( function_exists( 'ct_css_output' ) ) {
147
+		if (function_exists('ct_css_output')) {
148 148
 			wpinv_oxygen_fix_conflict();
149 149
 		}
150 150
 	}
@@ -162,9 +162,9 @@  discard block
 block discarded – undo
162 162
 	 */
163 163
 	public function load_textdomain() {
164 164
 		// Determines the current locale.
165
-		if ( function_exists( 'determine_locale' ) ) {
165
+		if (function_exists('determine_locale')) {
166 166
 			$locale = determine_locale();
167
-		} else if ( function_exists( 'get_user_locale' ) ) {
167
+		} else if (function_exists('get_user_locale')) {
168 168
 			$locale = get_user_locale();
169 169
 		} else {
170 170
 			$locale = get_locale();
@@ -173,11 +173,11 @@  discard block
 block discarded – undo
173 173
 		/**
174 174
 		 * Filter the locale to use for translations.
175 175
 		 */
176
-		$locale = apply_filters( 'plugin_locale', $locale, 'invoicing' );
176
+		$locale = apply_filters('plugin_locale', $locale, 'invoicing');
177 177
 
178
-		unload_textdomain( 'invoicing' );
179
-		load_textdomain( 'invoicing', WP_LANG_DIR . '/invoicing/invoicing-' . $locale . '.mo' );
180
-		load_plugin_textdomain( 'invoicing', false, plugin_basename( dirname( WPINV_PLUGIN_FILE ) ) . '/languages/' );
178
+		unload_textdomain('invoicing');
179
+		load_textdomain('invoicing', WP_LANG_DIR . '/invoicing/invoicing-' . $locale . '.mo');
180
+		load_plugin_textdomain('invoicing', false, plugin_basename(dirname(WPINV_PLUGIN_FILE)) . '/languages/');
181 181
 	}
182 182
 
183 183
 	/**
@@ -210,9 +210,9 @@  discard block
 block discarded – undo
210 210
 
211 211
 		// Register autoloader.
212 212
 		try {
213
-			spl_autoload_register( array( $this, 'autoload' ), true );
214
-		} catch ( Exception $e ) {
215
-			wpinv_error_log( $e->getMessage(), '', __FILE__, 149, true );
213
+			spl_autoload_register(array($this, 'autoload'), true);
214
+		} catch (Exception $e) {
215
+			wpinv_error_log($e->getMessage(), '', __FILE__, 149, true);
216 216
 		}
217 217
 
218 218
 		require_once WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php';
@@ -238,7 +238,7 @@  discard block
 block discarded – undo
238 238
 		require_once WPINV_PLUGIN_DIR . 'widgets/invoice.php';
239 239
 		require_once WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php';
240 240
 
241
-		if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) {
241
+		if (is_admin() || (defined('WP_CLI') && WP_CLI)) {
242 242
 			GetPaid_Post_Types_Admin::init();
243 243
 
244 244
 			require_once WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php';
@@ -249,15 +249,15 @@  discard block
 block discarded – undo
249 249
 			require_once WPINV_PLUGIN_DIR . 'includes/admin/class-getpaid-admin-profile.php';
250 250
 			// load the user class only on the users.php page
251 251
 			global $pagenow;
252
-			if ( $pagenow == 'users.php' ) {
252
+			if ($pagenow == 'users.php') {
253 253
 				new WPInv_Admin_Users();
254 254
 			}
255 255
 		}
256 256
 
257 257
 		// Register cli commands
258
-		if ( defined( 'WP_CLI' ) && WP_CLI ) {
258
+		if (defined('WP_CLI') && WP_CLI) {
259 259
 			require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php';
260
-			WP_CLI::add_command( 'invoicing', 'WPInv_CLI' );
260
+			WP_CLI::add_command('invoicing', 'WPInv_CLI');
261 261
 		}
262 262
 	}
263 263
 
@@ -269,20 +269,20 @@  discard block
 block discarded – undo
269 269
 	 * @since       1.0.19
270 270
 	 * @return      void
271 271
 	 */
272
-	public function autoload( $class_name ) {
272
+	public function autoload($class_name) {
273 273
 		// Normalize the class name...
274
-		$class_name  = strtolower( $class_name );
274
+		$class_name = strtolower($class_name);
275 275
 
276 276
 		// ... and make sure it is our class.
277
-		if ( false === strpos( $class_name, 'getpaid_' ) && false === strpos( $class_name, 'wpinv_' ) ) {
277
+		if (false === strpos($class_name, 'getpaid_') && false === strpos($class_name, 'wpinv_')) {
278 278
 			return;
279 279
 		}
280 280
 
281 281
 		// Next, prepare the file name from the class.
282
-		$file_name = 'class-' . str_replace( '_', '-', $class_name ) . '.php';
282
+		$file_name = 'class-' . str_replace('_', '-', $class_name) . '.php';
283 283
 
284 284
 		// Base path of the classes.
285
-		$plugin_path = untrailingslashit( WPINV_PLUGIN_DIR );
285
+		$plugin_path = untrailingslashit(WPINV_PLUGIN_DIR);
286 286
 
287 287
 		// And an array of possible locations in order of importance.
288 288
 		$locations = array(
@@ -297,9 +297,9 @@  discard block
 block discarded – undo
297 297
 			"$plugin_path/includes/admin/meta-boxes",
298 298
 		);
299 299
 
300
-		foreach ( apply_filters( 'getpaid_autoload_locations', $locations ) as $location ) {
301
-			if ( file_exists( trailingslashit( $location ) . $file_name ) ) {
302
-				include trailingslashit( $location ) . $file_name;
300
+		foreach (apply_filters('getpaid_autoload_locations', $locations) as $location) {
301
+			if (file_exists(trailingslashit($location) . $file_name)) {
302
+				include trailingslashit($location) . $file_name;
303 303
 				break;
304 304
 			}
305 305
 		}
@@ -310,7 +310,7 @@  discard block
 block discarded – undo
310 310
 	 */
311 311
 	public function init() {
312 312
 		// Fires before getpaid inits.
313
-		do_action( 'before_getpaid_init', $this );
313
+		do_action('before_getpaid_init', $this);
314 314
 
315 315
 		// Maybe upgrade.
316 316
 		$this->maybe_upgrade_database();
@@ -327,17 +327,17 @@  discard block
 block discarded – undo
327 327
 			)
328 328
 		);
329 329
 
330
-		foreach ( $gateways as $id => $class ) {
331
-			$this->gateways[ $id ] = new $class();
330
+		foreach ($gateways as $id => $class) {
331
+			$this->gateways[$id] = new $class();
332 332
 		}
333 333
 
334
-		if ( 'yes' != get_option( 'wpinv_renamed_gateways' ) ) {
334
+		if ('yes' != get_option('wpinv_renamed_gateways')) {
335 335
 			GetPaid_Installer::rename_gateways_label();
336
-			update_option( 'wpinv_renamed_gateways', 'yes' );
336
+			update_option('wpinv_renamed_gateways', 'yes');
337 337
 		}
338 338
 
339 339
 		// Fires after getpaid inits.
340
-		do_action( 'getpaid_init', $this );
340
+		do_action('getpaid_init', $this);
341 341
 	}
342 342
 
343 343
 	/**
@@ -345,52 +345,52 @@  discard block
 block discarded – undo
345 345
 	 */
346 346
 	public function maybe_process_ipn() {
347 347
 		// Ensure that this is an IPN request.
348
-		if ( empty( $_GET['wpi-listener'] ) || 'IPN' !== $_GET['wpi-listener'] || empty( $_GET['wpi-gateway'] ) ) {
348
+		if (empty($_GET['wpi-listener']) || 'IPN' !== $_GET['wpi-listener'] || empty($_GET['wpi-gateway'])) {
349 349
 			return;
350 350
 		}
351 351
 
352
-		$gateway = sanitize_text_field( $_GET['wpi-gateway'] );
352
+		$gateway = sanitize_text_field($_GET['wpi-gateway']);
353 353
 
354
-		do_action( 'wpinv_verify_payment_ipn', $gateway );
355
-		do_action( "wpinv_verify_{$gateway}_ipn" );
354
+		do_action('wpinv_verify_payment_ipn', $gateway);
355
+		do_action("wpinv_verify_{$gateway}_ipn");
356 356
 		exit;
357 357
 	}
358 358
 
359 359
 	public function enqueue_scripts() {
360 360
 		// Fires before adding scripts.
361
-		do_action( 'getpaid_enqueue_scripts' );
361
+		do_action('getpaid_enqueue_scripts');
362 362
 
363 363
 		$localize                         = array();
364
-		$localize['ajax_url']             = admin_url( 'admin-ajax.php' );
364
+		$localize['ajax_url']             = admin_url('admin-ajax.php');
365 365
 		$localize['thousands']            = wpinv_thousands_separator();
366 366
 		$localize['decimals']             = wpinv_decimal_separator();
367
-		$localize['nonce']                = wp_create_nonce( 'wpinv-nonce' );
368
-		$localize['txtComplete']          = __( 'Continue', 'invoicing' );
367
+		$localize['nonce']                = wp_create_nonce('wpinv-nonce');
368
+		$localize['txtComplete']          = __('Continue', 'invoicing');
369 369
 		$localize['UseTaxes']             = wpinv_use_taxes();
370
-		$localize['formNonce']            = wp_create_nonce( 'getpaid_form_nonce' );
371
-		$localize['loading']              = __( 'Loading...', 'invoicing' );
372
-		$localize['connectionError']      = __( 'Could not establish a connection to the server.', 'invoicing' );
370
+		$localize['formNonce']            = wp_create_nonce('getpaid_form_nonce');
371
+		$localize['loading']              = __('Loading...', 'invoicing');
372
+		$localize['connectionError']      = __('Could not establish a connection to the server.', 'invoicing');
373 373
 		$localize['recaptchaSettings']    = getpaid_get_recaptcha_settings();
374 374
 
375
-		$localize = apply_filters( 'wpinv_front_js_localize', $localize );
375
+		$localize = apply_filters('wpinv_front_js_localize', $localize);
376 376
 
377 377
 		// reCaptcha.
378
-		if ( getpaid_is_recaptcha_enabled() && ( $recaptcha_js = getpaid_recaptcha_api_url() ) ) {
379
-			wp_enqueue_script( 'recaptcha', $recaptcha_js, array(), null, true ); // phpcs:ignore WordPress.WP.EnqueuedResourceParameters.MissingVersion
378
+		if (getpaid_is_recaptcha_enabled() && ($recaptcha_js = getpaid_recaptcha_api_url())) {
379
+			wp_enqueue_script('recaptcha', $recaptcha_js, array(), null, true); // phpcs:ignore WordPress.WP.EnqueuedResourceParameters.MissingVersion
380 380
 		}
381 381
 
382
-		$version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/payment-forms.js' );
383
-		wp_enqueue_script( 'wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.js', array( 'jquery' ), $version, true );
384
-		wp_localize_script( 'wpinv-front-script', 'WPInv', $localize );
382
+		$version = filemtime(WPINV_PLUGIN_DIR . 'assets/js/payment-forms.js');
383
+		wp_enqueue_script('wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.js', array('jquery'), $version, true);
384
+		wp_localize_script('wpinv-front-script', 'WPInv', $localize);
385 385
 	}
386 386
 
387 387
 	public function wpinv_actions() {
388
-		if ( isset( $_REQUEST['wpi_action'] ) ) {
389
-			do_action( 'wpinv_' . wpinv_sanitize_key( $_REQUEST['wpi_action'] ), $_REQUEST );
388
+		if (isset($_REQUEST['wpi_action'])) {
389
+			do_action('wpinv_' . wpinv_sanitize_key($_REQUEST['wpi_action']), $_REQUEST);
390 390
 		}
391 391
 
392
-		if ( defined( 'WP_ALL_IMPORT_ROOT_DIR' ) ) {
393
-			include plugin_dir_path( __FILE__ ) . 'libraries/wp-all-import/class-getpaid-wp-all-import.php';
392
+		if (defined('WP_ALL_IMPORT_ROOT_DIR')) {
393
+			include plugin_dir_path(__FILE__) . 'libraries/wp-all-import/class-getpaid-wp-all-import.php';
394 394
 		}
395 395
 	}
396 396
 
@@ -401,21 +401,21 @@  discard block
 block discarded – undo
401 401
 	 * current user owns the invoice/subscription.
402 402
 	 */
403 403
 	public function maybe_do_authenticated_action() {
404
-		if ( isset( $_REQUEST['getpaid-action'] ) && isset( $_REQUEST['getpaid-nonce'] ) && wp_verify_nonce( $_REQUEST['getpaid-nonce'], 'getpaid-nonce' ) ) {
405
-			$key  = sanitize_key( $_REQUEST['getpaid-action'] );
406
-			$data = wp_unslash( $_REQUEST );
404
+		if (isset($_REQUEST['getpaid-action']) && isset($_REQUEST['getpaid-nonce']) && wp_verify_nonce($_REQUEST['getpaid-nonce'], 'getpaid-nonce')) {
405
+			$key  = sanitize_key($_REQUEST['getpaid-action']);
406
+			$data = wp_unslash($_REQUEST);
407 407
 
408
-			if ( is_user_logged_in() ) {
409
-				do_action( "getpaid_authenticated_action_$key", $data );
408
+			if (is_user_logged_in()) {
409
+				do_action("getpaid_authenticated_action_$key", $data);
410 410
 			}
411 411
 
412
-			do_action( "getpaid_unauthenticated_action_$key", $data );
412
+			do_action("getpaid_unauthenticated_action_$key", $data);
413 413
 		}
414 414
 	}
415 415
 
416
-	public function pre_get_posts( $wp_query ) {
417
-		if ( ! is_admin() && ! empty( $wp_query->query_vars['post_type'] ) && getpaid_is_invoice_post_type( $wp_query->query_vars['post_type'] ) && is_user_logged_in() && is_single() && $wp_query->is_main_query() ) {
418
-			$wp_query->query_vars['post_status'] = array_keys( wpinv_get_invoice_statuses( false, false, $wp_query->query_vars['post_type'] ) );
416
+	public function pre_get_posts($wp_query) {
417
+		if (!is_admin() && !empty($wp_query->query_vars['post_type']) && getpaid_is_invoice_post_type($wp_query->query_vars['post_type']) && is_user_logged_in() && is_single() && $wp_query->is_main_query()) {
418
+			$wp_query->query_vars['post_status'] = array_keys(wpinv_get_invoice_statuses(false, false, $wp_query->query_vars['post_type']));
419 419
 		}
420 420
 
421 421
 		return $wp_query;
@@ -430,17 +430,17 @@  discard block
 block discarded – undo
430 430
 
431 431
 		// Currently, UX Builder does not work particulaly well with SuperDuper.
432 432
 		// So we disable our widgets when editing a page with UX Builder.
433
-		if ( function_exists( 'ux_builder_is_active' ) && ux_builder_is_active() ) {
433
+		if (function_exists('ux_builder_is_active') && ux_builder_is_active()) {
434 434
 			return;
435 435
 		}
436 436
 
437
-		$block_widget_init_screens = function_exists( 'sd_pagenow_exclude' ) ? sd_pagenow_exclude() : array();
437
+		$block_widget_init_screens = function_exists('sd_pagenow_exclude') ? sd_pagenow_exclude() : array();
438 438
 
439
-		if ( is_admin() && $pagenow && in_array( $pagenow, $block_widget_init_screens ) ) {
439
+		if (is_admin() && $pagenow && in_array($pagenow, $block_widget_init_screens)) {
440 440
 			// don't initiate in these conditions.
441 441
 		} else {
442 442
 			// Only load allowed widgets.
443
-			$exclude = function_exists( 'sd_widget_exclude' ) ? sd_widget_exclude() : array();
443
+			$exclude = function_exists('sd_widget_exclude') ? sd_widget_exclude() : array();
444 444
 			$widgets = apply_filters(
445 445
 				'getpaid_widget_classes',
446 446
 				array(
@@ -456,15 +456,15 @@  discard block
 block discarded – undo
456 456
 			);
457 457
 
458 458
 			// For each widget...
459
-			foreach ( $widgets as $widget ) {
459
+			foreach ($widgets as $widget) {
460 460
 				// Abort early if it is excluded for this page.
461
-				if ( in_array( $widget, $exclude ) ) {
461
+				if (in_array($widget, $exclude)) {
462 462
 					continue;
463 463
 				}
464 464
 
465 465
 				// SD V1 used to extend the widget class. V2 does not, so we cannot call register widget on it.
466
-				if ( is_subclass_of( $widget, 'WP_Widget' ) ) {
467
-					register_widget( $widget );
466
+				if (is_subclass_of($widget, 'WP_Widget')) {
467
+					register_widget($widget);
468 468
 				} else {
469 469
 					new $widget();
470 470
 				}
@@ -481,28 +481,28 @@  discard block
 block discarded – undo
481 481
 		// Ensure the database tables are up to date.
482 482
 		GetPaid_Installer::maybe_create_db_tables();
483 483
 
484
-		$wpi_version = get_option( 'wpinv_version', 0 );
484
+		$wpi_version = get_option('wpinv_version', 0);
485 485
 
486
-		if ( $wpi_version == WPINV_VERSION ) {
486
+		if ($wpi_version == WPINV_VERSION) {
487 487
 			return;
488 488
 		}
489 489
 
490 490
 		$installer = new GetPaid_Installer();
491 491
 
492
-		if ( empty( $wpi_version ) ) {
493
-			return $installer->upgrade_db( 0 );
492
+		if (empty($wpi_version)) {
493
+			return $installer->upgrade_db(0);
494 494
 		}
495 495
 
496
-		$upgrades  = array(
496
+		$upgrades = array(
497 497
 			'0.0.5' => '004',
498 498
 			'1.0.3' => '102',
499 499
 			'2.0.0' => '118',
500 500
 			'2.8.0' => '279',
501 501
 		);
502 502
 
503
-		foreach ( $upgrades as $key => $method ) {
504
-			if ( version_compare( $wpi_version, $key, '<' ) ) {
505
-				return $installer->upgrade_db( $method );
503
+		foreach ($upgrades as $key => $method) {
504
+			if (version_compare($wpi_version, $key, '<')) {
505
+				return $installer->upgrade_db($method);
506 506
 			}
507 507
 		}
508 508
 	}
@@ -513,11 +513,11 @@  discard block
 block discarded – undo
513 513
 	 * @since 2.0.8
514 514
 	 */
515 515
 	public function maybe_flush_permalinks() {
516
-		$flush = get_option( 'wpinv_flush_permalinks', 0 );
516
+		$flush = get_option('wpinv_flush_permalinks', 0);
517 517
 
518
-		if ( ! empty( $flush ) ) {
518
+		if (!empty($flush)) {
519 519
 			flush_rewrite_rules();
520
-			delete_option( 'wpinv_flush_permalinks' );
520
+			delete_option('wpinv_flush_permalinks');
521 521
 		}
522 522
 	}
523 523
 
@@ -527,9 +527,9 @@  discard block
 block discarded – undo
527 527
 	 * @since 1.0.19
528 528
 	 * @param int[] $excluded_posts_ids
529 529
 	 */
530
-	public function wpseo_exclude_from_sitemap_by_post_ids( $excluded_posts_ids ) {
530
+	public function wpseo_exclude_from_sitemap_by_post_ids($excluded_posts_ids) {
531 531
 		// Ensure that we have an array.
532
-		if ( ! is_array( $excluded_posts_ids ) ) {
532
+		if (!is_array($excluded_posts_ids)) {
533 533
 			$excluded_posts_ids = array();
534 534
 		}
535 535
 
@@ -537,25 +537,25 @@  discard block
 block discarded – undo
537 537
 		$our_pages = array();
538 538
 
539 539
 		// Checkout page.
540
-		$our_pages[] = wpinv_get_option( 'checkout_page', false );
540
+		$our_pages[] = wpinv_get_option('checkout_page', false);
541 541
 
542 542
 		// Success page.
543
-		$our_pages[] = wpinv_get_option( 'success_page', false );
543
+		$our_pages[] = wpinv_get_option('success_page', false);
544 544
 
545 545
 		// Failure page.
546
-		$our_pages[] = wpinv_get_option( 'failure_page', false );
546
+		$our_pages[] = wpinv_get_option('failure_page', false);
547 547
 
548 548
 		// History page.
549
-		$our_pages[] = wpinv_get_option( 'invoice_history_page', false );
549
+		$our_pages[] = wpinv_get_option('invoice_history_page', false);
550 550
 
551 551
 		// Subscriptions page.
552
-		$our_pages[] = wpinv_get_option( 'invoice_subscription_page', false );
552
+		$our_pages[] = wpinv_get_option('invoice_subscription_page', false);
553 553
 
554
-		$our_pages   = array_map( 'intval', array_filter( $our_pages ) );
554
+		$our_pages   = array_map('intval', array_filter($our_pages));
555 555
 
556 556
 		$excluded_posts_ids = $excluded_posts_ids + $our_pages;
557 557
 
558
-		return array_unique( $excluded_posts_ids );
558
+		return array_unique($excluded_posts_ids);
559 559
 	}
560 560
 
561 561
 	/**
@@ -564,14 +564,14 @@  discard block
 block discarded – undo
564 564
 	 * @since 1.0.19
565 565
 	 * @param string[] $post_types
566 566
 	 */
567
-	public function exclude_invoicing_post_types( $post_types ) {
567
+	public function exclude_invoicing_post_types($post_types) {
568 568
 		// Ensure that we have an array.
569
-		if ( ! is_array( $post_types ) ) {
569
+		if (!is_array($post_types)) {
570 570
 			$post_types = array();
571 571
 		}
572 572
 
573 573
 		// Remove our post types.
574
-		return array_diff( $post_types, array_keys( getpaid_get_invoice_post_types() ) );
574
+		return array_diff($post_types, array_keys(getpaid_get_invoice_post_types()));
575 575
 	}
576 576
 
577 577
 	/**
@@ -580,7 +580,7 @@  discard block
 block discarded – undo
580 580
 	 * @since 2.0.0
581 581
 	 */
582 582
 	public function wp_footer() {
583
-		wpinv_get_template( 'frontend-footer.php' );
583
+		wpinv_get_template('frontend-footer.php');
584 584
 	}
585 585
 
586 586
 	/**
@@ -589,14 +589,14 @@  discard block
 block discarded – undo
589 589
 	 * @since 2.0.0
590 590
 	 */
591 591
 	public function wp_head() {
592
-		wpinv_get_template( 'frontend-head.php' );
592
+		wpinv_get_template('frontend-head.php');
593 593
 	}
594 594
 
595 595
 	/**
596 596
 	 * Custom query vars.
597 597
 	 *
598 598
 	 */
599
-	public function custom_query_vars( $vars ) {
599
+	public function custom_query_vars($vars) {
600 600
 		$vars[] = 'getpaid-ipn';
601 601
 		return $vars;
602 602
 	}
@@ -607,26 +607,26 @@  discard block
 block discarded – undo
607 607
 	 */
608 608
 	public function add_rewrite_rule() {
609 609
 		$tag = 'getpaid-ipn';
610
-		add_rewrite_tag( "%$tag%", '([^&]+)' );
611
-		add_rewrite_rule( "^$tag/([^/]*)/?", "index.php?$tag=\$matches[1]", 'top' );
610
+		add_rewrite_tag("%$tag%", '([^&]+)');
611
+		add_rewrite_rule("^$tag/([^/]*)/?", "index.php?$tag=\$matches[1]", 'top');
612 612
 	}
613 613
 
614 614
 	/**
615 615
 	 * Processes non-query string ipns.
616 616
 	 *
617 617
 	 */
618
-	public function maybe_process_new_ipn( $query ) {
619
-		if ( is_admin() || ! $query->is_main_query() ) {
618
+	public function maybe_process_new_ipn($query) {
619
+		if (is_admin() || !$query->is_main_query()) {
620 620
 			return;
621 621
 		}
622 622
 
623
-		$gateway = get_query_var( 'getpaid-ipn' );
623
+		$gateway = get_query_var('getpaid-ipn');
624 624
 
625
-		if ( ! empty( $gateway ) ) {
626
-			$gateway = sanitize_text_field( $gateway );
625
+		if (!empty($gateway)) {
626
+			$gateway = sanitize_text_field($gateway);
627 627
 			nocache_headers();
628
-			do_action( 'wpinv_verify_payment_ipn', $gateway );
629
-			do_action( "wpinv_verify_{$gateway}_ipn" );
628
+			do_action('wpinv_verify_payment_ipn', $gateway);
629
+			do_action("wpinv_verify_{$gateway}_ipn");
630 630
 			exit;
631 631
 		}
632 632
 	}
Please login to merge, or discard this patch.
widgets/subscriptions.php 2 patches
Indentation   +347 added lines, -347 removed lines patch added patch discarded remove patch
@@ -14,143 +14,143 @@  discard block
 block discarded – undo
14 14
  */
15 15
 class WPInv_Subscriptions_Widget extends WP_Super_Duper {
16 16
 
17
-	/**
18
-	 * Register the widget with WordPress.
19
-	 *
20
-	 */
21
-	public function __construct() {
22
-
23
-		$options = array(
24
-			'textdomain'     => 'invoicing',
25
-			'block-icon'     => 'controls-repeat',
26
-			'block-category' => 'widgets',
27
-			'block-keywords' => "['invoicing','subscriptions', 'getpaid']",
28
-			'class_name'     => __CLASS__,
29
-			'base_id'        => 'wpinv_subscriptions',
30
-			'name'           => __( 'GetPaid > Subscriptions', 'invoicing' ),
31
-			'widget_ops'     => array(
32
-				'classname'   => 'getpaid-subscriptions bsui',
33
-				'description' => esc_html__( "Displays the current user's subscriptions.", 'invoicing' ),
34
-			),
35
-			'arguments'      => array(
36
-				'title' => array(
37
-					'title'    => __( 'Widget title', 'invoicing' ),
38
-					'desc'     => __( 'Enter widget title.', 'invoicing' ),
39
-					'type'     => 'text',
40
-					'desc_tip' => true,
41
-					'default'  => '',
42
-					'advanced' => false,
43
-				),
44
-			),
45
-
46
-		);
47
-
48
-		parent::__construct( $options );
49
-	}
50
-
51
-	/**
52
-	 * Retrieves current user's subscriptions.
53
-	 *
54
-	 * @return GetPaid_Subscriptions_Query
55
-	 */
56
-	public function get_subscriptions() {
57
-
58
-		// Prepare license args.
59
-		$args  = array(
60
-			'customer_in' => get_current_user_id(),
61
-			'paged'       => ( get_query_var( 'paged' ) ) ? absint( get_query_var( 'paged' ) ) : 1,
62
-		);
63
-
64
-		return new GetPaid_Subscriptions_Query( $args );
65
-
66
-	}
67
-
68
-	/**
69
-	 * The Super block output function.
70
-	 *
71
-	 * @param array $args
72
-	 * @param array $widget_args
73
-	 * @param string $content
74
-	 *
75
-	 * @return mixed|string|bool
76
-	 */
77
-	public function output( $args = array(), $widget_args = array(), $content = '' ) {
78
-
79
-		// Ensure that the user is logged in.
80
-		if ( ! is_user_logged_in() ) {
81
-
82
-			return aui()->alert(
83
-				array(
84
-					'content' => wp_kses_post( __( 'You need to log-in or create an account to view this section.', 'invoicing' ) ),
85
-					'type'    => 'error',
86
-				)
87
-			);
88
-
89
-		}
90
-
91
-		// Are we displaying a single subscription?
92
-		if ( isset( $_GET['subscription'] ) ) {
93
-			return $this->display_single_subscription( intval( $_GET['subscription'] ) );
94
-		}
95
-
96
-		// Retrieve the user's subscriptions.
97
-		$subscriptions = $this->get_subscriptions();
98
-
99
-		// Start the output buffer.
100
-		ob_start();
101
-
102
-		// Backwards compatibility.
103
-		do_action( 'wpinv_before_user_subscriptions' );
104
-
105
-		// Display errors and notices.
106
-		wpinv_print_errors();
107
-
108
-		do_action( 'getpaid_license_manager_before_subscriptions', $subscriptions );
109
-
110
-		// Print the table header.
111
-		$this->print_table_header();
112
-
113
-		// Print table body.
114
-		$this->print_table_body( $subscriptions->get_results() );
115
-
116
-		// Print table footer.
117
-		$this->print_table_footer();
118
-
119
-		// Print the navigation.
120
-		$this->print_navigation( $subscriptions->get_total() );
121
-
122
-		// Backwards compatibility.
123
-		do_action( 'wpinv_after_user_subscriptions' );
124
-
125
-		// Return the output.
126
-		return ob_get_clean();
127
-
128
-	}
129
-
130
-	/**
131
-	 * Retrieves the subscription columns.
132
-	 *
133
-	 * @return array
134
-	 */
135
-	public function get_subscriptions_table_columns() {
17
+    /**
18
+     * Register the widget with WordPress.
19
+     *
20
+     */
21
+    public function __construct() {
22
+
23
+        $options = array(
24
+            'textdomain'     => 'invoicing',
25
+            'block-icon'     => 'controls-repeat',
26
+            'block-category' => 'widgets',
27
+            'block-keywords' => "['invoicing','subscriptions', 'getpaid']",
28
+            'class_name'     => __CLASS__,
29
+            'base_id'        => 'wpinv_subscriptions',
30
+            'name'           => __( 'GetPaid > Subscriptions', 'invoicing' ),
31
+            'widget_ops'     => array(
32
+                'classname'   => 'getpaid-subscriptions bsui',
33
+                'description' => esc_html__( "Displays the current user's subscriptions.", 'invoicing' ),
34
+            ),
35
+            'arguments'      => array(
36
+                'title' => array(
37
+                    'title'    => __( 'Widget title', 'invoicing' ),
38
+                    'desc'     => __( 'Enter widget title.', 'invoicing' ),
39
+                    'type'     => 'text',
40
+                    'desc_tip' => true,
41
+                    'default'  => '',
42
+                    'advanced' => false,
43
+                ),
44
+            ),
45
+
46
+        );
47
+
48
+        parent::__construct( $options );
49
+    }
50
+
51
+    /**
52
+     * Retrieves current user's subscriptions.
53
+     *
54
+     * @return GetPaid_Subscriptions_Query
55
+     */
56
+    public function get_subscriptions() {
57
+
58
+        // Prepare license args.
59
+        $args  = array(
60
+            'customer_in' => get_current_user_id(),
61
+            'paged'       => ( get_query_var( 'paged' ) ) ? absint( get_query_var( 'paged' ) ) : 1,
62
+        );
63
+
64
+        return new GetPaid_Subscriptions_Query( $args );
65
+
66
+    }
67
+
68
+    /**
69
+     * The Super block output function.
70
+     *
71
+     * @param array $args
72
+     * @param array $widget_args
73
+     * @param string $content
74
+     *
75
+     * @return mixed|string|bool
76
+     */
77
+    public function output( $args = array(), $widget_args = array(), $content = '' ) {
78
+
79
+        // Ensure that the user is logged in.
80
+        if ( ! is_user_logged_in() ) {
81
+
82
+            return aui()->alert(
83
+                array(
84
+                    'content' => wp_kses_post( __( 'You need to log-in or create an account to view this section.', 'invoicing' ) ),
85
+                    'type'    => 'error',
86
+                )
87
+            );
88
+
89
+        }
90
+
91
+        // Are we displaying a single subscription?
92
+        if ( isset( $_GET['subscription'] ) ) {
93
+            return $this->display_single_subscription( intval( $_GET['subscription'] ) );
94
+        }
95
+
96
+        // Retrieve the user's subscriptions.
97
+        $subscriptions = $this->get_subscriptions();
98
+
99
+        // Start the output buffer.
100
+        ob_start();
101
+
102
+        // Backwards compatibility.
103
+        do_action( 'wpinv_before_user_subscriptions' );
104
+
105
+        // Display errors and notices.
106
+        wpinv_print_errors();
107
+
108
+        do_action( 'getpaid_license_manager_before_subscriptions', $subscriptions );
109
+
110
+        // Print the table header.
111
+        $this->print_table_header();
112
+
113
+        // Print table body.
114
+        $this->print_table_body( $subscriptions->get_results() );
115
+
116
+        // Print table footer.
117
+        $this->print_table_footer();
118
+
119
+        // Print the navigation.
120
+        $this->print_navigation( $subscriptions->get_total() );
121
+
122
+        // Backwards compatibility.
123
+        do_action( 'wpinv_after_user_subscriptions' );
124
+
125
+        // Return the output.
126
+        return ob_get_clean();
127
+
128
+    }
129
+
130
+    /**
131
+     * Retrieves the subscription columns.
132
+     *
133
+     * @return array
134
+     */
135
+    public function get_subscriptions_table_columns() {
136 136
 
137
-		$columns = array(
138
-			'subscription' => __( 'Subscription', 'invoicing' ),
139
-			'amount'       => __( 'Amount', 'invoicing' ),
140
-			'renewal-date' => __( 'Next payment', 'invoicing' ),
141
-			'status'       => __( 'Status', 'invoicing' ),
142
-		);
137
+        $columns = array(
138
+            'subscription' => __( 'Subscription', 'invoicing' ),
139
+            'amount'       => __( 'Amount', 'invoicing' ),
140
+            'renewal-date' => __( 'Next payment', 'invoicing' ),
141
+            'status'       => __( 'Status', 'invoicing' ),
142
+        );
143 143
 
144
-		return apply_filters( 'getpaid_frontend_subscriptions_table_columns', $columns );
145
-	}
144
+        return apply_filters( 'getpaid_frontend_subscriptions_table_columns', $columns );
145
+    }
146 146
 
147
-	/**
148
-	 * Displays the table header.
149
-	 *
150
-	 */
151
-	public function print_table_header() {
147
+    /**
148
+     * Displays the table header.
149
+     *
150
+     */
151
+    public function print_table_header() {
152 152
 
153
-		?>
153
+        ?>
154 154
 
155 155
 			<table class="table table-bordered table-striped">
156 156
 
@@ -166,122 +166,122 @@  discard block
 block discarded – undo
166 166
 
167 167
 		<?php
168 168
 
169
-	}
169
+    }
170 170
 
171
-	/**
172
-	 * Displays the table body.
173
-	 *
174
-	 * @param WPInv_Subscription[] $subscriptions
175
-	 */
176
-	public function print_table_body( $subscriptions ) {
171
+    /**
172
+     * Displays the table body.
173
+     *
174
+     * @param WPInv_Subscription[] $subscriptions
175
+     */
176
+    public function print_table_body( $subscriptions ) {
177 177
 
178
-		if ( empty( $subscriptions ) ) {
179
-			$this->print_table_body_no_subscriptions();
180
-		} else {
181
-			$this->print_table_body_subscriptions( $subscriptions );
182
-		}
178
+        if ( empty( $subscriptions ) ) {
179
+            $this->print_table_body_no_subscriptions();
180
+        } else {
181
+            $this->print_table_body_subscriptions( $subscriptions );
182
+        }
183 183
 
184
-	}
184
+    }
185 185
 
186
-	/**
187
-	 * Displays the table body if no subscriptions were found.
188
-	 *
189
-	 */
190
-	public function print_table_body_no_subscriptions() {
186
+    /**
187
+     * Displays the table body if no subscriptions were found.
188
+     *
189
+     */
190
+    public function print_table_body_no_subscriptions() {
191 191
 
192
-		?>
192
+        ?>
193 193
 		<tbody>
194 194
 
195 195
 			<tr>
196 196
 				<td colspan="<?php echo count( $this->get_subscriptions_table_columns() ); ?>">
197 197
 
198 198
 					<?php
199
-						aui()->alert(
200
-							array(
201
-								'content' => wp_kses_post( __( 'No subscriptions found.', 'invoicing' ) ),
202
-								'type'    => 'warning',
203
-							),
199
+                        aui()->alert(
200
+                            array(
201
+                                'content' => wp_kses_post( __( 'No subscriptions found.', 'invoicing' ) ),
202
+                                'type'    => 'warning',
203
+                            ),
204 204
                             true
205
-						);
206
-					?>
205
+                        );
206
+                    ?>
207 207
 
208 208
 				</td>
209 209
 			</tr>
210 210
 
211 211
 		</tbody>
212 212
 		<?php
213
-	}
213
+    }
214 214
 
215
-	/**
216
-	 * Displays the table body if subscriptions were found.
217
-	 *
218
-	 * @param WPInv_Subscription[] $subscriptions
219
-	 */
220
-	public function print_table_body_subscriptions( $subscriptions ) {
215
+    /**
216
+     * Displays the table body if subscriptions were found.
217
+     *
218
+     * @param WPInv_Subscription[] $subscriptions
219
+     */
220
+    public function print_table_body_subscriptions( $subscriptions ) {
221 221
 
222
-		?>
222
+        ?>
223 223
 		<tbody>
224 224
 
225 225
 			<?php foreach ( $subscriptions as $subscription ) : ?>
226 226
 				<tr class="getpaid-subscriptions-table-row subscription-<?php echo (int) $subscription->get_id(); ?>">
227 227
 					<?php
228
-						wpinv_get_template(
229
-							'subscriptions/subscriptions-table-row.php',
230
-							array(
231
-								'subscription' => $subscription,
232
-								'widget'       => $this,
233
-							)
234
-						);
235
-					?>
228
+                        wpinv_get_template(
229
+                            'subscriptions/subscriptions-table-row.php',
230
+                            array(
231
+                                'subscription' => $subscription,
232
+                                'widget'       => $this,
233
+                            )
234
+                        );
235
+                    ?>
236 236
 				</tr>
237 237
 			<?php endforeach; ?>
238 238
 
239 239
 		</tbody>
240 240
 		<?php
241
-	}
242
-
243
-	/**
244
-	 * Adds row actions to a column
245
-	 *
246
-	 * @param string $content column content
247
-	 * @param WPInv_Subscription $subscription
248
-	 * @since       1.0.0
249
-	 * @return      string
250
-	 */
251
-	public function add_row_actions( $content, $subscription ) {
252
-
253
-		// Prepare row actions.
254
-		$actions = array();
255
-
256
-		// View subscription action.
257
-		$view_url        = getpaid_get_tab_url( 'gp-subscriptions', get_permalink( (int) wpinv_get_option( 'invoice_subscription_page' ) ) );
258
-		$view_url        = esc_url( add_query_arg( 'subscription', (int) $subscription->get_id(), $view_url ) );
259
-		$actions['view'] = "<a href='$view_url' class='text-decoration-none'>" . __( 'Manage Subscription', 'invoicing' ) . '</a>';
260
-
261
-		// Filter the actions.
262
-		$actions = apply_filters( 'getpaid_subscriptions_table_subscription_actions', $actions, $subscription );
263
-
264
-		$sanitized  = array();
265
-		foreach ( $actions as $key => $action ) {
266
-			$key         = sanitize_html_class( $key );
267
-			$action      = wp_kses_post( $action );
268
-			$sanitized[] = "<span class='$key'>$action</span>";
269
-		}
270
-
271
-		$row_actions  = "<small class='form-text getpaid-subscription-item-actions'>";
272
-		$row_actions .= implode( ' | ', $sanitized );
273
-		$row_actions .= '</small>';
274
-
275
-		return $content . $row_actions;
276
-	}
277
-
278
-	/**
279
-	 * Displays the table footer.
280
-	 *
281
-	 */
282
-	public function print_table_footer() {
283
-
284
-		?>
241
+    }
242
+
243
+    /**
244
+     * Adds row actions to a column
245
+     *
246
+     * @param string $content column content
247
+     * @param WPInv_Subscription $subscription
248
+     * @since       1.0.0
249
+     * @return      string
250
+     */
251
+    public function add_row_actions( $content, $subscription ) {
252
+
253
+        // Prepare row actions.
254
+        $actions = array();
255
+
256
+        // View subscription action.
257
+        $view_url        = getpaid_get_tab_url( 'gp-subscriptions', get_permalink( (int) wpinv_get_option( 'invoice_subscription_page' ) ) );
258
+        $view_url        = esc_url( add_query_arg( 'subscription', (int) $subscription->get_id(), $view_url ) );
259
+        $actions['view'] = "<a href='$view_url' class='text-decoration-none'>" . __( 'Manage Subscription', 'invoicing' ) . '</a>';
260
+
261
+        // Filter the actions.
262
+        $actions = apply_filters( 'getpaid_subscriptions_table_subscription_actions', $actions, $subscription );
263
+
264
+        $sanitized  = array();
265
+        foreach ( $actions as $key => $action ) {
266
+            $key         = sanitize_html_class( $key );
267
+            $action      = wp_kses_post( $action );
268
+            $sanitized[] = "<span class='$key'>$action</span>";
269
+        }
270
+
271
+        $row_actions  = "<small class='form-text getpaid-subscription-item-actions'>";
272
+        $row_actions .= implode( ' | ', $sanitized );
273
+        $row_actions .= '</small>';
274
+
275
+        return $content . $row_actions;
276
+    }
277
+
278
+    /**
279
+     * Displays the table footer.
280
+     *
281
+     */
282
+    public function print_table_footer() {
283
+
284
+        ?>
285 285
 
286 286
 				<tfoot>
287 287
 					<tr>
@@ -296,145 +296,145 @@  discard block
 block discarded – undo
296 296
 			</table>
297 297
 		<?php
298 298
 
299
-	}
299
+    }
300 300
 
301
-	/**
302
-	 * Displays the navigation.
303
-	 *
304
-	 * @param int $total
305
-	 */
306
-	public function print_navigation( $total ) {
301
+    /**
302
+     * Displays the navigation.
303
+     *
304
+     * @param int $total
305
+     */
306
+    public function print_navigation( $total ) {
307 307
 
308
-		if ( $total < 1 ) {
308
+        if ( $total < 1 ) {
309 309
 
310
-			// Out-of-bounds, run the query again without LIMIT for total count.
311
-			$args  = array(
312
-				'customer_in' => get_current_user_id(),
313
-				'fields'      => 'id',
314
-			);
310
+            // Out-of-bounds, run the query again without LIMIT for total count.
311
+            $args  = array(
312
+                'customer_in' => get_current_user_id(),
313
+                'fields'      => 'id',
314
+            );
315 315
 
316
-			$count_query = new GetPaid_Subscriptions_Query( $args );
317
-			$total       = $count_query->get_total();
318
-		}
316
+            $count_query = new GetPaid_Subscriptions_Query( $args );
317
+            $total       = $count_query->get_total();
318
+        }
319 319
 
320
-		// Abort if we do not have pages.
321
-		if ( 2 > $total ) {
322
-			return;
323
-		}
320
+        // Abort if we do not have pages.
321
+        if ( 2 > $total ) {
322
+            return;
323
+        }
324 324
 
325
-		?>
325
+        ?>
326 326
 
327 327
 		<div class="getpaid-subscriptions-pagination">
328 328
 			<?php
329
-				$big = 999999;
330
-
331
-				echo wp_kses_post(
332
-					getpaid_paginate_links(
333
-						array(
334
-							'base'   => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
335
-							'format' => '?paged=%#%',
336
-							'total'  => (int) ceil( $total / 10 ),
337
-						)
338
-					)
339
-				);
340
-			?>
329
+                $big = 999999;
330
+
331
+                echo wp_kses_post(
332
+                    getpaid_paginate_links(
333
+                        array(
334
+                            'base'   => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
335
+                            'format' => '?paged=%#%',
336
+                            'total'  => (int) ceil( $total / 10 ),
337
+                        )
338
+                    )
339
+                );
340
+            ?>
341 341
 		</div>
342 342
 
343 343
 		<?php
344
-	}
345
-
346
-	/**
347
-	 * Returns a single subscription's columns.
348
-	 *
349
-	 * @param WPInv_Subscription $subscription
350
-	 *
351
-	 * @return array
352
-	 */
353
-	public function get_single_subscription_columns( $subscription ) {
354
-
355
-		// Prepare subscription detail columns.
356
-		$subscription_group = getpaid_get_invoice_subscription_group( $subscription->get_parent_invoice_id(), $subscription->get_id() );
357
-		$items_count        = empty( $subscription_group ) ? 1 : count( $subscription_group['items'] );
358
-		$fields             = apply_filters(
359
-			'getpaid_single_subscription_details_fields',
360
-			array(
361
-				'status'           => __( 'Status', 'invoicing' ),
362
-				'initial_amount'   => __( 'Initial amount', 'invoicing' ),
363
-				'recurring_amount' => __( 'Recurring amount', 'invoicing' ),
364
-				'start_date'       => __( 'Start date', 'invoicing' ),
365
-				'expiry_date'      => __( 'Next payment', 'invoicing' ),
366
-				'payments'         => __( 'Payments', 'invoicing' ),
367
-				'item'             => $items_count > 1 ? __( 'Items', $items_count, 'invoicing' ) : __( 'Item', 'invoicing' )
368
-			),
369
-			$subscription,
370
-			$items_count
371
-		);
372
-
373
-		if ( isset( $fields['expiry_date'] ) ) {
374
-
375
-			if ( ! $subscription->is_active() || $subscription->is_last_renewal() ) {
376
-				$fields['expiry_date'] = __( 'End date', 'invoicing' );
377
-			}
378
-
379
-			if ( 'pending' === $subscription->get_status() ) {
380
-				unset( $fields['expiry_date'] );
381
-			}
382
-		}
383
-
384
-		if ( isset( $fields['start_date'] ) && 'pending' === $subscription->get_status() ) {
385
-			unset( $fields['start_date'] );
386
-		}
387
-
388
-		if ( $subscription->get_initial_amount() === $subscription->get_recurring_amount() ) {
389
-			unset( $fields['initial_amount'] );
390
-		}
391
-
392
-		return $fields;
393
-	}
394
-
395
-	/**
396
-	 * Displays a single subscription.
397
-	 *
398
-	 * @param string $subscription
399
-	 *
400
-	 * @return string
401
-	 */
402
-	public function display_single_subscription( $subscription ) {
403
-
404
-		// Fetch the subscription.
405
-		$subscription = new WPInv_Subscription( (int) $subscription );
406
-
407
-		if ( ! $subscription->exists() ) {
408
-
409
-			return aui()->alert(
410
-				array(
411
-					'content' => wp_kses_post( __( 'Subscription not found.', 'invoicing' ) ),
412
-					'type'    => 'error',
413
-				)
414
-			);
415
-
416
-		}
417
-
418
-		// Ensure that the user owns this subscription key.
419
-		if ( get_current_user_id() != $subscription->get_customer_id() && ! wpinv_current_user_can_manage_invoicing() ) {
420
-
421
-			return aui()->alert(
422
-				array(
423
-					'content' => wp_kses_post( __( 'You do not have permission to view this subscription. Ensure that you are logged in to the account that owns the subscription.', 'invoicing' ) ),
424
-					'type'    => 'error',
425
-				)
426
-			);
427
-
428
-		}
429
-
430
-		return wpinv_get_template_html(
431
-			'subscriptions/subscription-details.php',
432
-			array(
433
-				'subscription' => $subscription,
434
-				'widget'       => $this,
435
-			)
436
-		);
437
-
438
-	}
344
+    }
345
+
346
+    /**
347
+     * Returns a single subscription's columns.
348
+     *
349
+     * @param WPInv_Subscription $subscription
350
+     *
351
+     * @return array
352
+     */
353
+    public function get_single_subscription_columns( $subscription ) {
354
+
355
+        // Prepare subscription detail columns.
356
+        $subscription_group = getpaid_get_invoice_subscription_group( $subscription->get_parent_invoice_id(), $subscription->get_id() );
357
+        $items_count        = empty( $subscription_group ) ? 1 : count( $subscription_group['items'] );
358
+        $fields             = apply_filters(
359
+            'getpaid_single_subscription_details_fields',
360
+            array(
361
+                'status'           => __( 'Status', 'invoicing' ),
362
+                'initial_amount'   => __( 'Initial amount', 'invoicing' ),
363
+                'recurring_amount' => __( 'Recurring amount', 'invoicing' ),
364
+                'start_date'       => __( 'Start date', 'invoicing' ),
365
+                'expiry_date'      => __( 'Next payment', 'invoicing' ),
366
+                'payments'         => __( 'Payments', 'invoicing' ),
367
+                'item'             => $items_count > 1 ? __( 'Items', $items_count, 'invoicing' ) : __( 'Item', 'invoicing' )
368
+            ),
369
+            $subscription,
370
+            $items_count
371
+        );
372
+
373
+        if ( isset( $fields['expiry_date'] ) ) {
374
+
375
+            if ( ! $subscription->is_active() || $subscription->is_last_renewal() ) {
376
+                $fields['expiry_date'] = __( 'End date', 'invoicing' );
377
+            }
378
+
379
+            if ( 'pending' === $subscription->get_status() ) {
380
+                unset( $fields['expiry_date'] );
381
+            }
382
+        }
383
+
384
+        if ( isset( $fields['start_date'] ) && 'pending' === $subscription->get_status() ) {
385
+            unset( $fields['start_date'] );
386
+        }
387
+
388
+        if ( $subscription->get_initial_amount() === $subscription->get_recurring_amount() ) {
389
+            unset( $fields['initial_amount'] );
390
+        }
391
+
392
+        return $fields;
393
+    }
394
+
395
+    /**
396
+     * Displays a single subscription.
397
+     *
398
+     * @param string $subscription
399
+     *
400
+     * @return string
401
+     */
402
+    public function display_single_subscription( $subscription ) {
403
+
404
+        // Fetch the subscription.
405
+        $subscription = new WPInv_Subscription( (int) $subscription );
406
+
407
+        if ( ! $subscription->exists() ) {
408
+
409
+            return aui()->alert(
410
+                array(
411
+                    'content' => wp_kses_post( __( 'Subscription not found.', 'invoicing' ) ),
412
+                    'type'    => 'error',
413
+                )
414
+            );
415
+
416
+        }
417
+
418
+        // Ensure that the user owns this subscription key.
419
+        if ( get_current_user_id() != $subscription->get_customer_id() && ! wpinv_current_user_can_manage_invoicing() ) {
420
+
421
+            return aui()->alert(
422
+                array(
423
+                    'content' => wp_kses_post( __( 'You do not have permission to view this subscription. Ensure that you are logged in to the account that owns the subscription.', 'invoicing' ) ),
424
+                    'type'    => 'error',
425
+                )
426
+            );
427
+
428
+        }
429
+
430
+        return wpinv_get_template_html(
431
+            'subscriptions/subscription-details.php',
432
+            array(
433
+                'subscription' => $subscription,
434
+                'widget'       => $this,
435
+            )
436
+        );
437
+
438
+    }
439 439
 
440 440
 }
Please login to merge, or discard this patch.
Spacing   +79 added lines, -79 removed lines patch added patch discarded remove patch
@@ -5,7 +5,7 @@  discard block
 block discarded – undo
5 5
  * @version 1.0.0
6 6
  */
7 7
 
8
-defined( 'ABSPATH' ) || exit;
8
+defined('ABSPATH') || exit;
9 9
 
10 10
 /**
11 11
  * Contains the subscriptions widget.
@@ -27,15 +27,15 @@  discard block
 block discarded – undo
27 27
 			'block-keywords' => "['invoicing','subscriptions', 'getpaid']",
28 28
 			'class_name'     => __CLASS__,
29 29
 			'base_id'        => 'wpinv_subscriptions',
30
-			'name'           => __( 'GetPaid > Subscriptions', 'invoicing' ),
30
+			'name'           => __('GetPaid > Subscriptions', 'invoicing'),
31 31
 			'widget_ops'     => array(
32 32
 				'classname'   => 'getpaid-subscriptions bsui',
33
-				'description' => esc_html__( "Displays the current user's subscriptions.", 'invoicing' ),
33
+				'description' => esc_html__("Displays the current user's subscriptions.", 'invoicing'),
34 34
 			),
35 35
 			'arguments'      => array(
36 36
 				'title' => array(
37
-					'title'    => __( 'Widget title', 'invoicing' ),
38
-					'desc'     => __( 'Enter widget title.', 'invoicing' ),
37
+					'title'    => __('Widget title', 'invoicing'),
38
+					'desc'     => __('Enter widget title.', 'invoicing'),
39 39
 					'type'     => 'text',
40 40
 					'desc_tip' => true,
41 41
 					'default'  => '',
@@ -45,7 +45,7 @@  discard block
 block discarded – undo
45 45
 
46 46
 		);
47 47
 
48
-		parent::__construct( $options );
48
+		parent::__construct($options);
49 49
 	}
50 50
 
51 51
 	/**
@@ -56,12 +56,12 @@  discard block
 block discarded – undo
56 56
 	public function get_subscriptions() {
57 57
 
58 58
 		// Prepare license args.
59
-		$args  = array(
59
+		$args = array(
60 60
 			'customer_in' => get_current_user_id(),
61
-			'paged'       => ( get_query_var( 'paged' ) ) ? absint( get_query_var( 'paged' ) ) : 1,
61
+			'paged'       => (get_query_var('paged')) ? absint(get_query_var('paged')) : 1,
62 62
 		);
63 63
 
64
-		return new GetPaid_Subscriptions_Query( $args );
64
+		return new GetPaid_Subscriptions_Query($args);
65 65
 
66 66
 	}
67 67
 
@@ -74,14 +74,14 @@  discard block
 block discarded – undo
74 74
 	 *
75 75
 	 * @return mixed|string|bool
76 76
 	 */
77
-	public function output( $args = array(), $widget_args = array(), $content = '' ) {
77
+	public function output($args = array(), $widget_args = array(), $content = '') {
78 78
 
79 79
 		// Ensure that the user is logged in.
80
-		if ( ! is_user_logged_in() ) {
80
+		if (!is_user_logged_in()) {
81 81
 
82 82
 			return aui()->alert(
83 83
 				array(
84
-					'content' => wp_kses_post( __( 'You need to log-in or create an account to view this section.', 'invoicing' ) ),
84
+					'content' => wp_kses_post(__('You need to log-in or create an account to view this section.', 'invoicing')),
85 85
 					'type'    => 'error',
86 86
 				)
87 87
 			);
@@ -89,8 +89,8 @@  discard block
 block discarded – undo
89 89
 		}
90 90
 
91 91
 		// Are we displaying a single subscription?
92
-		if ( isset( $_GET['subscription'] ) ) {
93
-			return $this->display_single_subscription( intval( $_GET['subscription'] ) );
92
+		if (isset($_GET['subscription'])) {
93
+			return $this->display_single_subscription(intval($_GET['subscription']));
94 94
 		}
95 95
 
96 96
 		// Retrieve the user's subscriptions.
@@ -100,27 +100,27 @@  discard block
 block discarded – undo
100 100
 		ob_start();
101 101
 
102 102
 		// Backwards compatibility.
103
-		do_action( 'wpinv_before_user_subscriptions' );
103
+		do_action('wpinv_before_user_subscriptions');
104 104
 
105 105
 		// Display errors and notices.
106 106
 		wpinv_print_errors();
107 107
 
108
-		do_action( 'getpaid_license_manager_before_subscriptions', $subscriptions );
108
+		do_action('getpaid_license_manager_before_subscriptions', $subscriptions);
109 109
 
110 110
 		// Print the table header.
111 111
 		$this->print_table_header();
112 112
 
113 113
 		// Print table body.
114
-		$this->print_table_body( $subscriptions->get_results() );
114
+		$this->print_table_body($subscriptions->get_results());
115 115
 
116 116
 		// Print table footer.
117 117
 		$this->print_table_footer();
118 118
 
119 119
 		// Print the navigation.
120
-		$this->print_navigation( $subscriptions->get_total() );
120
+		$this->print_navigation($subscriptions->get_total());
121 121
 
122 122
 		// Backwards compatibility.
123
-		do_action( 'wpinv_after_user_subscriptions' );
123
+		do_action('wpinv_after_user_subscriptions');
124 124
 
125 125
 		// Return the output.
126 126
 		return ob_get_clean();
@@ -135,13 +135,13 @@  discard block
 block discarded – undo
135 135
 	public function get_subscriptions_table_columns() {
136 136
 
137 137
 		$columns = array(
138
-			'subscription' => __( 'Subscription', 'invoicing' ),
139
-			'amount'       => __( 'Amount', 'invoicing' ),
140
-			'renewal-date' => __( 'Next payment', 'invoicing' ),
141
-			'status'       => __( 'Status', 'invoicing' ),
138
+			'subscription' => __('Subscription', 'invoicing'),
139
+			'amount'       => __('Amount', 'invoicing'),
140
+			'renewal-date' => __('Next payment', 'invoicing'),
141
+			'status'       => __('Status', 'invoicing'),
142 142
 		);
143 143
 
144
-		return apply_filters( 'getpaid_frontend_subscriptions_table_columns', $columns );
144
+		return apply_filters('getpaid_frontend_subscriptions_table_columns', $columns);
145 145
 	}
146 146
 
147 147
 	/**
@@ -156,9 +156,9 @@  discard block
 block discarded – undo
156 156
 
157 157
 				<thead>
158 158
 					<tr>
159
-						<?php foreach ( $this->get_subscriptions_table_columns() as $key => $label ) : ?>
160
-							<th scope="col" class="font-weight-bold getpaid-subscriptions-table-<?php echo esc_attr( $key ); ?>">
161
-								<?php echo esc_html( $label ); ?>
159
+						<?php foreach ($this->get_subscriptions_table_columns() as $key => $label) : ?>
160
+							<th scope="col" class="font-weight-bold getpaid-subscriptions-table-<?php echo esc_attr($key); ?>">
161
+								<?php echo esc_html($label); ?>
162 162
 							</th>
163 163
 						<?php endforeach; ?>
164 164
 					</tr>
@@ -173,12 +173,12 @@  discard block
 block discarded – undo
173 173
 	 *
174 174
 	 * @param WPInv_Subscription[] $subscriptions
175 175
 	 */
176
-	public function print_table_body( $subscriptions ) {
176
+	public function print_table_body($subscriptions) {
177 177
 
178
-		if ( empty( $subscriptions ) ) {
178
+		if (empty($subscriptions)) {
179 179
 			$this->print_table_body_no_subscriptions();
180 180
 		} else {
181
-			$this->print_table_body_subscriptions( $subscriptions );
181
+			$this->print_table_body_subscriptions($subscriptions);
182 182
 		}
183 183
 
184 184
 	}
@@ -193,12 +193,12 @@  discard block
 block discarded – undo
193 193
 		<tbody>
194 194
 
195 195
 			<tr>
196
-				<td colspan="<?php echo count( $this->get_subscriptions_table_columns() ); ?>">
196
+				<td colspan="<?php echo count($this->get_subscriptions_table_columns()); ?>">
197 197
 
198 198
 					<?php
199 199
 						aui()->alert(
200 200
 							array(
201
-								'content' => wp_kses_post( __( 'No subscriptions found.', 'invoicing' ) ),
201
+								'content' => wp_kses_post(__('No subscriptions found.', 'invoicing')),
202 202
 								'type'    => 'warning',
203 203
 							),
204 204
                             true
@@ -217,12 +217,12 @@  discard block
 block discarded – undo
217 217
 	 *
218 218
 	 * @param WPInv_Subscription[] $subscriptions
219 219
 	 */
220
-	public function print_table_body_subscriptions( $subscriptions ) {
220
+	public function print_table_body_subscriptions($subscriptions) {
221 221
 
222 222
 		?>
223 223
 		<tbody>
224 224
 
225
-			<?php foreach ( $subscriptions as $subscription ) : ?>
225
+			<?php foreach ($subscriptions as $subscription) : ?>
226 226
 				<tr class="getpaid-subscriptions-table-row subscription-<?php echo (int) $subscription->get_id(); ?>">
227 227
 					<?php
228 228
 						wpinv_get_template(
@@ -248,28 +248,28 @@  discard block
 block discarded – undo
248 248
 	 * @since       1.0.0
249 249
 	 * @return      string
250 250
 	 */
251
-	public function add_row_actions( $content, $subscription ) {
251
+	public function add_row_actions($content, $subscription) {
252 252
 
253 253
 		// Prepare row actions.
254 254
 		$actions = array();
255 255
 
256 256
 		// View subscription action.
257
-		$view_url        = getpaid_get_tab_url( 'gp-subscriptions', get_permalink( (int) wpinv_get_option( 'invoice_subscription_page' ) ) );
258
-		$view_url        = esc_url( add_query_arg( 'subscription', (int) $subscription->get_id(), $view_url ) );
259
-		$actions['view'] = "<a href='$view_url' class='text-decoration-none'>" . __( 'Manage Subscription', 'invoicing' ) . '</a>';
257
+		$view_url        = getpaid_get_tab_url('gp-subscriptions', get_permalink((int) wpinv_get_option('invoice_subscription_page')));
258
+		$view_url        = esc_url(add_query_arg('subscription', (int) $subscription->get_id(), $view_url));
259
+		$actions['view'] = "<a href='$view_url' class='text-decoration-none'>" . __('Manage Subscription', 'invoicing') . '</a>';
260 260
 
261 261
 		// Filter the actions.
262
-		$actions = apply_filters( 'getpaid_subscriptions_table_subscription_actions', $actions, $subscription );
262
+		$actions = apply_filters('getpaid_subscriptions_table_subscription_actions', $actions, $subscription);
263 263
 
264
-		$sanitized  = array();
265
-		foreach ( $actions as $key => $action ) {
266
-			$key         = sanitize_html_class( $key );
267
-			$action      = wp_kses_post( $action );
264
+		$sanitized = array();
265
+		foreach ($actions as $key => $action) {
266
+			$key         = sanitize_html_class($key);
267
+			$action      = wp_kses_post($action);
268 268
 			$sanitized[] = "<span class='$key'>$action</span>";
269 269
 		}
270 270
 
271 271
 		$row_actions  = "<small class='form-text getpaid-subscription-item-actions'>";
272
-		$row_actions .= implode( ' | ', $sanitized );
272
+		$row_actions .= implode(' | ', $sanitized);
273 273
 		$row_actions .= '</small>';
274 274
 
275 275
 		return $content . $row_actions;
@@ -285,9 +285,9 @@  discard block
 block discarded – undo
285 285
 
286 286
 				<tfoot>
287 287
 					<tr>
288
-						<?php foreach ( $this->get_subscriptions_table_columns() as $key => $label ) : ?>
289
-							<th class="font-weight-bold getpaid-subscriptions-<?php echo esc_attr( $key ); ?>">
290
-								<?php echo esc_html( $label ); ?>
288
+						<?php foreach ($this->get_subscriptions_table_columns() as $key => $label) : ?>
289
+							<th class="font-weight-bold getpaid-subscriptions-<?php echo esc_attr($key); ?>">
290
+								<?php echo esc_html($label); ?>
291 291
 							</th>
292 292
 						<?php endforeach; ?>
293 293
 					</tr>
@@ -303,22 +303,22 @@  discard block
 block discarded – undo
303 303
 	 *
304 304
 	 * @param int $total
305 305
 	 */
306
-	public function print_navigation( $total ) {
306
+	public function print_navigation($total) {
307 307
 
308
-		if ( $total < 1 ) {
308
+		if ($total < 1) {
309 309
 
310 310
 			// Out-of-bounds, run the query again without LIMIT for total count.
311
-			$args  = array(
311
+			$args = array(
312 312
 				'customer_in' => get_current_user_id(),
313 313
 				'fields'      => 'id',
314 314
 			);
315 315
 
316
-			$count_query = new GetPaid_Subscriptions_Query( $args );
316
+			$count_query = new GetPaid_Subscriptions_Query($args);
317 317
 			$total       = $count_query->get_total();
318 318
 		}
319 319
 
320 320
 		// Abort if we do not have pages.
321
-		if ( 2 > $total ) {
321
+		if (2 > $total) {
322 322
 			return;
323 323
 		}
324 324
 
@@ -331,9 +331,9 @@  discard block
 block discarded – undo
331 331
 				echo wp_kses_post(
332 332
 					getpaid_paginate_links(
333 333
 						array(
334
-							'base'   => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
334
+							'base'   => str_replace($big, '%#%', esc_url(get_pagenum_link($big))),
335 335
 							'format' => '?paged=%#%',
336
-							'total'  => (int) ceil( $total / 10 ),
336
+							'total'  => (int) ceil($total / 10),
337 337
 						)
338 338
 					)
339 339
 				);
@@ -350,43 +350,43 @@  discard block
 block discarded – undo
350 350
 	 *
351 351
 	 * @return array
352 352
 	 */
353
-	public function get_single_subscription_columns( $subscription ) {
353
+	public function get_single_subscription_columns($subscription) {
354 354
 
355 355
 		// Prepare subscription detail columns.
356
-		$subscription_group = getpaid_get_invoice_subscription_group( $subscription->get_parent_invoice_id(), $subscription->get_id() );
357
-		$items_count        = empty( $subscription_group ) ? 1 : count( $subscription_group['items'] );
356
+		$subscription_group = getpaid_get_invoice_subscription_group($subscription->get_parent_invoice_id(), $subscription->get_id());
357
+		$items_count        = empty($subscription_group) ? 1 : count($subscription_group['items']);
358 358
 		$fields             = apply_filters(
359 359
 			'getpaid_single_subscription_details_fields',
360 360
 			array(
361
-				'status'           => __( 'Status', 'invoicing' ),
362
-				'initial_amount'   => __( 'Initial amount', 'invoicing' ),
363
-				'recurring_amount' => __( 'Recurring amount', 'invoicing' ),
364
-				'start_date'       => __( 'Start date', 'invoicing' ),
365
-				'expiry_date'      => __( 'Next payment', 'invoicing' ),
366
-				'payments'         => __( 'Payments', 'invoicing' ),
367
-				'item'             => $items_count > 1 ? __( 'Items', $items_count, 'invoicing' ) : __( 'Item', 'invoicing' )
361
+				'status'           => __('Status', 'invoicing'),
362
+				'initial_amount'   => __('Initial amount', 'invoicing'),
363
+				'recurring_amount' => __('Recurring amount', 'invoicing'),
364
+				'start_date'       => __('Start date', 'invoicing'),
365
+				'expiry_date'      => __('Next payment', 'invoicing'),
366
+				'payments'         => __('Payments', 'invoicing'),
367
+				'item'             => $items_count > 1 ? __('Items', $items_count, 'invoicing') : __('Item', 'invoicing')
368 368
 			),
369 369
 			$subscription,
370 370
 			$items_count
371 371
 		);
372 372
 
373
-		if ( isset( $fields['expiry_date'] ) ) {
373
+		if (isset($fields['expiry_date'])) {
374 374
 
375
-			if ( ! $subscription->is_active() || $subscription->is_last_renewal() ) {
376
-				$fields['expiry_date'] = __( 'End date', 'invoicing' );
375
+			if (!$subscription->is_active() || $subscription->is_last_renewal()) {
376
+				$fields['expiry_date'] = __('End date', 'invoicing');
377 377
 			}
378 378
 
379
-			if ( 'pending' === $subscription->get_status() ) {
380
-				unset( $fields['expiry_date'] );
379
+			if ('pending' === $subscription->get_status()) {
380
+				unset($fields['expiry_date']);
381 381
 			}
382 382
 		}
383 383
 
384
-		if ( isset( $fields['start_date'] ) && 'pending' === $subscription->get_status() ) {
385
-			unset( $fields['start_date'] );
384
+		if (isset($fields['start_date']) && 'pending' === $subscription->get_status()) {
385
+			unset($fields['start_date']);
386 386
 		}
387 387
 
388
-		if ( $subscription->get_initial_amount() === $subscription->get_recurring_amount() ) {
389
-			unset( $fields['initial_amount'] );
388
+		if ($subscription->get_initial_amount() === $subscription->get_recurring_amount()) {
389
+			unset($fields['initial_amount']);
390 390
 		}
391 391
 
392 392
 		return $fields;
@@ -399,16 +399,16 @@  discard block
 block discarded – undo
399 399
 	 *
400 400
 	 * @return string
401 401
 	 */
402
-	public function display_single_subscription( $subscription ) {
402
+	public function display_single_subscription($subscription) {
403 403
 
404 404
 		// Fetch the subscription.
405
-		$subscription = new WPInv_Subscription( (int) $subscription );
405
+		$subscription = new WPInv_Subscription((int) $subscription);
406 406
 
407
-		if ( ! $subscription->exists() ) {
407
+		if (!$subscription->exists()) {
408 408
 
409 409
 			return aui()->alert(
410 410
 				array(
411
-					'content' => wp_kses_post( __( 'Subscription not found.', 'invoicing' ) ),
411
+					'content' => wp_kses_post(__('Subscription not found.', 'invoicing')),
412 412
 					'type'    => 'error',
413 413
 				)
414 414
 			);
@@ -416,11 +416,11 @@  discard block
 block discarded – undo
416 416
 		}
417 417
 
418 418
 		// Ensure that the user owns this subscription key.
419
-		if ( get_current_user_id() != $subscription->get_customer_id() && ! wpinv_current_user_can_manage_invoicing() ) {
419
+		if (get_current_user_id() != $subscription->get_customer_id() && !wpinv_current_user_can_manage_invoicing()) {
420 420
 
421 421
 			return aui()->alert(
422 422
 				array(
423
-					'content' => wp_kses_post( __( 'You do not have permission to view this subscription. Ensure that you are logged in to the account that owns the subscription.', 'invoicing' ) ),
423
+					'content' => wp_kses_post(__('You do not have permission to view this subscription. Ensure that you are logged in to the account that owns the subscription.', 'invoicing')),
424 424
 					'type'    => 'error',
425 425
 				)
426 426
 			);
Please login to merge, or discard this patch.
templates/payment-forms/elements/file_upload.php 3 patches
Indentation   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -21,20 +21,20 @@
 block discarded – undo
21 21
 
22 22
 foreach ( $file_types as $file_type ) {
23 23
 
24
-	if ( isset( $all_types[ $file_type ] ) ) {
25
-		$types[]   = $all_types[ $file_type ];
26
-		$file_type = explode( '|', $file_type );
24
+    if ( isset( $all_types[ $file_type ] ) ) {
25
+        $types[]   = $all_types[ $file_type ];
26
+        $file_type = explode( '|', $file_type );
27 27
 
28
-		foreach ( $file_type as $type ) {
29
-			$type     = trim( $type );
30
-			$types[]  = ".$type";
31
-			$_types[] = $type;
32
-		}
28
+        foreach ( $file_type as $type ) {
29
+            $type     = trim( $type );
30
+            $types[]  = ".$type";
31
+            $_types[] = $type;
32
+        }
33 33
 }
34 34
 }
35 35
 
36 36
 if ( ! empty( $required ) ) {
37
-	$label .= "<span class='text-danger'> *</span>";
37
+    $label .= "<span class='text-danger'> *</span>";
38 38
 }
39 39
 ?>
40 40
 <label><span v-html="form_element.label"></span></label>
Please login to merge, or discard this patch.
Switch Indentation   +25 added lines, -25 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 file_upload input in a payment form
4 4
  *
@@ -7,36 +7,36 @@  discard block
 block discarded – undo
7 7
  * @version 2.8.9
8 8
  */
9 9
 
10
-defined( 'ABSPATH' ) || exit;
10
+    defined( 'ABSPATH' ) || exit;
11 11
 
12
-$label        = empty( $label ) ? '' : wp_kses_post( $label );
13
-$label_class  = sanitize_key( preg_replace( '/[^A-Za-z0-9_-]/', '-', $label ) );
14
-$id           = esc_attr( $id );
15
-$_id          = $id . uniqid( '_' );
16
-$max_file_num = empty( $max_file_num ) ? 1 : absint( $max_file_num );
17
-$file_types   = empty( $file_types ) ? array( 'jpg|jpeg|jpe', 'gif', 'png' ) : $file_types;
18
-$all_types    = getpaid_get_allowed_mime_types();
19
-$types        = array();
20
-$_types       = array();
12
+    $label        = empty( $label ) ? '' : wp_kses_post( $label );
13
+    $label_class  = sanitize_key( preg_replace( '/[^A-Za-z0-9_-]/', '-', $label ) );
14
+    $id           = esc_attr( $id );
15
+    $_id          = $id . uniqid( '_' );
16
+    $max_file_num = empty( $max_file_num ) ? 1 : absint( $max_file_num );
17
+    $file_types   = empty( $file_types ) ? array( 'jpg|jpeg|jpe', 'gif', 'png' ) : $file_types;
18
+    $all_types    = getpaid_get_allowed_mime_types();
19
+    $types        = array();
20
+    $_types       = array();
21 21
 
22
-foreach ( $file_types as $file_type ) {
22
+    foreach ( $file_types as $file_type ) {
23 23
 
24
-	if ( isset( $all_types[ $file_type ] ) ) {
25
-		$types[]   = $all_types[ $file_type ];
26
-		$file_type = explode( '|', $file_type );
24
+	    if ( isset( $all_types[ $file_type ] ) ) {
25
+		    $types[]   = $all_types[ $file_type ];
26
+		    $file_type = explode( '|', $file_type );
27 27
 
28
-		foreach ( $file_type as $type ) {
29
-			$type     = trim( $type );
30
-			$types[]  = ".$type";
31
-			$_types[] = $type;
32
-		}
28
+		    foreach ( $file_type as $type ) {
29
+			    $type     = trim( $type );
30
+			    $types[]  = ".$type";
31
+			    $_types[] = $type;
32
+		    }
33 33
 }
34 34
 }
35 35
 
36
-if ( ! empty( $required ) ) {
37
-	$label .= "<span class='text-danger'> *</span>";
36
+    if ( ! empty( $required ) ) {
37
+	    $label .= "<span class='text-danger'> *</span>";
38 38
 }
39
-?>
39
+    ?>
40 40
 <label><span v-html="form_element.label"></span></label>
41 41
 <div class="form-group mb-3 <?php echo esc_attr( $label_class ); ?>" data-name="<?php echo esc_attr( $id ); ?>" data-max="<?php echo esc_attr( $max_file_num ); ?>">
42 42
 	<label for="<?php echo esc_attr( $id ); ?>"><?php echo wp_kses_post( $label ); ?></label>
@@ -44,9 +44,9 @@  discard block
 block discarded – undo
44 44
 	<label for="<?php echo esc_attr( $id ); ?>" class="getpaid-file-upload-element d-flex w-100 flex-column align-items-center justify-content-center p-2 mb-2">
45 45
 		<div class="h5 text-dark">
46 46
 			<?php echo esc_html( ( $max_file_num > 1 ? __( 'Drag files to this area or click to upload', 'invoicing' ) : __( 'Drag your file to this area or click to upload', 'invoicing' ) ) ); ?>
47
-		</div>
47
+    		</div>
48 48
 		<?php if ( ! empty( $description ) ) : ?>
49
-			<small class="form-text text-muted"><?php echo wp_kses_post( $description ); ?></small>
49
+    			<small class="form-text text-muted"><?php echo wp_kses_post( $description ); ?></small>
50 50
 		<?php endif; ?>
51 51
 	</label>
52 52
 	<div class="getpaid-uploaded-files"></div>
Please login to merge, or discard this patch.
Spacing   +22 added lines, -22 removed lines patch added patch discarded remove patch
@@ -7,52 +7,52 @@
 block discarded – undo
7 7
  * @version 2.8.9
8 8
  */
9 9
 
10
-defined( 'ABSPATH' ) || exit;
10
+defined('ABSPATH') || exit;
11 11
 
12
-$label        = empty( $label ) ? '' : wp_kses_post( $label );
13
-$label_class  = sanitize_key( preg_replace( '/[^A-Za-z0-9_-]/', '-', $label ) );
14
-$id           = esc_attr( $id );
15
-$_id          = $id . uniqid( '_' );
16
-$max_file_num = empty( $max_file_num ) ? 1 : absint( $max_file_num );
17
-$file_types   = empty( $file_types ) ? array( 'jpg|jpeg|jpe', 'gif', 'png' ) : $file_types;
12
+$label        = empty($label) ? '' : wp_kses_post($label);
13
+$label_class  = sanitize_key(preg_replace('/[^A-Za-z0-9_-]/', '-', $label));
14
+$id           = esc_attr($id);
15
+$_id          = $id . uniqid('_');
16
+$max_file_num = empty($max_file_num) ? 1 : absint($max_file_num);
17
+$file_types   = empty($file_types) ? array('jpg|jpeg|jpe', 'gif', 'png') : $file_types;
18 18
 $all_types    = getpaid_get_allowed_mime_types();
19 19
 $types        = array();
20 20
 $_types       = array();
21 21
 
22
-foreach ( $file_types as $file_type ) {
22
+foreach ($file_types as $file_type) {
23 23
 
24
-	if ( isset( $all_types[ $file_type ] ) ) {
25
-		$types[]   = $all_types[ $file_type ];
26
-		$file_type = explode( '|', $file_type );
24
+	if (isset($all_types[$file_type])) {
25
+		$types[]   = $all_types[$file_type];
26
+		$file_type = explode('|', $file_type);
27 27
 
28
-		foreach ( $file_type as $type ) {
29
-			$type     = trim( $type );
28
+		foreach ($file_type as $type) {
29
+			$type     = trim($type);
30 30
 			$types[]  = ".$type";
31 31
 			$_types[] = $type;
32 32
 		}
33 33
 }
34 34
 }
35 35
 
36
-if ( ! empty( $required ) ) {
36
+if (!empty($required)) {
37 37
 	$label .= "<span class='text-danger'> *</span>";
38 38
 }
39 39
 ?>
40 40
 <label><span v-html="form_element.label"></span></label>
41
-<div class="form-group mb-3 <?php echo esc_attr( $label_class ); ?>" data-name="<?php echo esc_attr( $id ); ?>" data-max="<?php echo esc_attr( $max_file_num ); ?>">
42
-	<label for="<?php echo esc_attr( $id ); ?>"><?php echo wp_kses_post( $label ); ?></label>
43
-	<input type="file" class="sr-only getpaid-files-input" id="<?php echo esc_attr( $id ); ?>" accept="<?php echo esc_attr( implode( ', ', $types ) ); ?>" data-extensions="<?php echo esc_attr( wp_json_encode( $_types ) ); ?>" <?php echo $max_file_num == 1 ? '' : 'multiple="multiple"'; ?>>
44
-	<label for="<?php echo esc_attr( $id ); ?>" class="getpaid-file-upload-element d-flex w-100 flex-column align-items-center justify-content-center p-2 mb-2">
41
+<div class="form-group mb-3 <?php echo esc_attr($label_class); ?>" data-name="<?php echo esc_attr($id); ?>" data-max="<?php echo esc_attr($max_file_num); ?>">
42
+	<label for="<?php echo esc_attr($id); ?>"><?php echo wp_kses_post($label); ?></label>
43
+	<input type="file" class="sr-only getpaid-files-input" id="<?php echo esc_attr($id); ?>" accept="<?php echo esc_attr(implode(', ', $types)); ?>" data-extensions="<?php echo esc_attr(wp_json_encode($_types)); ?>" <?php echo $max_file_num == 1 ? '' : 'multiple="multiple"'; ?>>
44
+	<label for="<?php echo esc_attr($id); ?>" class="getpaid-file-upload-element d-flex w-100 flex-column align-items-center justify-content-center p-2 mb-2">
45 45
 		<div class="h5 text-dark">
46
-			<?php echo esc_html( ( $max_file_num > 1 ? __( 'Drag files to this area or click to upload', 'invoicing' ) : __( 'Drag your file to this area or click to upload', 'invoicing' ) ) ); ?>
46
+			<?php echo esc_html(($max_file_num > 1 ? __('Drag files to this area or click to upload', 'invoicing') : __('Drag your file to this area or click to upload', 'invoicing'))); ?>
47 47
 		</div>
48
-		<?php if ( ! empty( $description ) ) : ?>
49
-			<small class="form-text text-muted"><?php echo wp_kses_post( $description ); ?></small>
48
+		<?php if (!empty($description)) : ?>
49
+			<small class="form-text text-muted"><?php echo wp_kses_post($description); ?></small>
50 50
 		<?php endif; ?>
51 51
 	</label>
52 52
 	<div class="getpaid-uploaded-files"></div>
53 53
 	<div class="form-row row mb-3 d-none getpaid-progress-template">
54 54
 		<div class="overflow-hidden text-nowrap col-7 col-sm-4">
55
-			<a href="" class="close float-none" title="<?php esc_attr_e( 'Remove File', 'invoicing' ); ?>">&times;<span class="sr-only"><?php esc_html_e( 'Close', 'invoicing' ); ?></span></a>&nbsp;
55
+			<a href="" class="close float-none" title="<?php esc_attr_e('Remove File', 'invoicing'); ?>">&times;<span class="sr-only"><?php esc_html_e('Close', 'invoicing'); ?></span></a>&nbsp;
56 56
 			<i class="fa fa-file" aria-hidden="true"></i>&nbsp; <span class="getpaid-progress-file-name"></span>&nbsp;
57 57
 		</div>
58 58
 		<div class="col-5 col-sm-8 getpaid-progress">
Please login to merge, or discard this patch.
vendor/ayecode/wp-super-duper/sd-functions.php 3 patches
Braces   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -3723,7 +3723,7 @@
 block discarded – undo
3723 3723
 
3724 3724
 			$block_content = do_shortcode($block_content);
3725 3725
 
3726
-		}elseif(! empty($parsed_block['attrs']['sd_shortcode'])){
3726
+		} elseif(! empty($parsed_block['attrs']['sd_shortcode'])){
3727 3727
 			$has_warp = false;
3728 3728
 			if($block_content && strpos(trim($block_content), '<div class="wp-block-') === 0 ){
3729 3729
 				$parts = explode('></', $block_content);
Please login to merge, or discard this patch.
Indentation   +2790 added lines, -2790 removed lines patch added patch discarded remove patch
@@ -11,21 +11,21 @@  discard block
 block discarded – undo
11 11
  * @return mixed|void
12 12
  */
13 13
 function sd_pagenow_exclude() {
14
-	return apply_filters(
15
-		'sd_pagenow_exclude',
16
-		array(
17
-			'upload.php',
18
-			'edit-comments.php',
19
-			'edit-tags.php',
20
-			'index.php',
21
-			'media-new.php',
22
-			'options-discussion.php',
23
-			'options-writing.php',
24
-			'edit.php',
25
-			'themes.php',
26
-			'users.php',
27
-		)
28
-	);
14
+    return apply_filters(
15
+        'sd_pagenow_exclude',
16
+        array(
17
+            'upload.php',
18
+            'edit-comments.php',
19
+            'edit-tags.php',
20
+            'index.php',
21
+            'media-new.php',
22
+            'options-discussion.php',
23
+            'options-writing.php',
24
+            'edit.php',
25
+            'themes.php',
26
+            'users.php',
27
+        )
28
+    );
29 29
 }
30 30
 
31 31
 
@@ -37,7 +37,7 @@  discard block
 block discarded – undo
37 37
  * @return mixed|void
38 38
  */
39 39
 function sd_widget_exclude() {
40
-	return apply_filters( 'sd_widget_exclude', array() );
40
+    return apply_filters( 'sd_widget_exclude', array() );
41 41
 }
42 42
 
43 43
 
@@ -50,83 +50,83 @@  discard block
 block discarded – undo
50 50
  * @return array
51 51
  */
52 52
 function sd_get_margin_input( $type = 'mt', $overwrite = array(), $include_negatives = true ) {
53
-	global $aui_bs5;
54
-	$options = array(
55
-		''     => __( 'None', 'ayecode-connect' ),
56
-		'auto' => __( 'auto', 'ayecode-connect' ),
57
-		'0'    => '0',
58
-		'1'    => '1',
59
-		'2'    => '2',
60
-		'3'    => '3',
61
-		'4'    => '4',
62
-		'5'    => '5',
63
-		'6'    => '6',
64
-		'7'    => '7',
65
-		'8'    => '8',
66
-		'9'    => '9',
67
-		'10'   => '10',
68
-		'11'   => '11',
69
-		'12'   => '12',
70
-	);
71
-
72
-	if ( $include_negatives ) {
73
-		$options['n1']  = '-1';
74
-		$options['n2']  = '-2';
75
-		$options['n3']  = '-3';
76
-		$options['n4']  = '-4';
77
-		$options['n5']  = '-5';
78
-		$options['n6']  = '-6';
79
-		$options['n7']  = '-7';
80
-		$options['n8']  = '-8';
81
-		$options['n9']  = '-9';
82
-		$options['n10'] = '-10';
83
-		$options['n11'] = '-11';
84
-		$options['n12'] = '-12';
85
-	}
86
-
87
-	$defaults = array(
88
-		'type'     => 'select',
89
-		'title'    => __( 'Margin top', 'ayecode-connect' ),
90
-		'options'  => $options,
91
-		'default'  => '',
92
-		'desc_tip' => true,
93
-		'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
94
-	);
95
-
96
-	// title
97
-	if ( $type == 'mt' ) {
98
-		$defaults['title'] = __( 'Margin top', 'ayecode-connect' );
99
-		$defaults['icon']  = 'box-top';
100
-		$defaults['row']   = array(
101
-			'title' => __( 'Margins', 'ayecode-connect' ),
102
-			'key'   => 'wrapper-margins',
103
-			'open'  => true,
104
-			'class' => 'text-center',
105
-		);
106
-	} elseif ( $type == 'mr' ) {
107
-		$defaults['title'] = __( 'Margin right', 'ayecode-connect' );
108
-		$defaults['icon']  = 'box-right';
109
-		$defaults['row']   = array(
110
-			'key' => 'wrapper-margins',
111
-		);
112
-	} elseif ( $type == 'mb' ) {
113
-		$defaults['title'] = __( 'Margin bottom', 'ayecode-connect' );
114
-		$defaults['icon']  = 'box-bottom';
115
-		$defaults['row']   = array(
116
-			'key' => 'wrapper-margins',
117
-		);
118
-	} elseif ( $type == 'ml' ) {
119
-		$defaults['title'] = __( 'Margin left', 'ayecode-connect' );
120
-		$defaults['icon']  = 'box-left';
121
-		$defaults['row']   = array(
122
-			'key'   => 'wrapper-margins',
123
-			'close' => true,
124
-		);
125
-	}
126
-
127
-	$input = wp_parse_args( $overwrite, $defaults );
128
-
129
-	return $input;
53
+    global $aui_bs5;
54
+    $options = array(
55
+        ''     => __( 'None', 'ayecode-connect' ),
56
+        'auto' => __( 'auto', 'ayecode-connect' ),
57
+        '0'    => '0',
58
+        '1'    => '1',
59
+        '2'    => '2',
60
+        '3'    => '3',
61
+        '4'    => '4',
62
+        '5'    => '5',
63
+        '6'    => '6',
64
+        '7'    => '7',
65
+        '8'    => '8',
66
+        '9'    => '9',
67
+        '10'   => '10',
68
+        '11'   => '11',
69
+        '12'   => '12',
70
+    );
71
+
72
+    if ( $include_negatives ) {
73
+        $options['n1']  = '-1';
74
+        $options['n2']  = '-2';
75
+        $options['n3']  = '-3';
76
+        $options['n4']  = '-4';
77
+        $options['n5']  = '-5';
78
+        $options['n6']  = '-6';
79
+        $options['n7']  = '-7';
80
+        $options['n8']  = '-8';
81
+        $options['n9']  = '-9';
82
+        $options['n10'] = '-10';
83
+        $options['n11'] = '-11';
84
+        $options['n12'] = '-12';
85
+    }
86
+
87
+    $defaults = array(
88
+        'type'     => 'select',
89
+        'title'    => __( 'Margin top', 'ayecode-connect' ),
90
+        'options'  => $options,
91
+        'default'  => '',
92
+        'desc_tip' => true,
93
+        'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
94
+    );
95
+
96
+    // title
97
+    if ( $type == 'mt' ) {
98
+        $defaults['title'] = __( 'Margin top', 'ayecode-connect' );
99
+        $defaults['icon']  = 'box-top';
100
+        $defaults['row']   = array(
101
+            'title' => __( 'Margins', 'ayecode-connect' ),
102
+            'key'   => 'wrapper-margins',
103
+            'open'  => true,
104
+            'class' => 'text-center',
105
+        );
106
+    } elseif ( $type == 'mr' ) {
107
+        $defaults['title'] = __( 'Margin right', 'ayecode-connect' );
108
+        $defaults['icon']  = 'box-right';
109
+        $defaults['row']   = array(
110
+            'key' => 'wrapper-margins',
111
+        );
112
+    } elseif ( $type == 'mb' ) {
113
+        $defaults['title'] = __( 'Margin bottom', 'ayecode-connect' );
114
+        $defaults['icon']  = 'box-bottom';
115
+        $defaults['row']   = array(
116
+            'key' => 'wrapper-margins',
117
+        );
118
+    } elseif ( $type == 'ml' ) {
119
+        $defaults['title'] = __( 'Margin left', 'ayecode-connect' );
120
+        $defaults['icon']  = 'box-left';
121
+        $defaults['row']   = array(
122
+            'key'   => 'wrapper-margins',
123
+            'close' => true,
124
+        );
125
+    }
126
+
127
+    $input = wp_parse_args( $overwrite, $defaults );
128
+
129
+    return $input;
130 130
 }
131 131
 
132 132
 /**
@@ -138,67 +138,67 @@  discard block
 block discarded – undo
138 138
  * @return array
139 139
  */
140 140
 function sd_get_padding_input( $type = 'pt', $overwrite = array() ) {
141
-	$options = array(
142
-		''   => __( 'None', 'ayecode-connect' ),
143
-		'0'  => '0',
144
-		'1'  => '1',
145
-		'2'  => '2',
146
-		'3'  => '3',
147
-		'4'  => '4',
148
-		'5'  => '5',
149
-		'6'  => '6',
150
-		'7'  => '7',
151
-		'8'  => '8',
152
-		'9'  => '9',
153
-		'10' => '10',
154
-		'11' => '11',
155
-		'12' => '12',
156
-	);
157
-
158
-	$defaults = array(
159
-		'type'     => 'select',
160
-		'title'    => __( 'Padding top', 'ayecode-connect' ),
161
-		'options'  => $options,
162
-		'default'  => '',
163
-		'desc_tip' => true,
164
-		'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
165
-	);
166
-
167
-	// title
168
-	if ( $type == 'pt' ) {
169
-		$defaults['title'] = __( 'Padding top', 'ayecode-connect' );
170
-		$defaults['icon']  = 'box-top';
171
-		$defaults['row']   = array(
172
-			'title' => __( 'Padding', 'ayecode-connect' ),
173
-			'key'   => 'wrapper-padding',
174
-			'open'  => true,
175
-			'class' => 'text-center',
176
-		);
177
-	} elseif ( $type == 'pr' ) {
178
-		$defaults['title'] = __( 'Padding right', 'ayecode-connect' );
179
-		$defaults['icon']  = 'box-right';
180
-		$defaults['row']   = array(
181
-			'key' => 'wrapper-padding',
182
-		);
183
-	} elseif ( $type == 'pb' ) {
184
-		$defaults['title'] = __( 'Padding bottom', 'ayecode-connect' );
185
-		$defaults['icon']  = 'box-bottom';
186
-		$defaults['row']   = array(
187
-			'key' => 'wrapper-padding',
188
-		);
189
-	} elseif ( $type == 'pl' ) {
190
-		$defaults['title'] = __( 'Padding left', 'ayecode-connect' );
191
-		$defaults['icon']  = 'box-left';
192
-		$defaults['row']   = array(
193
-			'key'   => 'wrapper-padding',
194
-			'close' => true,
195
-
196
-		);
197
-	}
198
-
199
-	$input = wp_parse_args( $overwrite, $defaults );
200
-
201
-	return $input;
141
+    $options = array(
142
+        ''   => __( 'None', 'ayecode-connect' ),
143
+        '0'  => '0',
144
+        '1'  => '1',
145
+        '2'  => '2',
146
+        '3'  => '3',
147
+        '4'  => '4',
148
+        '5'  => '5',
149
+        '6'  => '6',
150
+        '7'  => '7',
151
+        '8'  => '8',
152
+        '9'  => '9',
153
+        '10' => '10',
154
+        '11' => '11',
155
+        '12' => '12',
156
+    );
157
+
158
+    $defaults = array(
159
+        'type'     => 'select',
160
+        'title'    => __( 'Padding top', 'ayecode-connect' ),
161
+        'options'  => $options,
162
+        'default'  => '',
163
+        'desc_tip' => true,
164
+        'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
165
+    );
166
+
167
+    // title
168
+    if ( $type == 'pt' ) {
169
+        $defaults['title'] = __( 'Padding top', 'ayecode-connect' );
170
+        $defaults['icon']  = 'box-top';
171
+        $defaults['row']   = array(
172
+            'title' => __( 'Padding', 'ayecode-connect' ),
173
+            'key'   => 'wrapper-padding',
174
+            'open'  => true,
175
+            'class' => 'text-center',
176
+        );
177
+    } elseif ( $type == 'pr' ) {
178
+        $defaults['title'] = __( 'Padding right', 'ayecode-connect' );
179
+        $defaults['icon']  = 'box-right';
180
+        $defaults['row']   = array(
181
+            'key' => 'wrapper-padding',
182
+        );
183
+    } elseif ( $type == 'pb' ) {
184
+        $defaults['title'] = __( 'Padding bottom', 'ayecode-connect' );
185
+        $defaults['icon']  = 'box-bottom';
186
+        $defaults['row']   = array(
187
+            'key' => 'wrapper-padding',
188
+        );
189
+    } elseif ( $type == 'pl' ) {
190
+        $defaults['title'] = __( 'Padding left', 'ayecode-connect' );
191
+        $defaults['icon']  = 'box-left';
192
+        $defaults['row']   = array(
193
+            'key'   => 'wrapper-padding',
194
+            'close' => true,
195
+
196
+        );
197
+    }
198
+
199
+    $input = wp_parse_args( $overwrite, $defaults );
200
+
201
+    return $input;
202 202
 }
203 203
 
204 204
 /**
@@ -210,96 +210,96 @@  discard block
 block discarded – undo
210 210
  * @return array
211 211
  */
212 212
 function sd_get_border_input( $type = 'border', $overwrite = array() ) {
213
-	global $aui_bs5;
214
-
215
-	$defaults = array(
216
-		'type'     => 'select',
217
-		'title'    => __( 'Border', 'ayecode-connect' ),
218
-		'options'  => array(),
219
-		'default'  => '',
220
-		'desc_tip' => true,
221
-		'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
222
-	);
223
-
224
-	// title
225
-	if ( 'rounded' === $type ) {
226
-		$defaults['title']           = __( 'Border radius type', 'ayecode-connect' );
227
-		$defaults['options']         = array(
228
-			''               => __( 'Default', 'ayecode-connect' ),
229
-			'rounded'        => 'rounded',
230
-			'rounded-top'    => 'rounded-top',
231
-			'rounded-right'  => 'rounded-right',
232
-			'rounded-bottom' => 'rounded-bottom',
233
-			'rounded-left'   => 'rounded-left',
234
-		);
235
-		$defaults['element_require'] = '([%border%]&&[%border%]!="0")';
236
-	} elseif ( 'rounded_size' === $type ) {
237
-		$defaults['title'] = __( 'Border radius size', 'ayecode-connect' );
238
-
239
-		if ( $aui_bs5 ) {
240
-			$defaults['options'] = array(
241
-				''       => __( 'Default', 'ayecode-connect' ),
242
-				'0'      => '0',
243
-				'1'      => '1',
244
-				'2'      => '2',
245
-				'3'      => '3',
246
-				'4'      => '4',
247
-				'circle' => 'circle',
248
-				'pill'   => 'pill',
249
-			);
250
-		} else {
251
-			$defaults['options'] = array(
252
-				''   => __( 'Default', 'ayecode-connect' ),
253
-				'sm' => __( 'Small', 'ayecode-connect' ),
254
-				'lg' => __( 'Large', 'ayecode-connect' ),
255
-			);
256
-		}
257
-		$defaults['element_require'] = '([%border%]&&[%border%]!="0")';
258
-	} elseif ( 'width' === $type ) { // BS%
259
-		$defaults['title']           = __( 'Border width', 'ayecode-connect' );
260
-		$defaults['options']         = array(
261
-			''         => __( 'Default', 'ayecode-connect' ),
262
-			'border-2' => '2',
263
-			'border-3' => '3',
264
-			'border-4' => '4',
265
-			'border-5' => '5',
266
-		);
267
-		$defaults['element_require'] = $aui_bs5 ? '([%border%]&&[%border%]!="0")' : '1==2';
268
-	} elseif ( 'opacity' === $type ) { // BS%
269
-		$defaults['title']           = __( 'Border opacity', 'ayecode-connect' );
270
-		$defaults['options']         = array(
271
-			''                  => __( 'Default', 'ayecode-connect' ),
272
-			'border-opacity-75' => '75%',
273
-			'border-opacity-50' => '50%',
274
-			'border-opacity-25' => '25%',
275
-			'border-opacity-10' => '10%',
276
-		);
277
-		$defaults['element_require'] = $aui_bs5 ? '([%border%]&&[%border%]!="0")' : '1==2';
278
-	} elseif ( 'type' === $type ) {
279
-		$defaults['title']           = __( 'Border show', 'ayecode-connect' );
280
-		$defaults['options']         = array(
281
-			'border'          => __( 'Full (set color to show)', 'ayecode-connect' ),
282
-			'border-top'      => __( 'Top', 'ayecode-connect' ),
283
-			'border-bottom'   => __( 'Bottom', 'ayecode-connect' ),
284
-			'border-left'     => __( 'Left', 'ayecode-connect' ),
285
-			'border-right'    => __( 'Right', 'ayecode-connect' ),
286
-			'border-top-0'    => __( '-Top', 'ayecode-connect' ),
287
-			'border-bottom-0' => __( '-Bottom', 'ayecode-connect' ),
288
-			'border-left-0'   => __( '-Left', 'ayecode-connect' ),
289
-			'border-right-0'  => __( '-Right', 'ayecode-connect' ),
290
-		);
291
-		$defaults['element_require'] = '([%border%]&&[%border%]!="0")';
292
-	} else {
293
-		$defaults['title']   = __( 'Border color', 'ayecode-connect' );
294
-		$defaults['options'] = array(
295
-			''  => __( 'Default', 'ayecode-connect' ),
296
-			'0' => __( 'None', 'ayecode-connect' )
297
-		) + sd_aui_colors( false, false, false, false, true );
298
-	}
299
-
300
-	$input = wp_parse_args( $overwrite, $defaults );
301
-
302
-	return $input;
213
+    global $aui_bs5;
214
+
215
+    $defaults = array(
216
+        'type'     => 'select',
217
+        'title'    => __( 'Border', 'ayecode-connect' ),
218
+        'options'  => array(),
219
+        'default'  => '',
220
+        'desc_tip' => true,
221
+        'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
222
+    );
223
+
224
+    // title
225
+    if ( 'rounded' === $type ) {
226
+        $defaults['title']           = __( 'Border radius type', 'ayecode-connect' );
227
+        $defaults['options']         = array(
228
+            ''               => __( 'Default', 'ayecode-connect' ),
229
+            'rounded'        => 'rounded',
230
+            'rounded-top'    => 'rounded-top',
231
+            'rounded-right'  => 'rounded-right',
232
+            'rounded-bottom' => 'rounded-bottom',
233
+            'rounded-left'   => 'rounded-left',
234
+        );
235
+        $defaults['element_require'] = '([%border%]&&[%border%]!="0")';
236
+    } elseif ( 'rounded_size' === $type ) {
237
+        $defaults['title'] = __( 'Border radius size', 'ayecode-connect' );
238
+
239
+        if ( $aui_bs5 ) {
240
+            $defaults['options'] = array(
241
+                ''       => __( 'Default', 'ayecode-connect' ),
242
+                '0'      => '0',
243
+                '1'      => '1',
244
+                '2'      => '2',
245
+                '3'      => '3',
246
+                '4'      => '4',
247
+                'circle' => 'circle',
248
+                'pill'   => 'pill',
249
+            );
250
+        } else {
251
+            $defaults['options'] = array(
252
+                ''   => __( 'Default', 'ayecode-connect' ),
253
+                'sm' => __( 'Small', 'ayecode-connect' ),
254
+                'lg' => __( 'Large', 'ayecode-connect' ),
255
+            );
256
+        }
257
+        $defaults['element_require'] = '([%border%]&&[%border%]!="0")';
258
+    } elseif ( 'width' === $type ) { // BS%
259
+        $defaults['title']           = __( 'Border width', 'ayecode-connect' );
260
+        $defaults['options']         = array(
261
+            ''         => __( 'Default', 'ayecode-connect' ),
262
+            'border-2' => '2',
263
+            'border-3' => '3',
264
+            'border-4' => '4',
265
+            'border-5' => '5',
266
+        );
267
+        $defaults['element_require'] = $aui_bs5 ? '([%border%]&&[%border%]!="0")' : '1==2';
268
+    } elseif ( 'opacity' === $type ) { // BS%
269
+        $defaults['title']           = __( 'Border opacity', 'ayecode-connect' );
270
+        $defaults['options']         = array(
271
+            ''                  => __( 'Default', 'ayecode-connect' ),
272
+            'border-opacity-75' => '75%',
273
+            'border-opacity-50' => '50%',
274
+            'border-opacity-25' => '25%',
275
+            'border-opacity-10' => '10%',
276
+        );
277
+        $defaults['element_require'] = $aui_bs5 ? '([%border%]&&[%border%]!="0")' : '1==2';
278
+    } elseif ( 'type' === $type ) {
279
+        $defaults['title']           = __( 'Border show', 'ayecode-connect' );
280
+        $defaults['options']         = array(
281
+            'border'          => __( 'Full (set color to show)', 'ayecode-connect' ),
282
+            'border-top'      => __( 'Top', 'ayecode-connect' ),
283
+            'border-bottom'   => __( 'Bottom', 'ayecode-connect' ),
284
+            'border-left'     => __( 'Left', 'ayecode-connect' ),
285
+            'border-right'    => __( 'Right', 'ayecode-connect' ),
286
+            'border-top-0'    => __( '-Top', 'ayecode-connect' ),
287
+            'border-bottom-0' => __( '-Bottom', 'ayecode-connect' ),
288
+            'border-left-0'   => __( '-Left', 'ayecode-connect' ),
289
+            'border-right-0'  => __( '-Right', 'ayecode-connect' ),
290
+        );
291
+        $defaults['element_require'] = '([%border%]&&[%border%]!="0")';
292
+    } else {
293
+        $defaults['title']   = __( 'Border color', 'ayecode-connect' );
294
+        $defaults['options'] = array(
295
+            ''  => __( 'Default', 'ayecode-connect' ),
296
+            '0' => __( 'None', 'ayecode-connect' )
297
+        ) + sd_aui_colors( false, false, false, false, true );
298
+    }
299
+
300
+    $input = wp_parse_args( $overwrite, $defaults );
301
+
302
+    return $input;
303 303
 }
304 304
 
305 305
 /**
@@ -311,25 +311,25 @@  discard block
 block discarded – undo
311 311
  * @return array
312 312
  */
313 313
 function sd_get_shadow_input( $type = 'shadow', $overwrite = array() ) {
314
-	$options = array(
315
-		''          => __( 'None', 'ayecode-connect' ),
316
-		'shadow-sm' => __( 'Small', 'ayecode-connect' ),
317
-		'shadow'    => __( 'Regular', 'ayecode-connect' ),
318
-		'shadow-lg' => __( 'Large', 'ayecode-connect' ),
319
-	);
314
+    $options = array(
315
+        ''          => __( 'None', 'ayecode-connect' ),
316
+        'shadow-sm' => __( 'Small', 'ayecode-connect' ),
317
+        'shadow'    => __( 'Regular', 'ayecode-connect' ),
318
+        'shadow-lg' => __( 'Large', 'ayecode-connect' ),
319
+    );
320 320
 
321
-	$defaults = array(
322
-		'type'     => 'select',
323
-		'title'    => __( 'Shadow', 'ayecode-connect' ),
324
-		'options'  => $options,
325
-		'default'  => '',
326
-		'desc_tip' => true,
327
-		'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
328
-	);
321
+    $defaults = array(
322
+        'type'     => 'select',
323
+        'title'    => __( 'Shadow', 'ayecode-connect' ),
324
+        'options'  => $options,
325
+        'default'  => '',
326
+        'desc_tip' => true,
327
+        'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
328
+    );
329 329
 
330
-	$input = wp_parse_args( $overwrite, $defaults );
330
+    $input = wp_parse_args( $overwrite, $defaults );
331 331
 
332
-	return $input;
332
+    return $input;
333 333
 }
334 334
 
335 335
 /**
@@ -341,23 +341,23 @@  discard block
 block discarded – undo
341 341
  * @return array
342 342
  */
343 343
 function sd_get_background_input( $type = 'bg', $overwrite = array() ) {
344
-	$options = array(
345
-		           ''            => __( 'None', 'ayecode-connect' ),
346
-		           'transparent' => __( 'Transparent', 'ayecode-connect' ),
347
-	           ) + sd_aui_colors(false,false,false,false,true);
344
+    $options = array(
345
+                    ''            => __( 'None', 'ayecode-connect' ),
346
+                    'transparent' => __( 'Transparent', 'ayecode-connect' ),
347
+                ) + sd_aui_colors(false,false,false,false,true);
348 348
 
349
-	$defaults = array(
350
-		'type'     => 'select',
351
-		'title'    => __( 'Background color', 'ayecode-connect' ),
352
-		'options'  => $options,
353
-		'default'  => '',
354
-		'desc_tip' => true,
355
-		'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
356
-	);
349
+    $defaults = array(
350
+        'type'     => 'select',
351
+        'title'    => __( 'Background color', 'ayecode-connect' ),
352
+        'options'  => $options,
353
+        'default'  => '',
354
+        'desc_tip' => true,
355
+        'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
356
+    );
357 357
 
358
-	$input = wp_parse_args( $overwrite, $defaults );
358
+    $input = wp_parse_args( $overwrite, $defaults );
359 359
 
360
-	return $input;
360
+    return $input;
361 361
 }
362 362
 
363 363
 /**
@@ -369,35 +369,35 @@  discard block
 block discarded – undo
369 369
  * @return array
370 370
  */
371 371
 function sd_get_opacity_input( $type = 'opacity', $overwrite = array() ) {
372
-	$options = array(
373
-		''            => __( 'Default', 'ayecode-connect' ),
374
-		'opacity-10'  => '10%',
375
-		'opacity-15'  => '15%',
376
-		'opacity-25'  => '25%',
377
-		'opacity-35'  => '35%',
378
-		'opacity-40'  => '40%',
379
-		'opacity-50'  => '50%',
380
-		'opacity-60'  => '60%',
381
-		'opacity-65'  => '65%',
382
-		'opacity-70'  => '70%',
383
-		'opacity-75'  => '75%',
384
-		'opacity-80'  => '80%',
385
-		'opacity-90'  => '90%',
386
-		'opacity-100' => '100%',
387
-	);
388
-
389
-	$defaults = array(
390
-		'type'     => 'select',
391
-		'title'    => __( 'Opacity', 'ayecode-connect' ),
392
-		'options'  => $options,
393
-		'default'  => '',
394
-		'desc_tip' => true,
395
-		'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
396
-	);
397
-
398
-	$input = wp_parse_args( $overwrite, $defaults );
399
-
400
-	return $input;
372
+    $options = array(
373
+        ''            => __( 'Default', 'ayecode-connect' ),
374
+        'opacity-10'  => '10%',
375
+        'opacity-15'  => '15%',
376
+        'opacity-25'  => '25%',
377
+        'opacity-35'  => '35%',
378
+        'opacity-40'  => '40%',
379
+        'opacity-50'  => '50%',
380
+        'opacity-60'  => '60%',
381
+        'opacity-65'  => '65%',
382
+        'opacity-70'  => '70%',
383
+        'opacity-75'  => '75%',
384
+        'opacity-80'  => '80%',
385
+        'opacity-90'  => '90%',
386
+        'opacity-100' => '100%',
387
+    );
388
+
389
+    $defaults = array(
390
+        'type'     => 'select',
391
+        'title'    => __( 'Opacity', 'ayecode-connect' ),
392
+        'options'  => $options,
393
+        'default'  => '',
394
+        'desc_tip' => true,
395
+        'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
396
+    );
397
+
398
+    $input = wp_parse_args( $overwrite, $defaults );
399
+
400
+    return $input;
401 401
 }
402 402
 
403 403
 /**
@@ -410,124 +410,124 @@  discard block
 block discarded – undo
410 410
  */
411 411
 function sd_get_background_inputs( $type = 'bg', $overwrite = array(), $overwrite_color = array(), $overwrite_gradient = array(), $overwrite_image = array(), $include_button_colors = false ) {
412 412
 
413
-	$color_options = $include_button_colors ? sd_aui_colors( false, true, true, true, true ) : sd_aui_colors(false, false, false, false, true );
414
-
415
-	$options = array(
416
-		           ''            => __( 'None', 'ayecode-connect' ),
417
-		           'transparent' => __( 'Transparent', 'ayecode-connect' ),
418
-	           ) + $color_options;
419
-
420
-	if ( false !== $overwrite_color ) {
421
-		$options['custom-color'] = __( 'Custom Color', 'ayecode-connect' );
422
-	}
423
-
424
-	if ( false !== $overwrite_gradient ) {
425
-		$options['custom-gradient'] = __( 'Custom Gradient', 'ayecode-connect' );
426
-	}
427
-
428
-	$defaults = array(
429
-		'type'     => 'select',
430
-		'title'    => __( 'Background Color', 'ayecode-connect' ),
431
-		'options'  => $options,
432
-		'default'  => '',
433
-		'desc_tip' => true,
434
-		'group'    => __( 'Background', 'ayecode-connect' ),
435
-	);
436
-
437
-	if ( $overwrite !== false ) {
438
-		$input[ $type ] = wp_parse_args( $overwrite, $defaults );
439
-	}
440
-
441
-	if ( $overwrite_color !== false ) {
442
-		$input[ $type . '_color' ] = wp_parse_args(
443
-			$overwrite_color,
444
-			array(
445
-				'type'            => 'color',
446
-				'title'           => __( 'Custom color', 'ayecode-connect' ),
447
-				'placeholder'     => '',
448
-				'default'         => '#0073aa',
449
-				'desc_tip'        => true,
450
-				'group'           => __( 'Background', 'ayecode-connect' ),
451
-				'element_require' => '[%' . $type . '%]=="custom-color"',
452
-			)
453
-		);
454
-	}
455
-
456
-	if ( $overwrite_gradient !== false ) {
457
-		$input[ $type . '_gradient' ] = wp_parse_args(
458
-			$overwrite_gradient,
459
-			array(
460
-				'type'            => 'gradient',
461
-				'title'           => __( 'Custom gradient', 'ayecode-connect' ),
462
-				'placeholder'     => '',
463
-				'default'         => 'linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)',
464
-				'desc_tip'        => true,
465
-				'group'           => __( 'Background', 'ayecode-connect' ),
466
-				'element_require' => '[%' . $type . '%]=="custom-gradient"',
467
-			)
468
-		);
469
-	}
470
-
471
-	if ( $overwrite_image !== false ) {
472
-
473
-		$input[ $type . '_image_fixed' ] = array(
474
-			'type'            => 'checkbox',
475
-			'title'           => __( 'Fixed background', 'ayecode-connect' ),
476
-			'default'         => '',
477
-			'desc_tip'        => true,
478
-			'group'           => ! empty( $overwrite_image['group'] ) ? $overwrite_image['group'] : __( 'Background', 'ayecode-connect' ),
479
-			'element_require' => '( [%' . $type . '%]=="" || [%' . $type . '%]=="custom-color" || [%' . $type . '%]=="custom-gradient" || [%' . $type . '%]=="transparent" )',
480
-
481
-		);
482
-
483
-		$input[ $type . '_image_use_featured' ] = array(
484
-			'type'            => 'checkbox',
485
-			'title'           => __( 'Use featured image', 'ayecode-connect' ),
486
-			'default'         => '',
487
-			'desc_tip'        => true,
488
-			'group'           => ! empty( $overwrite_image['group'] ) ? $overwrite_image['group'] : __( 'Background', 'ayecode-connect' ),
489
-			'element_require' => '( [%' . $type . '%]=="" || [%' . $type . '%]=="custom-color" || [%' . $type . '%]=="custom-gradient" || [%' . $type . '%]=="transparent" )',
490
-
491
-		);
492
-
493
-		$input[ $type . '_image' ] = wp_parse_args(
494
-			$overwrite_image,
495
-			array(
496
-				'type'        => 'image',
497
-				'title'       => __( 'Custom image', 'ayecode-connect' ),
498
-				'placeholder' => '',
499
-				'default'     => '',
500
-				'desc_tip'    => true,
501
-				'group'       => __( 'Background', 'ayecode-connect' ),
502
-				//          'element_require' => ' ![%' . $type . '_image_use_featured%] '
503
-			)
504
-		);
505
-
506
-		$input[ $type . '_image_id' ] = wp_parse_args(
507
-			$overwrite_image,
508
-			array(
509
-				'type'        => 'hidden',
510
-				'hidden_type' => 'number',
511
-				'title'       => '',
512
-				'placeholder' => '',
513
-				'default'     => '',
514
-				'group'       => __( 'Background', 'ayecode-connect' ),
515
-			)
516
-		);
517
-
518
-		$input[ $type . '_image_xy' ] = wp_parse_args(
519
-			$overwrite_image,
520
-			array(
521
-				'type'        => 'image_xy',
522
-				'title'       => '',
523
-				'placeholder' => '',
524
-				'default'     => '',
525
-				'group'       => __( 'Background', 'ayecode-connect' ),
526
-			)
527
-		);
528
-	}
529
-
530
-	return $input;
413
+    $color_options = $include_button_colors ? sd_aui_colors( false, true, true, true, true ) : sd_aui_colors(false, false, false, false, true );
414
+
415
+    $options = array(
416
+                    ''            => __( 'None', 'ayecode-connect' ),
417
+                    'transparent' => __( 'Transparent', 'ayecode-connect' ),
418
+                ) + $color_options;
419
+
420
+    if ( false !== $overwrite_color ) {
421
+        $options['custom-color'] = __( 'Custom Color', 'ayecode-connect' );
422
+    }
423
+
424
+    if ( false !== $overwrite_gradient ) {
425
+        $options['custom-gradient'] = __( 'Custom Gradient', 'ayecode-connect' );
426
+    }
427
+
428
+    $defaults = array(
429
+        'type'     => 'select',
430
+        'title'    => __( 'Background Color', 'ayecode-connect' ),
431
+        'options'  => $options,
432
+        'default'  => '',
433
+        'desc_tip' => true,
434
+        'group'    => __( 'Background', 'ayecode-connect' ),
435
+    );
436
+
437
+    if ( $overwrite !== false ) {
438
+        $input[ $type ] = wp_parse_args( $overwrite, $defaults );
439
+    }
440
+
441
+    if ( $overwrite_color !== false ) {
442
+        $input[ $type . '_color' ] = wp_parse_args(
443
+            $overwrite_color,
444
+            array(
445
+                'type'            => 'color',
446
+                'title'           => __( 'Custom color', 'ayecode-connect' ),
447
+                'placeholder'     => '',
448
+                'default'         => '#0073aa',
449
+                'desc_tip'        => true,
450
+                'group'           => __( 'Background', 'ayecode-connect' ),
451
+                'element_require' => '[%' . $type . '%]=="custom-color"',
452
+            )
453
+        );
454
+    }
455
+
456
+    if ( $overwrite_gradient !== false ) {
457
+        $input[ $type . '_gradient' ] = wp_parse_args(
458
+            $overwrite_gradient,
459
+            array(
460
+                'type'            => 'gradient',
461
+                'title'           => __( 'Custom gradient', 'ayecode-connect' ),
462
+                'placeholder'     => '',
463
+                'default'         => 'linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)',
464
+                'desc_tip'        => true,
465
+                'group'           => __( 'Background', 'ayecode-connect' ),
466
+                'element_require' => '[%' . $type . '%]=="custom-gradient"',
467
+            )
468
+        );
469
+    }
470
+
471
+    if ( $overwrite_image !== false ) {
472
+
473
+        $input[ $type . '_image_fixed' ] = array(
474
+            'type'            => 'checkbox',
475
+            'title'           => __( 'Fixed background', 'ayecode-connect' ),
476
+            'default'         => '',
477
+            'desc_tip'        => true,
478
+            'group'           => ! empty( $overwrite_image['group'] ) ? $overwrite_image['group'] : __( 'Background', 'ayecode-connect' ),
479
+            'element_require' => '( [%' . $type . '%]=="" || [%' . $type . '%]=="custom-color" || [%' . $type . '%]=="custom-gradient" || [%' . $type . '%]=="transparent" )',
480
+
481
+        );
482
+
483
+        $input[ $type . '_image_use_featured' ] = array(
484
+            'type'            => 'checkbox',
485
+            'title'           => __( 'Use featured image', 'ayecode-connect' ),
486
+            'default'         => '',
487
+            'desc_tip'        => true,
488
+            'group'           => ! empty( $overwrite_image['group'] ) ? $overwrite_image['group'] : __( 'Background', 'ayecode-connect' ),
489
+            'element_require' => '( [%' . $type . '%]=="" || [%' . $type . '%]=="custom-color" || [%' . $type . '%]=="custom-gradient" || [%' . $type . '%]=="transparent" )',
490
+
491
+        );
492
+
493
+        $input[ $type . '_image' ] = wp_parse_args(
494
+            $overwrite_image,
495
+            array(
496
+                'type'        => 'image',
497
+                'title'       => __( 'Custom image', 'ayecode-connect' ),
498
+                'placeholder' => '',
499
+                'default'     => '',
500
+                'desc_tip'    => true,
501
+                'group'       => __( 'Background', 'ayecode-connect' ),
502
+                //          'element_require' => ' ![%' . $type . '_image_use_featured%] '
503
+            )
504
+        );
505
+
506
+        $input[ $type . '_image_id' ] = wp_parse_args(
507
+            $overwrite_image,
508
+            array(
509
+                'type'        => 'hidden',
510
+                'hidden_type' => 'number',
511
+                'title'       => '',
512
+                'placeholder' => '',
513
+                'default'     => '',
514
+                'group'       => __( 'Background', 'ayecode-connect' ),
515
+            )
516
+        );
517
+
518
+        $input[ $type . '_image_xy' ] = wp_parse_args(
519
+            $overwrite_image,
520
+            array(
521
+                'type'        => 'image_xy',
522
+                'title'       => '',
523
+                'placeholder' => '',
524
+                'default'     => '',
525
+                'group'       => __( 'Background', 'ayecode-connect' ),
526
+            )
527
+        );
528
+    }
529
+
530
+    return $input;
531 531
 }
532 532
 
533 533
 /**
@@ -540,175 +540,175 @@  discard block
 block discarded – undo
540 540
  */
541 541
 function sd_get_shape_divider_inputs( $type = 'sd', $overwrite = array(), $overwrite_color = array(), $overwrite_gradient = array(), $overwrite_image = array() ) {
542 542
 
543
-	$options = array(
544
-		''                      => __( 'None', 'ayecode-connect' ),
545
-		'mountains'             => __( 'Mountains', 'ayecode-connect' ),
546
-		'drops'                 => __( 'Drops', 'ayecode-connect' ),
547
-		'clouds'                => __( 'Clouds', 'ayecode-connect' ),
548
-		'zigzag'                => __( 'Zigzag', 'ayecode-connect' ),
549
-		'pyramids'              => __( 'Pyramids', 'ayecode-connect' ),
550
-		'triangle'              => __( 'Triangle', 'ayecode-connect' ),
551
-		'triangle-asymmetrical' => __( 'Triangle Asymmetrical', 'ayecode-connect' ),
552
-		'tilt'                  => __( 'Tilt', 'ayecode-connect' ),
553
-		'opacity-tilt'          => __( 'Opacity Tilt', 'ayecode-connect' ),
554
-		'opacity-fan'           => __( 'Opacity Fan', 'ayecode-connect' ),
555
-		'curve'                 => __( 'Curve', 'ayecode-connect' ),
556
-		'curve-asymmetrical'    => __( 'Curve Asymmetrical', 'ayecode-connect' ),
557
-		'waves'                 => __( 'Waves', 'ayecode-connect' ),
558
-		'wave-brush'            => __( 'Wave Brush', 'ayecode-connect' ),
559
-		'waves-pattern'         => __( 'Waves Pattern', 'ayecode-connect' ),
560
-		'arrow'                 => __( 'Arrow', 'ayecode-connect' ),
561
-		'split'                 => __( 'Split', 'ayecode-connect' ),
562
-		'book'                  => __( 'Book', 'ayecode-connect' ),
563
-	);
564
-
565
-	$defaults = array(
566
-		'type'     => 'select',
567
-		'title'    => __( 'Type', 'ayecode-connect' ),
568
-		'options'  => $options,
569
-		'default'  => '',
570
-		'desc_tip' => true,
571
-		'group'    => __( 'Shape Divider', 'ayecode-connect' ),
572
-	);
573
-
574
-	$input[ $type ] = wp_parse_args( $overwrite, $defaults );
575
-
576
-	$input[ $type . '_notice' ] = array(
577
-		'type'            => 'notice',
578
-		'desc'            => __( 'Parent element must be position `relative`', 'ayecode-connect' ),
579
-		'status'          => 'warning',
580
-		'group'           => __( 'Shape Divider', 'ayecode-connect' ),
581
-		'element_require' => '[%' . $type . '%]!=""',
582
-	);
583
-
584
-	$input[ $type . '_position' ] = wp_parse_args(
585
-		$overwrite_color,
586
-		array(
587
-			'type'            => 'select',
588
-			'title'           => __( 'Position', 'ayecode-connect' ),
589
-			'options'         => array(
590
-				'top'    => __( 'Top', 'ayecode-connect' ),
591
-				'bottom' => __( 'Bottom', 'ayecode-connect' ),
592
-			),
593
-			'desc_tip'        => true,
594
-			'group'           => __( 'Shape Divider', 'ayecode-connect' ),
595
-			'element_require' => '[%' . $type . '%]!=""',
596
-		)
597
-	);
598
-
599
-	$options = array(
600
-		           ''            => __( 'None', 'ayecode-connect' ),
601
-		           'transparent' => __( 'Transparent', 'ayecode-connect' ),
602
-	           ) + sd_aui_colors(false,false,false,false,true )
603
-	           + array(
604
-		           'custom-color' => __( 'Custom Color', 'ayecode-connect' ),
605
-	           );
606
-
607
-	$input[ $type . '_color' ] = wp_parse_args(
608
-		$overwrite_color,
609
-		array(
610
-			'type'            => 'select',
611
-			'title'           => __( 'Color', 'ayecode-connect' ),
612
-			'options'         => $options,
613
-			'desc_tip'        => true,
614
-			'group'           => __( 'Shape Divider', 'ayecode-connect' ),
615
-			'element_require' => '[%' . $type . '%]!=""',
616
-		)
617
-	);
618
-
619
-	$input[ $type . '_custom_color' ] = wp_parse_args(
620
-		$overwrite_color,
621
-		array(
622
-			'type'            => 'color',
623
-			'title'           => __( 'Custom color', 'ayecode-connect' ),
624
-			'placeholder'     => '',
625
-			'default'         => '#0073aa',
626
-			'desc_tip'        => true,
627
-			'group'           => __( 'Shape Divider', 'ayecode-connect' ),
628
-			'element_require' => '[%' . $type . '_color%]=="custom-color" && [%' . $type . '%]!=""',
629
-		)
630
-	);
631
-
632
-	$input[ $type . '_width' ] = wp_parse_args(
633
-		$overwrite_gradient,
634
-		array(
635
-			'type'              => 'range',
636
-			'title'             => __( 'Width', 'ayecode-connect' ),
637
-			'placeholder'       => '',
638
-			'default'           => '200',
639
-			'desc_tip'          => true,
640
-			'custom_attributes' => array(
641
-				'min' => 100,
642
-				'max' => 300,
643
-			),
644
-			'group'             => __( 'Shape Divider', 'ayecode-connect' ),
645
-			'element_require'   => '[%' . $type . '%]!=""',
646
-		)
647
-	);
648
-
649
-	$input[ $type . '_height' ] = array(
650
-		'type'              => 'range',
651
-		'title'             => __( 'Height', 'ayecode-connect' ),
652
-		'default'           => '100',
653
-		'desc_tip'          => true,
654
-		'custom_attributes' => array(
655
-			'min' => 0,
656
-			'max' => 500,
657
-		),
658
-		'group'             => __( 'Shape Divider', 'ayecode-connect' ),
659
-		'element_require'   => '[%' . $type . '%]!=""',
660
-	);
661
-
662
-	$requires = array(
663
-		'mountains'             => array( 'flip' ),
664
-		'drops'                 => array( 'flip', 'invert' ),
665
-		'clouds'                => array( 'flip', 'invert' ),
666
-		'zigzag'                => array(),
667
-		'pyramids'              => array( 'flip', 'invert' ),
668
-		'triangle'              => array( 'invert' ),
669
-		'triangle-asymmetrical' => array( 'flip', 'invert' ),
670
-		'tilt'                  => array( 'flip' ),
671
-		'opacity-tilt'          => array( 'flip' ),
672
-		'opacity-fan'           => array(),
673
-		'curve'                 => array( 'invert' ),
674
-		'curve-asymmetrical'    => array( 'flip', 'invert' ),
675
-		'waves'                 => array( 'flip', 'invert' ),
676
-		'wave-brush'            => array( 'flip' ),
677
-		'waves-pattern'         => array( 'flip' ),
678
-		'arrow'                 => array( 'invert' ),
679
-		'split'                 => array( 'invert' ),
680
-		'book'                  => array( 'invert' ),
681
-	);
682
-
683
-	$input[ $type . '_flip' ] = array(
684
-		'type'            => 'checkbox',
685
-		'title'           => __( 'Flip', 'ayecode-connect' ),
686
-		'default'         => '',
687
-		'desc_tip'        => true,
688
-		'group'           => __( 'Shape Divider', 'ayecode-connect' ),
689
-		'element_require' => sd_get_element_require_string( $requires, 'flip', 'sd' ),
690
-	);
691
-
692
-	$input[ $type . '_invert' ] = array(
693
-		'type'            => 'checkbox',
694
-		'title'           => __( 'Invert', 'ayecode-connect' ),
695
-		'default'         => '',
696
-		'desc_tip'        => true,
697
-		'group'           => __( 'Shape Divider', 'ayecode-connect' ),
698
-		'element_require' => sd_get_element_require_string( $requires, 'invert', 'sd' ),
699
-	);
700
-
701
-	$input[ $type . '_btf' ] = array(
702
-		'type'            => 'checkbox',
703
-		'title'           => __( 'Bring to front', 'ayecode-connect' ),
704
-		'default'         => '',
705
-		'desc_tip'        => true,
706
-		'group'           => __( 'Shape Divider', 'ayecode-connect' ),
707
-		'element_require' => '[%' . $type . '%]!=""',
708
-
709
-	);
710
-
711
-	return $input;
543
+    $options = array(
544
+        ''                      => __( 'None', 'ayecode-connect' ),
545
+        'mountains'             => __( 'Mountains', 'ayecode-connect' ),
546
+        'drops'                 => __( 'Drops', 'ayecode-connect' ),
547
+        'clouds'                => __( 'Clouds', 'ayecode-connect' ),
548
+        'zigzag'                => __( 'Zigzag', 'ayecode-connect' ),
549
+        'pyramids'              => __( 'Pyramids', 'ayecode-connect' ),
550
+        'triangle'              => __( 'Triangle', 'ayecode-connect' ),
551
+        'triangle-asymmetrical' => __( 'Triangle Asymmetrical', 'ayecode-connect' ),
552
+        'tilt'                  => __( 'Tilt', 'ayecode-connect' ),
553
+        'opacity-tilt'          => __( 'Opacity Tilt', 'ayecode-connect' ),
554
+        'opacity-fan'           => __( 'Opacity Fan', 'ayecode-connect' ),
555
+        'curve'                 => __( 'Curve', 'ayecode-connect' ),
556
+        'curve-asymmetrical'    => __( 'Curve Asymmetrical', 'ayecode-connect' ),
557
+        'waves'                 => __( 'Waves', 'ayecode-connect' ),
558
+        'wave-brush'            => __( 'Wave Brush', 'ayecode-connect' ),
559
+        'waves-pattern'         => __( 'Waves Pattern', 'ayecode-connect' ),
560
+        'arrow'                 => __( 'Arrow', 'ayecode-connect' ),
561
+        'split'                 => __( 'Split', 'ayecode-connect' ),
562
+        'book'                  => __( 'Book', 'ayecode-connect' ),
563
+    );
564
+
565
+    $defaults = array(
566
+        'type'     => 'select',
567
+        'title'    => __( 'Type', 'ayecode-connect' ),
568
+        'options'  => $options,
569
+        'default'  => '',
570
+        'desc_tip' => true,
571
+        'group'    => __( 'Shape Divider', 'ayecode-connect' ),
572
+    );
573
+
574
+    $input[ $type ] = wp_parse_args( $overwrite, $defaults );
575
+
576
+    $input[ $type . '_notice' ] = array(
577
+        'type'            => 'notice',
578
+        'desc'            => __( 'Parent element must be position `relative`', 'ayecode-connect' ),
579
+        'status'          => 'warning',
580
+        'group'           => __( 'Shape Divider', 'ayecode-connect' ),
581
+        'element_require' => '[%' . $type . '%]!=""',
582
+    );
583
+
584
+    $input[ $type . '_position' ] = wp_parse_args(
585
+        $overwrite_color,
586
+        array(
587
+            'type'            => 'select',
588
+            'title'           => __( 'Position', 'ayecode-connect' ),
589
+            'options'         => array(
590
+                'top'    => __( 'Top', 'ayecode-connect' ),
591
+                'bottom' => __( 'Bottom', 'ayecode-connect' ),
592
+            ),
593
+            'desc_tip'        => true,
594
+            'group'           => __( 'Shape Divider', 'ayecode-connect' ),
595
+            'element_require' => '[%' . $type . '%]!=""',
596
+        )
597
+    );
598
+
599
+    $options = array(
600
+                    ''            => __( 'None', 'ayecode-connect' ),
601
+                    'transparent' => __( 'Transparent', 'ayecode-connect' ),
602
+                ) + sd_aui_colors(false,false,false,false,true )
603
+               + array(
604
+                    'custom-color' => __( 'Custom Color', 'ayecode-connect' ),
605
+                );
606
+
607
+    $input[ $type . '_color' ] = wp_parse_args(
608
+        $overwrite_color,
609
+        array(
610
+            'type'            => 'select',
611
+            'title'           => __( 'Color', 'ayecode-connect' ),
612
+            'options'         => $options,
613
+            'desc_tip'        => true,
614
+            'group'           => __( 'Shape Divider', 'ayecode-connect' ),
615
+            'element_require' => '[%' . $type . '%]!=""',
616
+        )
617
+    );
618
+
619
+    $input[ $type . '_custom_color' ] = wp_parse_args(
620
+        $overwrite_color,
621
+        array(
622
+            'type'            => 'color',
623
+            'title'           => __( 'Custom color', 'ayecode-connect' ),
624
+            'placeholder'     => '',
625
+            'default'         => '#0073aa',
626
+            'desc_tip'        => true,
627
+            'group'           => __( 'Shape Divider', 'ayecode-connect' ),
628
+            'element_require' => '[%' . $type . '_color%]=="custom-color" && [%' . $type . '%]!=""',
629
+        )
630
+    );
631
+
632
+    $input[ $type . '_width' ] = wp_parse_args(
633
+        $overwrite_gradient,
634
+        array(
635
+            'type'              => 'range',
636
+            'title'             => __( 'Width', 'ayecode-connect' ),
637
+            'placeholder'       => '',
638
+            'default'           => '200',
639
+            'desc_tip'          => true,
640
+            'custom_attributes' => array(
641
+                'min' => 100,
642
+                'max' => 300,
643
+            ),
644
+            'group'             => __( 'Shape Divider', 'ayecode-connect' ),
645
+            'element_require'   => '[%' . $type . '%]!=""',
646
+        )
647
+    );
648
+
649
+    $input[ $type . '_height' ] = array(
650
+        'type'              => 'range',
651
+        'title'             => __( 'Height', 'ayecode-connect' ),
652
+        'default'           => '100',
653
+        'desc_tip'          => true,
654
+        'custom_attributes' => array(
655
+            'min' => 0,
656
+            'max' => 500,
657
+        ),
658
+        'group'             => __( 'Shape Divider', 'ayecode-connect' ),
659
+        'element_require'   => '[%' . $type . '%]!=""',
660
+    );
661
+
662
+    $requires = array(
663
+        'mountains'             => array( 'flip' ),
664
+        'drops'                 => array( 'flip', 'invert' ),
665
+        'clouds'                => array( 'flip', 'invert' ),
666
+        'zigzag'                => array(),
667
+        'pyramids'              => array( 'flip', 'invert' ),
668
+        'triangle'              => array( 'invert' ),
669
+        'triangle-asymmetrical' => array( 'flip', 'invert' ),
670
+        'tilt'                  => array( 'flip' ),
671
+        'opacity-tilt'          => array( 'flip' ),
672
+        'opacity-fan'           => array(),
673
+        'curve'                 => array( 'invert' ),
674
+        'curve-asymmetrical'    => array( 'flip', 'invert' ),
675
+        'waves'                 => array( 'flip', 'invert' ),
676
+        'wave-brush'            => array( 'flip' ),
677
+        'waves-pattern'         => array( 'flip' ),
678
+        'arrow'                 => array( 'invert' ),
679
+        'split'                 => array( 'invert' ),
680
+        'book'                  => array( 'invert' ),
681
+    );
682
+
683
+    $input[ $type . '_flip' ] = array(
684
+        'type'            => 'checkbox',
685
+        'title'           => __( 'Flip', 'ayecode-connect' ),
686
+        'default'         => '',
687
+        'desc_tip'        => true,
688
+        'group'           => __( 'Shape Divider', 'ayecode-connect' ),
689
+        'element_require' => sd_get_element_require_string( $requires, 'flip', 'sd' ),
690
+    );
691
+
692
+    $input[ $type . '_invert' ] = array(
693
+        'type'            => 'checkbox',
694
+        'title'           => __( 'Invert', 'ayecode-connect' ),
695
+        'default'         => '',
696
+        'desc_tip'        => true,
697
+        'group'           => __( 'Shape Divider', 'ayecode-connect' ),
698
+        'element_require' => sd_get_element_require_string( $requires, 'invert', 'sd' ),
699
+    );
700
+
701
+    $input[ $type . '_btf' ] = array(
702
+        'type'            => 'checkbox',
703
+        'title'           => __( 'Bring to front', 'ayecode-connect' ),
704
+        'default'         => '',
705
+        'desc_tip'        => true,
706
+        'group'           => __( 'Shape Divider', 'ayecode-connect' ),
707
+        'element_require' => '[%' . $type . '%]!=""',
708
+
709
+    );
710
+
711
+    return $input;
712 712
 }
713 713
 
714 714
 /**
@@ -721,22 +721,22 @@  discard block
 block discarded – undo
721 721
  * @return string
722 722
  */
723 723
 function sd_get_element_require_string( $args, $key, $type ) {
724
-	$output   = '';
725
-	$requires = array();
724
+    $output   = '';
725
+    $requires = array();
726 726
 
727
-	if ( ! empty( $args ) ) {
728
-		foreach ( $args as $t => $k ) {
729
-			if ( in_array( $key, $k ) ) {
730
-				$requires[] = '[%' . $type . '%]=="' . $t . '"';
731
-			}
732
-		}
727
+    if ( ! empty( $args ) ) {
728
+        foreach ( $args as $t => $k ) {
729
+            if ( in_array( $key, $k ) ) {
730
+                $requires[] = '[%' . $type . '%]=="' . $t . '"';
731
+            }
732
+        }
733 733
 
734
-		if ( ! empty( $requires ) ) {
735
-			$output = '(' . implode( ' || ', $requires ) . ')';
736
-		}
737
-	}
734
+        if ( ! empty( $requires ) ) {
735
+            $output = '(' . implode( ' || ', $requires ) . ')';
736
+        }
737
+    }
738 738
 
739
-	return $output;
739
+    return $output;
740 740
 }
741 741
 
742 742
 /**
@@ -748,41 +748,41 @@  discard block
 block discarded – undo
748 748
  * @return array
749 749
  */
750 750
 function sd_get_text_color_input( $type = 'text_color', $overwrite = array(), $has_custom = false, $emphasis = true ) {
751
-	$options = array(
752
-		           '' => __( 'None', 'ayecode-connect' ),
753
-	           ) + sd_aui_colors(false,false,false,false,false, true);
751
+    $options = array(
752
+                    '' => __( 'None', 'ayecode-connect' ),
753
+                ) + sd_aui_colors(false,false,false,false,false, true);
754 754
 
755
-	if ( $has_custom ) {
756
-		$options['custom'] = __( 'Custom color', 'ayecode-connect' );
757
-	}
755
+    if ( $has_custom ) {
756
+        $options['custom'] = __( 'Custom color', 'ayecode-connect' );
757
+    }
758 758
 
759
-	$defaults = array(
760
-		'type'     => 'select',
761
-		'title'    => __( 'Text color', 'ayecode-connect' ),
762
-		'options'  => $options,
763
-		'default'  => '',
764
-		'desc_tip' => true,
765
-		'group'    => __( 'Typography', 'ayecode-connect' ),
766
-	);
759
+    $defaults = array(
760
+        'type'     => 'select',
761
+        'title'    => __( 'Text color', 'ayecode-connect' ),
762
+        'options'  => $options,
763
+        'default'  => '',
764
+        'desc_tip' => true,
765
+        'group'    => __( 'Typography', 'ayecode-connect' ),
766
+    );
767 767
 
768
-	$input = wp_parse_args( $overwrite, $defaults );
768
+    $input = wp_parse_args( $overwrite, $defaults );
769 769
 
770
-	return $input;
770
+    return $input;
771 771
 }
772 772
 
773 773
 function sd_get_text_color_input_group( $type = 'text_color', $overwrite = array(), $overwrite_custom = array() ) {
774
-	$inputs = array();
774
+    $inputs = array();
775 775
 
776
-	if ( $overwrite !== false ) {
777
-		$inputs[ $type ] = sd_get_text_color_input( $type, $overwrite, true );
778
-	}
776
+    if ( $overwrite !== false ) {
777
+        $inputs[ $type ] = sd_get_text_color_input( $type, $overwrite, true );
778
+    }
779 779
 
780
-	if ( $overwrite_custom !== false ) {
781
-		$custom            = $type . '_custom';
782
-		$inputs[ $custom ] = sd_get_custom_color_input( $custom, $overwrite_custom, $type );
783
-	}
780
+    if ( $overwrite_custom !== false ) {
781
+        $custom            = $type . '_custom';
782
+        $inputs[ $custom ] = sd_get_custom_color_input( $custom, $overwrite_custom, $type );
783
+    }
784 784
 
785
-	return $inputs;
785
+    return $inputs;
786 786
 }
787 787
 
788 788
 /**
@@ -795,22 +795,22 @@  discard block
 block discarded – undo
795 795
  */
796 796
 function sd_get_custom_color_input( $type = 'color_custom', $overwrite = array(), $parent_type = '' ) {
797 797
 
798
-	$defaults = array(
799
-		'type'        => 'color',
800
-		'title'       => __( 'Custom color', 'ayecode-connect' ),
801
-		'default'     => '',
802
-		'placeholder' => '',
803
-		'desc_tip'    => true,
804
-		'group'       => __( 'Typography', 'ayecode-connect' ),
805
-	);
798
+    $defaults = array(
799
+        'type'        => 'color',
800
+        'title'       => __( 'Custom color', 'ayecode-connect' ),
801
+        'default'     => '',
802
+        'placeholder' => '',
803
+        'desc_tip'    => true,
804
+        'group'       => __( 'Typography', 'ayecode-connect' ),
805
+    );
806 806
 
807
-	if ( $parent_type ) {
808
-		$defaults['element_require'] = '[%' . $parent_type . '%]=="custom"';
809
-	}
807
+    if ( $parent_type ) {
808
+        $defaults['element_require'] = '[%' . $parent_type . '%]=="custom"';
809
+    }
810 810
 
811
-	$input = wp_parse_args( $overwrite, $defaults );
811
+    $input = wp_parse_args( $overwrite, $defaults );
812 812
 
813
-	return $input;
813
+    return $input;
814 814
 }
815 815
 
816 816
 /**
@@ -823,44 +823,44 @@  discard block
 block discarded – undo
823 823
  */
824 824
 function sd_get_col_input( $type = 'col', $overwrite = array() ) {
825 825
 
826
-	$device_size = '';
827
-	if ( ! empty( $overwrite['device_type'] ) ) {
828
-		if ( $overwrite['device_type'] == 'Tablet' ) {
829
-			$device_size = '-md';
830
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
831
-			$device_size = '-lg';
832
-		}
833
-	}
834
-	$options = array(
835
-		''     => __( 'Default', 'ayecode-connect' ),
836
-		'auto' => __( 'auto', 'ayecode-connect' ),
837
-		'1'    => '1/12',
838
-		'2'    => '2/12',
839
-		'3'    => '3/12',
840
-		'4'    => '4/12',
841
-		'5'    => '5/12',
842
-		'6'    => '6/12',
843
-		'7'    => '7/12',
844
-		'8'    => '8/12',
845
-		'9'    => '9/12',
846
-		'10'   => '10/12',
847
-		'11'   => '11/12',
848
-		'12'   => '12/12',
849
-	);
850
-
851
-	$defaults = array(
852
-		'type'            => 'select',
853
-		'title'           => __( 'Column width', 'ayecode-connect' ),
854
-		'options'         => $options,
855
-		'default'         => '',
856
-		'desc_tip'        => true,
857
-		'group'           => __( 'Container', 'ayecode-connect' ),
858
-		'element_require' => '[%container%]=="col"',
859
-	);
860
-
861
-	$input = wp_parse_args( $overwrite, $defaults );
862
-
863
-	return $input;
826
+    $device_size = '';
827
+    if ( ! empty( $overwrite['device_type'] ) ) {
828
+        if ( $overwrite['device_type'] == 'Tablet' ) {
829
+            $device_size = '-md';
830
+        } elseif ( $overwrite['device_type'] == 'Desktop' ) {
831
+            $device_size = '-lg';
832
+        }
833
+    }
834
+    $options = array(
835
+        ''     => __( 'Default', 'ayecode-connect' ),
836
+        'auto' => __( 'auto', 'ayecode-connect' ),
837
+        '1'    => '1/12',
838
+        '2'    => '2/12',
839
+        '3'    => '3/12',
840
+        '4'    => '4/12',
841
+        '5'    => '5/12',
842
+        '6'    => '6/12',
843
+        '7'    => '7/12',
844
+        '8'    => '8/12',
845
+        '9'    => '9/12',
846
+        '10'   => '10/12',
847
+        '11'   => '11/12',
848
+        '12'   => '12/12',
849
+    );
850
+
851
+    $defaults = array(
852
+        'type'            => 'select',
853
+        'title'           => __( 'Column width', 'ayecode-connect' ),
854
+        'options'         => $options,
855
+        'default'         => '',
856
+        'desc_tip'        => true,
857
+        'group'           => __( 'Container', 'ayecode-connect' ),
858
+        'element_require' => '[%container%]=="col"',
859
+    );
860
+
861
+    $input = wp_parse_args( $overwrite, $defaults );
862
+
863
+    return $input;
864 864
 }
865 865
 
866 866
 /**
@@ -873,37 +873,37 @@  discard block
 block discarded – undo
873 873
  */
874 874
 function sd_get_row_cols_input( $type = 'row_cols', $overwrite = array() ) {
875 875
 
876
-	$device_size = '';
877
-	if ( ! empty( $overwrite['device_type'] ) ) {
878
-		if ( $overwrite['device_type'] == 'Tablet' ) {
879
-			$device_size = '-md';
880
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
881
-			$device_size = '-lg';
882
-		}
883
-	}
884
-	$options = array(
885
-		''  => __( 'auto', 'ayecode-connect' ),
886
-		'1' => '1',
887
-		'2' => '2',
888
-		'3' => '3',
889
-		'4' => '4',
890
-		'5' => '5',
891
-		'6' => '6',
892
-	);
893
-
894
-	$defaults = array(
895
-		'type'            => 'select',
896
-		'title'           => __( 'Row columns', 'ayecode-connect' ),
897
-		'options'         => $options,
898
-		'default'         => '',
899
-		'desc_tip'        => true,
900
-		'group'           => __( 'Container', 'ayecode-connect' ),
901
-		'element_require' => '[%container%]=="row"',
902
-	);
903
-
904
-	$input = wp_parse_args( $overwrite, $defaults );
905
-
906
-	return $input;
876
+    $device_size = '';
877
+    if ( ! empty( $overwrite['device_type'] ) ) {
878
+        if ( $overwrite['device_type'] == 'Tablet' ) {
879
+            $device_size = '-md';
880
+        } elseif ( $overwrite['device_type'] == 'Desktop' ) {
881
+            $device_size = '-lg';
882
+        }
883
+    }
884
+    $options = array(
885
+        ''  => __( 'auto', 'ayecode-connect' ),
886
+        '1' => '1',
887
+        '2' => '2',
888
+        '3' => '3',
889
+        '4' => '4',
890
+        '5' => '5',
891
+        '6' => '6',
892
+    );
893
+
894
+    $defaults = array(
895
+        'type'            => 'select',
896
+        'title'           => __( 'Row columns', 'ayecode-connect' ),
897
+        'options'         => $options,
898
+        'default'         => '',
899
+        'desc_tip'        => true,
900
+        'group'           => __( 'Container', 'ayecode-connect' ),
901
+        'element_require' => '[%container%]=="row"',
902
+    );
903
+
904
+    $input = wp_parse_args( $overwrite, $defaults );
905
+
906
+    return $input;
907 907
 }
908 908
 
909 909
 /**
@@ -916,33 +916,33 @@  discard block
 block discarded – undo
916 916
  */
917 917
 function sd_get_text_align_input( $type = 'text_align', $overwrite = array() ) {
918 918
 
919
-	$device_size = '';
920
-	if ( ! empty( $overwrite['device_type'] ) ) {
921
-		if ( $overwrite['device_type'] == 'Tablet' ) {
922
-			$device_size = '-md';
923
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
924
-			$device_size = '-lg';
925
-		}
926
-	}
927
-	$options = array(
928
-		''                                => __( 'Default', 'ayecode-connect' ),
929
-		'text' . $device_size . '-left'   => __( 'Left', 'ayecode-connect' ),
930
-		'text' . $device_size . '-right'  => __( 'Right', 'ayecode-connect' ),
931
-		'text' . $device_size . '-center' => __( 'Center', 'ayecode-connect' ),
932
-	);
919
+    $device_size = '';
920
+    if ( ! empty( $overwrite['device_type'] ) ) {
921
+        if ( $overwrite['device_type'] == 'Tablet' ) {
922
+            $device_size = '-md';
923
+        } elseif ( $overwrite['device_type'] == 'Desktop' ) {
924
+            $device_size = '-lg';
925
+        }
926
+    }
927
+    $options = array(
928
+        ''                                => __( 'Default', 'ayecode-connect' ),
929
+        'text' . $device_size . '-left'   => __( 'Left', 'ayecode-connect' ),
930
+        'text' . $device_size . '-right'  => __( 'Right', 'ayecode-connect' ),
931
+        'text' . $device_size . '-center' => __( 'Center', 'ayecode-connect' ),
932
+    );
933 933
 
934
-	$defaults = array(
935
-		'type'     => 'select',
936
-		'title'    => __( 'Text align', 'ayecode-connect' ),
937
-		'options'  => $options,
938
-		'default'  => '',
939
-		'desc_tip' => true,
940
-		'group'    => __( 'Typography', 'ayecode-connect' ),
941
-	);
934
+    $defaults = array(
935
+        'type'     => 'select',
936
+        'title'    => __( 'Text align', 'ayecode-connect' ),
937
+        'options'  => $options,
938
+        'default'  => '',
939
+        'desc_tip' => true,
940
+        'group'    => __( 'Typography', 'ayecode-connect' ),
941
+    );
942 942
 
943
-	$input = wp_parse_args( $overwrite, $defaults );
943
+    $input = wp_parse_args( $overwrite, $defaults );
944 944
 
945
-	return $input;
945
+    return $input;
946 946
 }
947 947
 
948 948
 /**
@@ -955,39 +955,39 @@  discard block
 block discarded – undo
955 955
  */
956 956
 function sd_get_display_input( $type = 'display', $overwrite = array() ) {
957 957
 
958
-	$device_size = '';
959
-	if ( ! empty( $overwrite['device_type'] ) ) {
960
-		if ( $overwrite['device_type'] == 'Tablet' ) {
961
-			$device_size = '-md';
962
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
963
-			$device_size = '-lg';
964
-		}
965
-	}
966
-	$options = array(
967
-		''                                   => __( 'Default', 'ayecode-connect' ),
968
-		'd' . $device_size . '-none'         => 'none',
969
-		'd' . $device_size . '-inline'       => 'inline',
970
-		'd' . $device_size . '-inline-block' => 'inline-block',
971
-		'd' . $device_size . '-block'        => 'block',
972
-		'd' . $device_size . '-table'        => 'table',
973
-		'd' . $device_size . '-table-cell'   => 'table-cell',
974
-		'd' . $device_size . '-table-row'    => 'table-row',
975
-		'd' . $device_size . '-flex'         => 'flex',
976
-		'd' . $device_size . '-inline-flex'  => 'inline-flex',
977
-	);
978
-
979
-	$defaults = array(
980
-		'type'     => 'select',
981
-		'title'    => __( 'Display', 'ayecode-connect' ),
982
-		'options'  => $options,
983
-		'default'  => '',
984
-		'desc_tip' => true,
985
-		'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
986
-	);
987
-
988
-	$input = wp_parse_args( $overwrite, $defaults );
989
-
990
-	return $input;
958
+    $device_size = '';
959
+    if ( ! empty( $overwrite['device_type'] ) ) {
960
+        if ( $overwrite['device_type'] == 'Tablet' ) {
961
+            $device_size = '-md';
962
+        } elseif ( $overwrite['device_type'] == 'Desktop' ) {
963
+            $device_size = '-lg';
964
+        }
965
+    }
966
+    $options = array(
967
+        ''                                   => __( 'Default', 'ayecode-connect' ),
968
+        'd' . $device_size . '-none'         => 'none',
969
+        'd' . $device_size . '-inline'       => 'inline',
970
+        'd' . $device_size . '-inline-block' => 'inline-block',
971
+        'd' . $device_size . '-block'        => 'block',
972
+        'd' . $device_size . '-table'        => 'table',
973
+        'd' . $device_size . '-table-cell'   => 'table-cell',
974
+        'd' . $device_size . '-table-row'    => 'table-row',
975
+        'd' . $device_size . '-flex'         => 'flex',
976
+        'd' . $device_size . '-inline-flex'  => 'inline-flex',
977
+    );
978
+
979
+    $defaults = array(
980
+        'type'     => 'select',
981
+        'title'    => __( 'Display', 'ayecode-connect' ),
982
+        'options'  => $options,
983
+        'default'  => '',
984
+        'desc_tip' => true,
985
+        'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
986
+    );
987
+
988
+    $input = wp_parse_args( $overwrite, $defaults );
989
+
990
+    return $input;
991 991
 }
992 992
 
993 993
 /**
@@ -1000,17 +1000,17 @@  discard block
 block discarded – undo
1000 1000
  */
1001 1001
 function sd_get_text_justify_input( $type = 'text_justify', $overwrite = array() ) {
1002 1002
 
1003
-	$defaults = array(
1004
-		'type'     => 'checkbox',
1005
-		'title'    => __( 'Text justify', 'ayecode-connect' ),
1006
-		'default'  => '',
1007
-		'desc_tip' => true,
1008
-		'group'    => __( 'Typography', 'ayecode-connect' ),
1009
-	);
1003
+    $defaults = array(
1004
+        'type'     => 'checkbox',
1005
+        'title'    => __( 'Text justify', 'ayecode-connect' ),
1006
+        'default'  => '',
1007
+        'desc_tip' => true,
1008
+        'group'    => __( 'Typography', 'ayecode-connect' ),
1009
+    );
1010 1010
 
1011
-	$input = wp_parse_args( $overwrite, $defaults );
1011
+    $input = wp_parse_args( $overwrite, $defaults );
1012 1012
 
1013
-	return $input;
1013
+    return $input;
1014 1014
 }
1015 1015
 
1016 1016
 /**
@@ -1023,114 +1023,114 @@  discard block
 block discarded – undo
1023 1023
  * @return array
1024 1024
  */
1025 1025
 function sd_aui_colors( $include_branding = false, $include_outlines = false, $outline_button_only_text = false, $include_translucent = false, $include_subtle = false, $include_emphasis = false ) {
1026
-	$theme_colors = array();
1027
-
1028
-	$theme_colors['primary']   = __( 'Primary', 'ayecode-connect' );
1029
-	$theme_colors['secondary'] = __( 'Secondary', 'ayecode-connect' );
1030
-	$theme_colors['success']   = __( 'Success', 'ayecode-connect' );
1031
-	$theme_colors['danger']    = __( 'Danger', 'ayecode-connect' );
1032
-	$theme_colors['warning']   = __( 'Warning', 'ayecode-connect' );
1033
-	$theme_colors['info']      = __( 'Info', 'ayecode-connect' );
1034
-	$theme_colors['light']     = __( 'Light', 'ayecode-connect' );
1035
-	$theme_colors['dark']      = __( 'Dark', 'ayecode-connect' );
1036
-	$theme_colors['black']     = __( 'Black', 'ayecode-connect' );
1037
-	$theme_colors['white']     = __( 'White', 'ayecode-connect' );
1038
-	$theme_colors['purple']    = __( 'Purple', 'ayecode-connect' );
1039
-	$theme_colors['salmon']    = __( 'Salmon', 'ayecode-connect' );
1040
-	$theme_colors['cyan']      = __( 'Cyan', 'ayecode-connect' );
1041
-	$theme_colors['gray']      = __( 'Gray', 'ayecode-connect' );
1042
-	$theme_colors['muted']     = __( 'Muted', 'ayecode-connect' );
1043
-	$theme_colors['gray-dark'] = __( 'Gray dark', 'ayecode-connect' );
1044
-	$theme_colors['indigo']    = __( 'Indigo', 'ayecode-connect' );
1045
-	$theme_colors['orange']    = __( 'Orange', 'ayecode-connect' );
1046
-	$theme_colors['body']      = __( 'Body', 'ayecode-connect' );
1047
-
1048
-
1049
-	// for bg and borders
1050
-	if ( $include_subtle ) {
1051
-		$theme_colors['primary-subtle']   = __( 'Primary Subtle', 'ayecode-connect' );
1052
-		$theme_colors['primary-subtle']   = __( 'Primary Subtle', 'ayecode-connect' );
1053
-		$theme_colors['secondary-subtle'] = __( 'Secondary Subtle', 'ayecode-connect' );
1054
-		$theme_colors['success-subtle']   = __( 'Success Subtle', 'ayecode-connect' );
1055
-		$theme_colors['danger-subtle']    = __( 'Danger Subtle', 'ayecode-connect' );
1056
-		$theme_colors['warning-subtle']   = __( 'Warning Subtle', 'ayecode-connect' );
1057
-		$theme_colors['info-subtle']      = __( 'Info Subtle', 'ayecode-connect' );
1058
-		$theme_colors['light-subtle']     = __( 'Light Subtle', 'ayecode-connect' );
1059
-		$theme_colors['dark-subtle']      = __( 'Dark Subtle', 'ayecode-connect' );
1060
-		$theme_colors['purple-subtle']    = __( 'Purple Subtle', 'ayecode-connect' );
1061
-		$theme_colors['salmon-subtle']    = __( 'Salmon Subtle', 'ayecode-connect' );
1062
-		$theme_colors['cyan-subtle']      = __( 'Cyan Subtle', 'ayecode-connect' );
1063
-		$theme_colors['gray-subtle']      = __( 'Gray Subtle', 'ayecode-connect' );
1064
-		$theme_colors['gray-dark-subtle'] = __( 'Gray dark Subtle', 'ayecode-connect' );
1065
-		$theme_colors['indigo-subtle']    = __( 'Indigo Subtle', 'ayecode-connect' );
1066
-		$theme_colors['orange-subtle']    = __( 'Orange Subtle', 'ayecode-connect' );
1067
-	}
1068
-
1069
-	// for texts
1070
-	if ($include_emphasis) {
1071
-		$theme_colors['primary-emphasis']   = __( 'Primary Emphasis', 'ayecode-connect' );
1072
-		$theme_colors['secondary-emphasis'] = __( 'Secondary Emphasis', 'ayecode-connect' );
1073
-		$theme_colors['success-emphasis']   = __( 'Success Emphasis', 'ayecode-connect' );
1074
-		$theme_colors['danger-emphasis']    = __( 'Danger Emphasis', 'ayecode-connect' );
1075
-		$theme_colors['warning-emphasis']   = __( 'Warning Emphasis', 'ayecode-connect' );
1076
-		$theme_colors['info-emphasis']      = __( 'Info Emphasis', 'ayecode-connect' );
1077
-		$theme_colors['light-emphasis']     = __( 'Light Emphasis', 'ayecode-connect' );
1078
-		$theme_colors['dark-emphasis']      = __( 'Dark Emphasis', 'ayecode-connect' );
1079
-		$theme_colors['purple-emphasis']    = __( 'Purple Emphasis', 'ayecode-connect' );
1080
-		$theme_colors['salmon-emphasis']    = __( 'Salmon Emphasis', 'ayecode-connect' );
1081
-		$theme_colors['cyan-emphasis']      = __( 'Cyan Emphasis', 'ayecode-connect' );
1082
-		$theme_colors['gray-emphasis']      = __( 'Gray Emphasis', 'ayecode-connect' );
1083
-		$theme_colors['muted-emphasis']     = __( 'Muted Emphasis', 'ayecode-connect' );
1084
-		$theme_colors['gray-dark-emphasis'] = __( 'Gray dark Emphasis', 'ayecode-connect' );
1085
-		$theme_colors['indigo-emphasis']    = __( 'Indigo Emphasis', 'ayecode-connect' );
1086
-		$theme_colors['orange-emphasis']    = __( 'Orange Emphasis', 'ayecode-connect' );
1087
-	}
1088
-
1089
-	if ( $include_outlines ) {
1090
-		$button_only                       = $outline_button_only_text ? ' ' . __( '(button only)', 'ayecode-connect' ) : '';
1091
-		$theme_colors['outline-primary']   = __( 'Primary outline', 'ayecode-connect' ) . $button_only;
1092
-		$theme_colors['outline-secondary'] = __( 'Secondary outline', 'ayecode-connect' ) . $button_only;
1093
-		$theme_colors['outline-success']   = __( 'Success outline', 'ayecode-connect' ) . $button_only;
1094
-		$theme_colors['outline-danger']    = __( 'Danger outline', 'ayecode-connect' ) . $button_only;
1095
-		$theme_colors['outline-warning']   = __( 'Warning outline', 'ayecode-connect' ) . $button_only;
1096
-		$theme_colors['outline-info']      = __( 'Info outline', 'ayecode-connect' ) . $button_only;
1097
-		$theme_colors['outline-light']     = __( 'Light outline', 'ayecode-connect' ) . $button_only;
1098
-		$theme_colors['outline-dark']      = __( 'Dark outline', 'ayecode-connect' ) . $button_only;
1099
-		$theme_colors['outline-white']     = __( 'White outline', 'ayecode-connect' ) . $button_only;
1100
-		$theme_colors['outline-purple']    = __( 'Purple outline', 'ayecode-connect' ) . $button_only;
1101
-		$theme_colors['outline-salmon']    = __( 'Salmon outline', 'ayecode-connect' ) . $button_only;
1102
-		$theme_colors['outline-cyan']      = __( 'Cyan outline', 'ayecode-connect' ) . $button_only;
1103
-		$theme_colors['outline-gray']      = __( 'Gray outline', 'ayecode-connect' ) . $button_only;
1104
-		$theme_colors['outline-gray-dark'] = __( 'Gray dark outline', 'ayecode-connect' ) . $button_only;
1105
-		$theme_colors['outline-indigo']    = __( 'Indigo outline', 'ayecode-connect' ) . $button_only;
1106
-		$theme_colors['outline-orange']    = __( 'Orange outline', 'ayecode-connect' ) . $button_only;
1107
-	}
1108
-
1109
-	if ( $include_branding ) {
1110
-		$theme_colors = $theme_colors + sd_aui_branding_colors();
1111
-	}
1112
-
1113
-	if ( $include_translucent ) {
1114
-		$button_only                           = $outline_button_only_text ? ' ' . __( '(button only)', 'ayecode-connect' ) : '';
1115
-		$theme_colors['translucent-primary']   = __( 'Primary translucent', 'ayecode-connect' ) . $button_only;
1116
-		$theme_colors['translucent-secondary'] = __( 'Secondary translucent', 'ayecode-connect' ) . $button_only;
1117
-		$theme_colors['translucent-success']   = __( 'Success translucent', 'ayecode-connect' ) . $button_only;
1118
-		$theme_colors['translucent-danger']    = __( 'Danger translucent', 'ayecode-connect' ) . $button_only;
1119
-		$theme_colors['translucent-warning']   = __( 'Warning translucent', 'ayecode-connect' ) . $button_only;
1120
-		$theme_colors['translucent-info']      = __( 'Info translucent', 'ayecode-connect' ) . $button_only;
1121
-		$theme_colors['translucent-light']     = __( 'Light translucent', 'ayecode-connect' ) . $button_only;
1122
-		$theme_colors['translucent-dark']      = __( 'Dark translucent', 'ayecode-connect' ) . $button_only;
1123
-		$theme_colors['translucent-white']     = __( 'White translucent', 'ayecode-connect' ) . $button_only;
1124
-		$theme_colors['translucent-purple']    = __( 'Purple translucent', 'ayecode-connect' ) . $button_only;
1125
-		$theme_colors['translucent-salmon']    = __( 'Salmon translucent', 'ayecode-connect' ) . $button_only;
1126
-		$theme_colors['translucent-cyan']      = __( 'Cyan translucent', 'ayecode-connect' ) . $button_only;
1127
-		$theme_colors['translucent-gray']      = __( 'Gray translucent', 'ayecode-connect' ) . $button_only;
1128
-		$theme_colors['translucent-gray-dark'] = __( 'Gray dark translucent', 'ayecode-connect' ) . $button_only;
1129
-		$theme_colors['translucent-indigo']    = __( 'Indigo translucent', 'ayecode-connect' ) . $button_only;
1130
-		$theme_colors['translucent-orange']    = __( 'Orange translucent', 'ayecode-connect' ) . $button_only;
1131
-	}
1132
-
1133
-	return apply_filters( 'sd_aui_colors', $theme_colors, $include_outlines, $include_branding );
1026
+    $theme_colors = array();
1027
+
1028
+    $theme_colors['primary']   = __( 'Primary', 'ayecode-connect' );
1029
+    $theme_colors['secondary'] = __( 'Secondary', 'ayecode-connect' );
1030
+    $theme_colors['success']   = __( 'Success', 'ayecode-connect' );
1031
+    $theme_colors['danger']    = __( 'Danger', 'ayecode-connect' );
1032
+    $theme_colors['warning']   = __( 'Warning', 'ayecode-connect' );
1033
+    $theme_colors['info']      = __( 'Info', 'ayecode-connect' );
1034
+    $theme_colors['light']     = __( 'Light', 'ayecode-connect' );
1035
+    $theme_colors['dark']      = __( 'Dark', 'ayecode-connect' );
1036
+    $theme_colors['black']     = __( 'Black', 'ayecode-connect' );
1037
+    $theme_colors['white']     = __( 'White', 'ayecode-connect' );
1038
+    $theme_colors['purple']    = __( 'Purple', 'ayecode-connect' );
1039
+    $theme_colors['salmon']    = __( 'Salmon', 'ayecode-connect' );
1040
+    $theme_colors['cyan']      = __( 'Cyan', 'ayecode-connect' );
1041
+    $theme_colors['gray']      = __( 'Gray', 'ayecode-connect' );
1042
+    $theme_colors['muted']     = __( 'Muted', 'ayecode-connect' );
1043
+    $theme_colors['gray-dark'] = __( 'Gray dark', 'ayecode-connect' );
1044
+    $theme_colors['indigo']    = __( 'Indigo', 'ayecode-connect' );
1045
+    $theme_colors['orange']    = __( 'Orange', 'ayecode-connect' );
1046
+    $theme_colors['body']      = __( 'Body', 'ayecode-connect' );
1047
+
1048
+
1049
+    // for bg and borders
1050
+    if ( $include_subtle ) {
1051
+        $theme_colors['primary-subtle']   = __( 'Primary Subtle', 'ayecode-connect' );
1052
+        $theme_colors['primary-subtle']   = __( 'Primary Subtle', 'ayecode-connect' );
1053
+        $theme_colors['secondary-subtle'] = __( 'Secondary Subtle', 'ayecode-connect' );
1054
+        $theme_colors['success-subtle']   = __( 'Success Subtle', 'ayecode-connect' );
1055
+        $theme_colors['danger-subtle']    = __( 'Danger Subtle', 'ayecode-connect' );
1056
+        $theme_colors['warning-subtle']   = __( 'Warning Subtle', 'ayecode-connect' );
1057
+        $theme_colors['info-subtle']      = __( 'Info Subtle', 'ayecode-connect' );
1058
+        $theme_colors['light-subtle']     = __( 'Light Subtle', 'ayecode-connect' );
1059
+        $theme_colors['dark-subtle']      = __( 'Dark Subtle', 'ayecode-connect' );
1060
+        $theme_colors['purple-subtle']    = __( 'Purple Subtle', 'ayecode-connect' );
1061
+        $theme_colors['salmon-subtle']    = __( 'Salmon Subtle', 'ayecode-connect' );
1062
+        $theme_colors['cyan-subtle']      = __( 'Cyan Subtle', 'ayecode-connect' );
1063
+        $theme_colors['gray-subtle']      = __( 'Gray Subtle', 'ayecode-connect' );
1064
+        $theme_colors['gray-dark-subtle'] = __( 'Gray dark Subtle', 'ayecode-connect' );
1065
+        $theme_colors['indigo-subtle']    = __( 'Indigo Subtle', 'ayecode-connect' );
1066
+        $theme_colors['orange-subtle']    = __( 'Orange Subtle', 'ayecode-connect' );
1067
+    }
1068
+
1069
+    // for texts
1070
+    if ($include_emphasis) {
1071
+        $theme_colors['primary-emphasis']   = __( 'Primary Emphasis', 'ayecode-connect' );
1072
+        $theme_colors['secondary-emphasis'] = __( 'Secondary Emphasis', 'ayecode-connect' );
1073
+        $theme_colors['success-emphasis']   = __( 'Success Emphasis', 'ayecode-connect' );
1074
+        $theme_colors['danger-emphasis']    = __( 'Danger Emphasis', 'ayecode-connect' );
1075
+        $theme_colors['warning-emphasis']   = __( 'Warning Emphasis', 'ayecode-connect' );
1076
+        $theme_colors['info-emphasis']      = __( 'Info Emphasis', 'ayecode-connect' );
1077
+        $theme_colors['light-emphasis']     = __( 'Light Emphasis', 'ayecode-connect' );
1078
+        $theme_colors['dark-emphasis']      = __( 'Dark Emphasis', 'ayecode-connect' );
1079
+        $theme_colors['purple-emphasis']    = __( 'Purple Emphasis', 'ayecode-connect' );
1080
+        $theme_colors['salmon-emphasis']    = __( 'Salmon Emphasis', 'ayecode-connect' );
1081
+        $theme_colors['cyan-emphasis']      = __( 'Cyan Emphasis', 'ayecode-connect' );
1082
+        $theme_colors['gray-emphasis']      = __( 'Gray Emphasis', 'ayecode-connect' );
1083
+        $theme_colors['muted-emphasis']     = __( 'Muted Emphasis', 'ayecode-connect' );
1084
+        $theme_colors['gray-dark-emphasis'] = __( 'Gray dark Emphasis', 'ayecode-connect' );
1085
+        $theme_colors['indigo-emphasis']    = __( 'Indigo Emphasis', 'ayecode-connect' );
1086
+        $theme_colors['orange-emphasis']    = __( 'Orange Emphasis', 'ayecode-connect' );
1087
+    }
1088
+
1089
+    if ( $include_outlines ) {
1090
+        $button_only                       = $outline_button_only_text ? ' ' . __( '(button only)', 'ayecode-connect' ) : '';
1091
+        $theme_colors['outline-primary']   = __( 'Primary outline', 'ayecode-connect' ) . $button_only;
1092
+        $theme_colors['outline-secondary'] = __( 'Secondary outline', 'ayecode-connect' ) . $button_only;
1093
+        $theme_colors['outline-success']   = __( 'Success outline', 'ayecode-connect' ) . $button_only;
1094
+        $theme_colors['outline-danger']    = __( 'Danger outline', 'ayecode-connect' ) . $button_only;
1095
+        $theme_colors['outline-warning']   = __( 'Warning outline', 'ayecode-connect' ) . $button_only;
1096
+        $theme_colors['outline-info']      = __( 'Info outline', 'ayecode-connect' ) . $button_only;
1097
+        $theme_colors['outline-light']     = __( 'Light outline', 'ayecode-connect' ) . $button_only;
1098
+        $theme_colors['outline-dark']      = __( 'Dark outline', 'ayecode-connect' ) . $button_only;
1099
+        $theme_colors['outline-white']     = __( 'White outline', 'ayecode-connect' ) . $button_only;
1100
+        $theme_colors['outline-purple']    = __( 'Purple outline', 'ayecode-connect' ) . $button_only;
1101
+        $theme_colors['outline-salmon']    = __( 'Salmon outline', 'ayecode-connect' ) . $button_only;
1102
+        $theme_colors['outline-cyan']      = __( 'Cyan outline', 'ayecode-connect' ) . $button_only;
1103
+        $theme_colors['outline-gray']      = __( 'Gray outline', 'ayecode-connect' ) . $button_only;
1104
+        $theme_colors['outline-gray-dark'] = __( 'Gray dark outline', 'ayecode-connect' ) . $button_only;
1105
+        $theme_colors['outline-indigo']    = __( 'Indigo outline', 'ayecode-connect' ) . $button_only;
1106
+        $theme_colors['outline-orange']    = __( 'Orange outline', 'ayecode-connect' ) . $button_only;
1107
+    }
1108
+
1109
+    if ( $include_branding ) {
1110
+        $theme_colors = $theme_colors + sd_aui_branding_colors();
1111
+    }
1112
+
1113
+    if ( $include_translucent ) {
1114
+        $button_only                           = $outline_button_only_text ? ' ' . __( '(button only)', 'ayecode-connect' ) : '';
1115
+        $theme_colors['translucent-primary']   = __( 'Primary translucent', 'ayecode-connect' ) . $button_only;
1116
+        $theme_colors['translucent-secondary'] = __( 'Secondary translucent', 'ayecode-connect' ) . $button_only;
1117
+        $theme_colors['translucent-success']   = __( 'Success translucent', 'ayecode-connect' ) . $button_only;
1118
+        $theme_colors['translucent-danger']    = __( 'Danger translucent', 'ayecode-connect' ) . $button_only;
1119
+        $theme_colors['translucent-warning']   = __( 'Warning translucent', 'ayecode-connect' ) . $button_only;
1120
+        $theme_colors['translucent-info']      = __( 'Info translucent', 'ayecode-connect' ) . $button_only;
1121
+        $theme_colors['translucent-light']     = __( 'Light translucent', 'ayecode-connect' ) . $button_only;
1122
+        $theme_colors['translucent-dark']      = __( 'Dark translucent', 'ayecode-connect' ) . $button_only;
1123
+        $theme_colors['translucent-white']     = __( 'White translucent', 'ayecode-connect' ) . $button_only;
1124
+        $theme_colors['translucent-purple']    = __( 'Purple translucent', 'ayecode-connect' ) . $button_only;
1125
+        $theme_colors['translucent-salmon']    = __( 'Salmon translucent', 'ayecode-connect' ) . $button_only;
1126
+        $theme_colors['translucent-cyan']      = __( 'Cyan translucent', 'ayecode-connect' ) . $button_only;
1127
+        $theme_colors['translucent-gray']      = __( 'Gray translucent', 'ayecode-connect' ) . $button_only;
1128
+        $theme_colors['translucent-gray-dark'] = __( 'Gray dark translucent', 'ayecode-connect' ) . $button_only;
1129
+        $theme_colors['translucent-indigo']    = __( 'Indigo translucent', 'ayecode-connect' ) . $button_only;
1130
+        $theme_colors['translucent-orange']    = __( 'Orange translucent', 'ayecode-connect' ) . $button_only;
1131
+    }
1132
+
1133
+    return apply_filters( 'sd_aui_colors', $theme_colors, $include_outlines, $include_branding );
1134 1134
 }
1135 1135
 
1136 1136
 /**
@@ -1139,19 +1139,19 @@  discard block
 block discarded – undo
1139 1139
  * @return array
1140 1140
  */
1141 1141
 function sd_aui_branding_colors() {
1142
-	return array(
1143
-		'facebook'  => __( 'Facebook', 'ayecode-connect' ),
1144
-		'twitter'   => __( 'Twitter', 'ayecode-connect' ),
1145
-		'instagram' => __( 'Instagram', 'ayecode-connect' ),
1146
-		'linkedin'  => __( 'Linkedin', 'ayecode-connect' ),
1147
-		'flickr'    => __( 'Flickr', 'ayecode-connect' ),
1148
-		'github'    => __( 'GitHub', 'ayecode-connect' ),
1149
-		'youtube'   => __( 'YouTube', 'ayecode-connect' ),
1150
-		'wordpress' => __( 'WordPress', 'ayecode-connect' ),
1151
-		'google'    => __( 'Google', 'ayecode-connect' ),
1152
-		'yahoo'     => __( 'Yahoo', 'ayecode-connect' ),
1153
-		'vkontakte' => __( 'Vkontakte', 'ayecode-connect' ),
1154
-	);
1142
+    return array(
1143
+        'facebook'  => __( 'Facebook', 'ayecode-connect' ),
1144
+        'twitter'   => __( 'Twitter', 'ayecode-connect' ),
1145
+        'instagram' => __( 'Instagram', 'ayecode-connect' ),
1146
+        'linkedin'  => __( 'Linkedin', 'ayecode-connect' ),
1147
+        'flickr'    => __( 'Flickr', 'ayecode-connect' ),
1148
+        'github'    => __( 'GitHub', 'ayecode-connect' ),
1149
+        'youtube'   => __( 'YouTube', 'ayecode-connect' ),
1150
+        'wordpress' => __( 'WordPress', 'ayecode-connect' ),
1151
+        'google'    => __( 'Google', 'ayecode-connect' ),
1152
+        'yahoo'     => __( 'Yahoo', 'ayecode-connect' ),
1153
+        'vkontakte' => __( 'Vkontakte', 'ayecode-connect' ),
1154
+    );
1155 1155
 }
1156 1156
 
1157 1157
 
@@ -1165,38 +1165,38 @@  discard block
 block discarded – undo
1165 1165
  */
1166 1166
 function sd_get_container_class_input( $type = 'container', $overwrite = array() ) {
1167 1167
 
1168
-	$options = array(
1169
-		'container'       => __( 'container (default)', 'ayecode-connect' ),
1170
-		'container-sm'    => 'container-sm',
1171
-		'container-md'    => 'container-md',
1172
-		'container-lg'    => 'container-lg',
1173
-		'container-xl'    => 'container-xl',
1174
-		'container-xxl'   => 'container-xxl',
1175
-		'container-fluid' => 'container-fluid',
1176
-		'row'             => 'row',
1177
-		'col'             => 'col',
1178
-		'card'            => 'card',
1179
-		'card-header'     => 'card-header',
1180
-		'card-img-top'    => 'card-img-top',
1181
-		'card-body'       => 'card-body',
1182
-		'card-footer'     => 'card-footer',
1183
-		'list-group'      => 'list-group',
1184
-		'list-group-item' => 'list-group-item',
1185
-		''                => __( 'no container class', 'ayecode-connect' ),
1186
-	);
1187
-
1188
-	$defaults = array(
1189
-		'type'     => 'select',
1190
-		'title'    => __( 'Type', 'ayecode-connect' ),
1191
-		'options'  => $options,
1192
-		'default'  => '',
1193
-		'desc_tip' => true,
1194
-		'group'    => __( 'Container', 'ayecode-connect' ),
1195
-	);
1196
-
1197
-	$input = wp_parse_args( $overwrite, $defaults );
1198
-
1199
-	return $input;
1168
+    $options = array(
1169
+        'container'       => __( 'container (default)', 'ayecode-connect' ),
1170
+        'container-sm'    => 'container-sm',
1171
+        'container-md'    => 'container-md',
1172
+        'container-lg'    => 'container-lg',
1173
+        'container-xl'    => 'container-xl',
1174
+        'container-xxl'   => 'container-xxl',
1175
+        'container-fluid' => 'container-fluid',
1176
+        'row'             => 'row',
1177
+        'col'             => 'col',
1178
+        'card'            => 'card',
1179
+        'card-header'     => 'card-header',
1180
+        'card-img-top'    => 'card-img-top',
1181
+        'card-body'       => 'card-body',
1182
+        'card-footer'     => 'card-footer',
1183
+        'list-group'      => 'list-group',
1184
+        'list-group-item' => 'list-group-item',
1185
+        ''                => __( 'no container class', 'ayecode-connect' ),
1186
+    );
1187
+
1188
+    $defaults = array(
1189
+        'type'     => 'select',
1190
+        'title'    => __( 'Type', 'ayecode-connect' ),
1191
+        'options'  => $options,
1192
+        'default'  => '',
1193
+        'desc_tip' => true,
1194
+        'group'    => __( 'Container', 'ayecode-connect' ),
1195
+    );
1196
+
1197
+    $input = wp_parse_args( $overwrite, $defaults );
1198
+
1199
+    return $input;
1200 1200
 }
1201 1201
 
1202 1202
 /**
@@ -1209,30 +1209,30 @@  discard block
 block discarded – undo
1209 1209
  */
1210 1210
 function sd_get_position_class_input( $type = 'position', $overwrite = array() ) {
1211 1211
 
1212
-	$options = array(
1213
-		''                  => __( 'Default', 'ayecode-connect' ),
1214
-		'position-static'   => 'static',
1215
-		'position-relative' => 'relative',
1216
-		'position-absolute' => 'absolute',
1217
-		'position-fixed'    => 'fixed',
1218
-		'position-sticky'   => 'sticky',
1219
-		'fixed-top'         => 'fixed-top',
1220
-		'fixed-bottom'      => 'fixed-bottom',
1221
-		'sticky-top'        => 'sticky-top',
1222
-	);
1212
+    $options = array(
1213
+        ''                  => __( 'Default', 'ayecode-connect' ),
1214
+        'position-static'   => 'static',
1215
+        'position-relative' => 'relative',
1216
+        'position-absolute' => 'absolute',
1217
+        'position-fixed'    => 'fixed',
1218
+        'position-sticky'   => 'sticky',
1219
+        'fixed-top'         => 'fixed-top',
1220
+        'fixed-bottom'      => 'fixed-bottom',
1221
+        'sticky-top'        => 'sticky-top',
1222
+    );
1223 1223
 
1224
-	$defaults = array(
1225
-		'type'     => 'select',
1226
-		'title'    => __( 'Position', 'ayecode-connect' ),
1227
-		'options'  => $options,
1228
-		'default'  => '',
1229
-		'desc_tip' => true,
1230
-		'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
1231
-	);
1224
+    $defaults = array(
1225
+        'type'     => 'select',
1226
+        'title'    => __( 'Position', 'ayecode-connect' ),
1227
+        'options'  => $options,
1228
+        'default'  => '',
1229
+        'desc_tip' => true,
1230
+        'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
1231
+    );
1232 1232
 
1233
-	$input = wp_parse_args( $overwrite, $defaults );
1233
+    $input = wp_parse_args( $overwrite, $defaults );
1234 1234
 
1235
-	return $input;
1235
+    return $input;
1236 1236
 }
1237 1237
 
1238 1238
 /**
@@ -1243,32 +1243,32 @@  discard block
 block discarded – undo
1243 1243
  */
1244 1244
 function sd_get_absolute_position_input( $type = 'absolute_position', $overwrite = array() ) {
1245 1245
 
1246
-	$options = array(
1247
-		''              => __( 'Default', 'ayecode-connect' ),
1248
-		'top-left'      => 'top-left',
1249
-		'top-center'    => 'top-center',
1250
-		'top-right'     => 'top-right',
1251
-		'center-left'   => 'middle-left',
1252
-		'center'        => 'center',
1253
-		'center-right'  => 'middle-right',
1254
-		'bottom-left'   => 'bottom-left',
1255
-		'bottom-center' => 'bottom-center',
1256
-		'bottom-right'  => 'bottom-right',
1257
-	);
1246
+    $options = array(
1247
+        ''              => __( 'Default', 'ayecode-connect' ),
1248
+        'top-left'      => 'top-left',
1249
+        'top-center'    => 'top-center',
1250
+        'top-right'     => 'top-right',
1251
+        'center-left'   => 'middle-left',
1252
+        'center'        => 'center',
1253
+        'center-right'  => 'middle-right',
1254
+        'bottom-left'   => 'bottom-left',
1255
+        'bottom-center' => 'bottom-center',
1256
+        'bottom-right'  => 'bottom-right',
1257
+    );
1258 1258
 
1259
-	$defaults = array(
1260
-		'type'            => 'select',
1261
-		'title'           => __( 'Absolute Position', 'ayecode-connect' ),
1262
-		'options'         => $options,
1263
-		'default'         => '',
1264
-		'desc_tip'        => true,
1265
-		'group'           => __( 'Wrapper Styles', 'ayecode-connect' ),
1266
-		'element_require' => '[%position%]=="position-absolute"',
1267
-	);
1259
+    $defaults = array(
1260
+        'type'            => 'select',
1261
+        'title'           => __( 'Absolute Position', 'ayecode-connect' ),
1262
+        'options'         => $options,
1263
+        'default'         => '',
1264
+        'desc_tip'        => true,
1265
+        'group'           => __( 'Wrapper Styles', 'ayecode-connect' ),
1266
+        'element_require' => '[%position%]=="position-absolute"',
1267
+    );
1268 1268
 
1269
-	$input = wp_parse_args( $overwrite, $defaults );
1269
+    $input = wp_parse_args( $overwrite, $defaults );
1270 1270
 
1271
-	return $input;
1271
+    return $input;
1272 1272
 }
1273 1273
 
1274 1274
 /**
@@ -1281,38 +1281,38 @@  discard block
 block discarded – undo
1281 1281
  */
1282 1282
 function sd_get_sticky_offset_input( $type = 'top', $overwrite = array() ) {
1283 1283
 
1284
-	$defaults = array(
1285
-		'type'            => 'number',
1286
-		'title'           => __( 'Sticky offset', 'ayecode-connect' ),
1287
-		//'desc' =>  __( 'Sticky offset', 'ayecode-connect' ),
1288
-		'default'         => '',
1289
-		'desc_tip'        => true,
1290
-		'group'           => __( 'Wrapper Styles', 'ayecode-connect' ),
1291
-		'element_require' => '[%position%]=="sticky" || [%position%]=="sticky-top"',
1292
-	);
1293
-
1294
-	// title
1295
-	if ( $type == 'top' ) {
1296
-		$defaults['title'] = __( 'Top offset', 'ayecode-connect' );
1297
-		$defaults['icon']  = 'box-top';
1298
-		$defaults['row']   = array(
1299
-			'title' => __( 'Sticky offset', 'ayecode-connect' ),
1300
-			'key'   => 'sticky-offset',
1301
-			'open'  => true,
1302
-			'class' => 'text-center',
1303
-		);
1304
-	} elseif ( $type == 'bottom' ) {
1305
-		$defaults['title'] = __( 'Bottom offset', 'ayecode-connect' );
1306
-		$defaults['icon']  = 'box-bottom';
1307
-		$defaults['row']   = array(
1308
-			'key'   => 'sticky-offset',
1309
-			'close' => true,
1310
-		);
1311
-	}
1312
-
1313
-	$input = wp_parse_args( $overwrite, $defaults );
1314
-
1315
-	return $input;
1284
+    $defaults = array(
1285
+        'type'            => 'number',
1286
+        'title'           => __( 'Sticky offset', 'ayecode-connect' ),
1287
+        //'desc' =>  __( 'Sticky offset', 'ayecode-connect' ),
1288
+        'default'         => '',
1289
+        'desc_tip'        => true,
1290
+        'group'           => __( 'Wrapper Styles', 'ayecode-connect' ),
1291
+        'element_require' => '[%position%]=="sticky" || [%position%]=="sticky-top"',
1292
+    );
1293
+
1294
+    // title
1295
+    if ( $type == 'top' ) {
1296
+        $defaults['title'] = __( 'Top offset', 'ayecode-connect' );
1297
+        $defaults['icon']  = 'box-top';
1298
+        $defaults['row']   = array(
1299
+            'title' => __( 'Sticky offset', 'ayecode-connect' ),
1300
+            'key'   => 'sticky-offset',
1301
+            'open'  => true,
1302
+            'class' => 'text-center',
1303
+        );
1304
+    } elseif ( $type == 'bottom' ) {
1305
+        $defaults['title'] = __( 'Bottom offset', 'ayecode-connect' );
1306
+        $defaults['icon']  = 'box-bottom';
1307
+        $defaults['row']   = array(
1308
+            'key'   => 'sticky-offset',
1309
+            'close' => true,
1310
+        );
1311
+    }
1312
+
1313
+    $input = wp_parse_args( $overwrite, $defaults );
1314
+
1315
+    return $input;
1316 1316
 }
1317 1317
 
1318 1318
 /**
@@ -1324,61 +1324,61 @@  discard block
 block discarded – undo
1324 1324
  * @return array
1325 1325
  */
1326 1326
 function sd_get_font_size_input( $type = 'font_size', $overwrite = array(), $has_custom = false ) {
1327
-	global $aui_bs5;
1328
-
1329
-	$options[] = __( 'Inherit from parent', 'ayecode-connect' );
1330
-	if ( $aui_bs5 ) {
1331
-		// responsive font sizes
1332
-		$options['fs-base'] = 'fs-base (body default)';
1333
-		$options['fs-6']    = 'fs-6';
1334
-		$options['fs-5']    = 'fs-5';
1335
-		$options['fs-4']    = 'fs-4';
1336
-		$options['fs-3']    = 'fs-3';
1337
-		$options['fs-2']    = 'fs-2';
1338
-		$options['fs-1']    = 'fs-1';
1339
-
1340
-		// custom
1341
-		$options['fs-lg']  = 'fs-lg';
1342
-		$options['fs-sm']  = 'fs-sm';
1343
-		$options['fs-xs']  = 'fs-xs';
1344
-		$options['fs-xxs'] = 'fs-xxs';
1345
-
1346
-	}
1347
-
1348
-	$options = $options + array(
1349
-			'h6'        => 'h6',
1350
-			'h5'        => 'h5',
1351
-			'h4'        => 'h4',
1352
-			'h3'        => 'h3',
1353
-			'h2'        => 'h2',
1354
-			'h1'        => 'h1',
1355
-			'display-1' => 'display-1',
1356
-			'display-2' => 'display-2',
1357
-			'display-3' => 'display-3',
1358
-			'display-4' => 'display-4',
1359
-		);
1360
-
1361
-	if ( $aui_bs5 ) {
1362
-		$options['display-5'] = 'display-5';
1363
-		$options['display-6'] = 'display-6';
1364
-	}
1365
-
1366
-	if ( $has_custom ) {
1367
-		$options['custom'] = __( 'Custom size', 'ayecode-connect' );
1368
-	}
1369
-
1370
-	$defaults = array(
1371
-		'type'     => 'select',
1372
-		'title'    => __( 'Font size', 'ayecode-connect' ),
1373
-		'options'  => $options,
1374
-		'default'  => '',
1375
-		'desc_tip' => true,
1376
-		'group'    => __( 'Typography', 'ayecode-connect' ),
1377
-	);
1378
-
1379
-	$input = wp_parse_args( $overwrite, $defaults );
1380
-
1381
-	return $input;
1327
+    global $aui_bs5;
1328
+
1329
+    $options[] = __( 'Inherit from parent', 'ayecode-connect' );
1330
+    if ( $aui_bs5 ) {
1331
+        // responsive font sizes
1332
+        $options['fs-base'] = 'fs-base (body default)';
1333
+        $options['fs-6']    = 'fs-6';
1334
+        $options['fs-5']    = 'fs-5';
1335
+        $options['fs-4']    = 'fs-4';
1336
+        $options['fs-3']    = 'fs-3';
1337
+        $options['fs-2']    = 'fs-2';
1338
+        $options['fs-1']    = 'fs-1';
1339
+
1340
+        // custom
1341
+        $options['fs-lg']  = 'fs-lg';
1342
+        $options['fs-sm']  = 'fs-sm';
1343
+        $options['fs-xs']  = 'fs-xs';
1344
+        $options['fs-xxs'] = 'fs-xxs';
1345
+
1346
+    }
1347
+
1348
+    $options = $options + array(
1349
+            'h6'        => 'h6',
1350
+            'h5'        => 'h5',
1351
+            'h4'        => 'h4',
1352
+            'h3'        => 'h3',
1353
+            'h2'        => 'h2',
1354
+            'h1'        => 'h1',
1355
+            'display-1' => 'display-1',
1356
+            'display-2' => 'display-2',
1357
+            'display-3' => 'display-3',
1358
+            'display-4' => 'display-4',
1359
+        );
1360
+
1361
+    if ( $aui_bs5 ) {
1362
+        $options['display-5'] = 'display-5';
1363
+        $options['display-6'] = 'display-6';
1364
+    }
1365
+
1366
+    if ( $has_custom ) {
1367
+        $options['custom'] = __( 'Custom size', 'ayecode-connect' );
1368
+    }
1369
+
1370
+    $defaults = array(
1371
+        'type'     => 'select',
1372
+        'title'    => __( 'Font size', 'ayecode-connect' ),
1373
+        'options'  => $options,
1374
+        'default'  => '',
1375
+        'desc_tip' => true,
1376
+        'group'    => __( 'Typography', 'ayecode-connect' ),
1377
+    );
1378
+
1379
+    $input = wp_parse_args( $overwrite, $defaults );
1380
+
1381
+    return $input;
1382 1382
 }
1383 1383
 
1384 1384
 /**
@@ -1391,27 +1391,27 @@  discard block
 block discarded – undo
1391 1391
  */
1392 1392
 function sd_get_font_custom_size_input( $type = 'font_size_custom', $overwrite = array(), $parent_type = '' ) {
1393 1393
 
1394
-	$defaults = array(
1395
-		'type'              => 'number',
1396
-		'title'             => __( 'Font size (rem)', 'ayecode-connect' ),
1397
-		'default'           => '',
1398
-		'placeholder'       => '1.25',
1399
-		'custom_attributes' => array(
1400
-			'step' => '0.1',
1401
-			'min'  => '0',
1402
-			'max'  => '100',
1403
-		),
1404
-		'desc_tip'          => true,
1405
-		'group'             => __( 'Typography', 'ayecode-connect' ),
1406
-	);
1394
+    $defaults = array(
1395
+        'type'              => 'number',
1396
+        'title'             => __( 'Font size (rem)', 'ayecode-connect' ),
1397
+        'default'           => '',
1398
+        'placeholder'       => '1.25',
1399
+        'custom_attributes' => array(
1400
+            'step' => '0.1',
1401
+            'min'  => '0',
1402
+            'max'  => '100',
1403
+        ),
1404
+        'desc_tip'          => true,
1405
+        'group'             => __( 'Typography', 'ayecode-connect' ),
1406
+    );
1407 1407
 
1408
-	if ( $parent_type ) {
1409
-		$defaults['element_require'] = '[%' . $parent_type . '%]=="custom"';
1410
-	}
1408
+    if ( $parent_type ) {
1409
+        $defaults['element_require'] = '[%' . $parent_type . '%]=="custom"';
1410
+    }
1411 1411
 
1412
-	$input = wp_parse_args( $overwrite, $defaults );
1412
+    $input = wp_parse_args( $overwrite, $defaults );
1413 1413
 
1414
-	return $input;
1414
+    return $input;
1415 1415
 }
1416 1416
 
1417 1417
 /**
@@ -1424,23 +1424,23 @@  discard block
 block discarded – undo
1424 1424
  */
1425 1425
 function sd_get_font_line_height_input( $type = 'font_line_height', $overwrite = array() ) {
1426 1426
 
1427
-	$defaults = array(
1428
-		'type'              => 'number',
1429
-		'title'             => __( 'Font Line Height', 'ayecode-connect' ),
1430
-		'default'           => '',
1431
-		'placeholder'       => '1.75',
1432
-		'custom_attributes' => array(
1433
-			'step' => '0.1',
1434
-			'min'  => '0',
1435
-			'max'  => '100',
1436
-		),
1437
-		'desc_tip'          => true,
1438
-		'group'             => __( 'Typography', 'ayecode-connect' ),
1439
-	);
1427
+    $defaults = array(
1428
+        'type'              => 'number',
1429
+        'title'             => __( 'Font Line Height', 'ayecode-connect' ),
1430
+        'default'           => '',
1431
+        'placeholder'       => '1.75',
1432
+        'custom_attributes' => array(
1433
+            'step' => '0.1',
1434
+            'min'  => '0',
1435
+            'max'  => '100',
1436
+        ),
1437
+        'desc_tip'          => true,
1438
+        'group'             => __( 'Typography', 'ayecode-connect' ),
1439
+    );
1440 1440
 
1441
-	$input = wp_parse_args( $overwrite, $defaults );
1441
+    $input = wp_parse_args( $overwrite, $defaults );
1442 1442
 
1443
-	return $input;
1443
+    return $input;
1444 1444
 }
1445 1445
 
1446 1446
 /**
@@ -1453,18 +1453,18 @@  discard block
 block discarded – undo
1453 1453
  */
1454 1454
 function sd_get_font_size_input_group( $type = 'font_size', $overwrite = array(), $overwrite_custom = array() ) {
1455 1455
 
1456
-	$inputs = array();
1456
+    $inputs = array();
1457 1457
 
1458
-	if ( $overwrite !== false ) {
1459
-		$inputs[ $type ] = sd_get_font_size_input( $type, $overwrite, true );
1460
-	}
1458
+    if ( $overwrite !== false ) {
1459
+        $inputs[ $type ] = sd_get_font_size_input( $type, $overwrite, true );
1460
+    }
1461 1461
 
1462
-	if ( $overwrite_custom !== false ) {
1463
-		$custom            = $type . '_custom';
1464
-		$inputs[ $custom ] = sd_get_font_custom_size_input( $custom, $overwrite_custom, $type );
1465
-	}
1462
+    if ( $overwrite_custom !== false ) {
1463
+        $custom            = $type . '_custom';
1464
+        $inputs[ $custom ] = sd_get_font_custom_size_input( $custom, $overwrite_custom, $type );
1465
+    }
1466 1466
 
1467
-	return $inputs;
1467
+    return $inputs;
1468 1468
 }
1469 1469
 
1470 1470
 /**
@@ -1477,33 +1477,33 @@  discard block
 block discarded – undo
1477 1477
  */
1478 1478
 function sd_get_font_weight_input( $type = 'font_weight', $overwrite = array() ) {
1479 1479
 
1480
-	$options = array(
1481
-		''                                => __( 'Inherit', 'ayecode-connect' ),
1482
-		'font-weight-bold'                => 'bold',
1483
-		'font-weight-bolder'              => 'bolder',
1484
-		'font-weight-normal'              => 'normal',
1485
-		'font-weight-light'               => 'light',
1486
-		'font-weight-lighter'             => 'lighter',
1487
-		'font-italic'                     => 'italic',
1488
-		'font-weight-bold font-italic'    => 'bold italic',
1489
-		'font-weight-bolder font-italic'  => 'bolder italic',
1490
-		'font-weight-normal font-italic'  => 'normal italic',
1491
-		'font-weight-light font-italic'   => 'light italic',
1492
-		'font-weight-lighter font-italic' => 'lighter italic',
1493
-	);
1480
+    $options = array(
1481
+        ''                                => __( 'Inherit', 'ayecode-connect' ),
1482
+        'font-weight-bold'                => 'bold',
1483
+        'font-weight-bolder'              => 'bolder',
1484
+        'font-weight-normal'              => 'normal',
1485
+        'font-weight-light'               => 'light',
1486
+        'font-weight-lighter'             => 'lighter',
1487
+        'font-italic'                     => 'italic',
1488
+        'font-weight-bold font-italic'    => 'bold italic',
1489
+        'font-weight-bolder font-italic'  => 'bolder italic',
1490
+        'font-weight-normal font-italic'  => 'normal italic',
1491
+        'font-weight-light font-italic'   => 'light italic',
1492
+        'font-weight-lighter font-italic' => 'lighter italic',
1493
+    );
1494 1494
 
1495
-	$defaults = array(
1496
-		'type'     => 'select',
1497
-		'title'    => __( 'Appearance', 'ayecode-connect' ),
1498
-		'options'  => $options,
1499
-		'default'  => '',
1500
-		'desc_tip' => true,
1501
-		'group'    => __( 'Typography', 'ayecode-connect' ),
1502
-	);
1495
+    $defaults = array(
1496
+        'type'     => 'select',
1497
+        'title'    => __( 'Appearance', 'ayecode-connect' ),
1498
+        'options'  => $options,
1499
+        'default'  => '',
1500
+        'desc_tip' => true,
1501
+        'group'    => __( 'Typography', 'ayecode-connect' ),
1502
+    );
1503 1503
 
1504
-	$input = wp_parse_args( $overwrite, $defaults );
1504
+    $input = wp_parse_args( $overwrite, $defaults );
1505 1505
 
1506
-	return $input;
1506
+    return $input;
1507 1507
 }
1508 1508
 
1509 1509
 /**
@@ -1516,25 +1516,25 @@  discard block
 block discarded – undo
1516 1516
  */
1517 1517
 function sd_get_font_case_input( $type = 'font_weight', $overwrite = array() ) {
1518 1518
 
1519
-	$options = array(
1520
-		''                => __( 'Default', 'ayecode-connect' ),
1521
-		'text-lowercase'  => __( 'lowercase', 'ayecode-connect' ),
1522
-		'text-uppercase'  => __( 'UPPERCASE', 'ayecode-connect' ),
1523
-		'text-capitalize' => __( 'Capitalize', 'ayecode-connect' ),
1524
-	);
1519
+    $options = array(
1520
+        ''                => __( 'Default', 'ayecode-connect' ),
1521
+        'text-lowercase'  => __( 'lowercase', 'ayecode-connect' ),
1522
+        'text-uppercase'  => __( 'UPPERCASE', 'ayecode-connect' ),
1523
+        'text-capitalize' => __( 'Capitalize', 'ayecode-connect' ),
1524
+    );
1525 1525
 
1526
-	$defaults = array(
1527
-		'type'     => 'select',
1528
-		'title'    => __( 'Letter case', 'ayecode-connect' ),
1529
-		'options'  => $options,
1530
-		'default'  => '',
1531
-		'desc_tip' => true,
1532
-		'group'    => __( 'Typography', 'ayecode-connect' ),
1533
-	);
1526
+    $defaults = array(
1527
+        'type'     => 'select',
1528
+        'title'    => __( 'Letter case', 'ayecode-connect' ),
1529
+        'options'  => $options,
1530
+        'default'  => '',
1531
+        'desc_tip' => true,
1532
+        'group'    => __( 'Typography', 'ayecode-connect' ),
1533
+    );
1534 1534
 
1535
-	$input = wp_parse_args( $overwrite, $defaults );
1535
+    $input = wp_parse_args( $overwrite, $defaults );
1536 1536
 
1537
-	return $input;
1537
+    return $input;
1538 1538
 }
1539 1539
 
1540 1540
 /**
@@ -1548,23 +1548,23 @@  discard block
 block discarded – undo
1548 1548
  */
1549 1549
 function sd_get_font_italic_input( $type = 'font_italic', $overwrite = array() ) {
1550 1550
 
1551
-	$options = array(
1552
-		''            => __( 'No', 'ayecode-connect' ),
1553
-		'font-italic' => __( 'Yes', 'ayecode-connect' ),
1554
-	);
1551
+    $options = array(
1552
+        ''            => __( 'No', 'ayecode-connect' ),
1553
+        'font-italic' => __( 'Yes', 'ayecode-connect' ),
1554
+    );
1555 1555
 
1556
-	$defaults = array(
1557
-		'type'     => 'select',
1558
-		'title'    => __( 'Font italic', 'ayecode-connect' ),
1559
-		'options'  => $options,
1560
-		'default'  => '',
1561
-		'desc_tip' => true,
1562
-		'group'    => __( 'Typography', 'ayecode-connect' ),
1563
-	);
1556
+    $defaults = array(
1557
+        'type'     => 'select',
1558
+        'title'    => __( 'Font italic', 'ayecode-connect' ),
1559
+        'options'  => $options,
1560
+        'default'  => '',
1561
+        'desc_tip' => true,
1562
+        'group'    => __( 'Typography', 'ayecode-connect' ),
1563
+    );
1564 1564
 
1565
-	$input = wp_parse_args( $overwrite, $defaults );
1565
+    $input = wp_parse_args( $overwrite, $defaults );
1566 1566
 
1567
-	return $input;
1567
+    return $input;
1568 1568
 }
1569 1569
 
1570 1570
 /**
@@ -1577,18 +1577,18 @@  discard block
 block discarded – undo
1577 1577
  */
1578 1578
 function sd_get_anchor_input( $type = 'anchor', $overwrite = array() ) {
1579 1579
 
1580
-	$defaults = array(
1581
-		'type'     => 'text',
1582
-		'title'    => __( 'HTML anchor', 'ayecode-connect' ),
1583
-		'desc'     => __( 'Enter a word or two — without spaces — to make a unique web address just for this block, called an “anchor.” Then, you’ll be able to link directly to this section of your page.', 'ayecode-connect' ),
1584
-		'default'  => '',
1585
-		'desc_tip' => true,
1586
-		'group'    => __( 'Advanced', 'ayecode-connect' ),
1587
-	);
1580
+    $defaults = array(
1581
+        'type'     => 'text',
1582
+        'title'    => __( 'HTML anchor', 'ayecode-connect' ),
1583
+        'desc'     => __( 'Enter a word or two — without spaces — to make a unique web address just for this block, called an “anchor.” Then, you’ll be able to link directly to this section of your page.', 'ayecode-connect' ),
1584
+        'default'  => '',
1585
+        'desc_tip' => true,
1586
+        'group'    => __( 'Advanced', 'ayecode-connect' ),
1587
+    );
1588 1588
 
1589
-	$input = wp_parse_args( $overwrite, $defaults );
1589
+    $input = wp_parse_args( $overwrite, $defaults );
1590 1590
 
1591
-	return $input;
1591
+    return $input;
1592 1592
 }
1593 1593
 
1594 1594
 /**
@@ -1601,18 +1601,18 @@  discard block
 block discarded – undo
1601 1601
  */
1602 1602
 function sd_get_class_input( $type = 'css_class', $overwrite = array() ) {
1603 1603
 
1604
-	$defaults = array(
1605
-		'type'     => 'text',
1606
-		'title'    => __( 'Additional CSS class(es)', 'ayecode-connect' ),
1607
-		'desc'     => __( 'Separate multiple classes with spaces.', 'ayecode-connect' ),
1608
-		'default'  => '',
1609
-		'desc_tip' => true,
1610
-		'group'    => __( 'Advanced', 'ayecode-connect' ),
1611
-	);
1604
+    $defaults = array(
1605
+        'type'     => 'text',
1606
+        'title'    => __( 'Additional CSS class(es)', 'ayecode-connect' ),
1607
+        'desc'     => __( 'Separate multiple classes with spaces.', 'ayecode-connect' ),
1608
+        'default'  => '',
1609
+        'desc_tip' => true,
1610
+        'group'    => __( 'Advanced', 'ayecode-connect' ),
1611
+    );
1612 1612
 
1613
-	$input = wp_parse_args( $overwrite, $defaults );
1613
+    $input = wp_parse_args( $overwrite, $defaults );
1614 1614
 
1615
-	return $input;
1615
+    return $input;
1616 1616
 }
1617 1617
 
1618 1618
 /**
@@ -1625,18 +1625,18 @@  discard block
 block discarded – undo
1625 1625
  */
1626 1626
 function sd_get_custom_name_input( $type = 'metadata_name', $overwrite = array() ) {
1627 1627
 
1628
-	$defaults = array(
1629
-		'type'     => 'text',
1630
-		'title'    => __( 'Block Name', 'ayecode-connect' ),
1631
-		'desc'     => __( 'Set a custom name for this block', 'ayecode-connect' ),
1632
-		'default'  => '',
1633
-		'desc_tip' => true,
1634
-		'group'    => __( 'Advanced', 'ayecode-connect' ),
1635
-	);
1628
+    $defaults = array(
1629
+        'type'     => 'text',
1630
+        'title'    => __( 'Block Name', 'ayecode-connect' ),
1631
+        'desc'     => __( 'Set a custom name for this block', 'ayecode-connect' ),
1632
+        'default'  => '',
1633
+        'desc_tip' => true,
1634
+        'group'    => __( 'Advanced', 'ayecode-connect' ),
1635
+    );
1636 1636
 
1637
-	$input = wp_parse_args( $overwrite, $defaults );
1637
+    $input = wp_parse_args( $overwrite, $defaults );
1638 1638
 
1639
-	return $input;
1639
+    return $input;
1640 1640
 }
1641 1641
 
1642 1642
 /**
@@ -1649,341 +1649,341 @@  discard block
 block discarded – undo
1649 1649
  */
1650 1650
 function sd_get_hover_animations_input( $type = 'hover_animations', $overwrite = array() ) {
1651 1651
 
1652
-	$options = array(
1653
-		''                 => __( 'none', 'ayecode-connect' ),
1654
-		'hover-zoom'       => __( 'Zoom', 'ayecode-connect' ),
1655
-		'hover-shadow'     => __( 'Shadow', 'ayecode-connect' ),
1656
-		'hover-move-up'    => __( 'Move up', 'ayecode-connect' ),
1657
-		'hover-move-down'  => __( 'Move down', 'ayecode-connect' ),
1658
-		'hover-move-left'  => __( 'Move left', 'ayecode-connect' ),
1659
-		'hover-move-right' => __( 'Move right', 'ayecode-connect' ),
1660
-	);
1652
+    $options = array(
1653
+        ''                 => __( 'none', 'ayecode-connect' ),
1654
+        'hover-zoom'       => __( 'Zoom', 'ayecode-connect' ),
1655
+        'hover-shadow'     => __( 'Shadow', 'ayecode-connect' ),
1656
+        'hover-move-up'    => __( 'Move up', 'ayecode-connect' ),
1657
+        'hover-move-down'  => __( 'Move down', 'ayecode-connect' ),
1658
+        'hover-move-left'  => __( 'Move left', 'ayecode-connect' ),
1659
+        'hover-move-right' => __( 'Move right', 'ayecode-connect' ),
1660
+    );
1661 1661
 
1662
-	$defaults = array(
1663
-		'type'     => 'select',
1664
-		'multiple' => true,
1665
-		'title'    => __( 'Hover Animations', 'ayecode-connect' ),
1666
-		'options'  => $options,
1667
-		'default'  => '',
1668
-		'desc_tip' => true,
1669
-		'group'    => __( 'Hover Animations', 'ayecode-connect' ),
1670
-	);
1662
+    $defaults = array(
1663
+        'type'     => 'select',
1664
+        'multiple' => true,
1665
+        'title'    => __( 'Hover Animations', 'ayecode-connect' ),
1666
+        'options'  => $options,
1667
+        'default'  => '',
1668
+        'desc_tip' => true,
1669
+        'group'    => __( 'Hover Animations', 'ayecode-connect' ),
1670
+    );
1671 1671
 
1672
-	$input = wp_parse_args( $overwrite, $defaults );
1672
+    $input = wp_parse_args( $overwrite, $defaults );
1673 1673
 
1674
-	return $input;
1674
+    return $input;
1675 1675
 }
1676 1676
 
1677 1677
 
1678 1678
 function sd_get_flex_align_items_input( $type = 'align-items', $overwrite = array() ) {
1679
-	$device_size = '';
1680
-	if ( ! empty( $overwrite['device_type'] ) ) {
1681
-		if ( $overwrite['device_type'] == 'Tablet' ) {
1682
-			$device_size = '-md';
1683
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
1684
-			$device_size = '-lg';
1685
-		}
1686
-	}
1687
-	$options = array(
1688
-		''                                         => __( 'Default', 'ayecode-connect' ),
1689
-		'align-items' . $device_size . '-start'    => 'align-items-start',
1690
-		'align-items' . $device_size . '-end'      => 'align-items-end',
1691
-		'align-items' . $device_size . '-center'   => 'align-items-center',
1692
-		'align-items' . $device_size . '-baseline' => 'align-items-baseline',
1693
-		'align-items' . $device_size . '-stretch'  => 'align-items-stretch',
1694
-	);
1695
-
1696
-	$defaults = array(
1697
-		'type'            => 'select',
1698
-		'title'           => __( 'Vertical Align Items', 'ayecode-connect' ),
1699
-		'options'         => $options,
1700
-		'default'         => '',
1701
-		'desc_tip'        => true,
1702
-		'group'           => __( 'Wrapper Styles', 'ayecode-connect' ),
1703
-		'element_require' => ' ( ( [%container%]=="row" ) || ( [%display%]=="d-flex" || [%display_md%]=="d-md-flex" || [%display_lg%]=="d-lg-flex" ) ) ',
1704
-
1705
-	);
1706
-
1707
-	$input = wp_parse_args( $overwrite, $defaults );
1708
-
1709
-	return $input;
1679
+    $device_size = '';
1680
+    if ( ! empty( $overwrite['device_type'] ) ) {
1681
+        if ( $overwrite['device_type'] == 'Tablet' ) {
1682
+            $device_size = '-md';
1683
+        } elseif ( $overwrite['device_type'] == 'Desktop' ) {
1684
+            $device_size = '-lg';
1685
+        }
1686
+    }
1687
+    $options = array(
1688
+        ''                                         => __( 'Default', 'ayecode-connect' ),
1689
+        'align-items' . $device_size . '-start'    => 'align-items-start',
1690
+        'align-items' . $device_size . '-end'      => 'align-items-end',
1691
+        'align-items' . $device_size . '-center'   => 'align-items-center',
1692
+        'align-items' . $device_size . '-baseline' => 'align-items-baseline',
1693
+        'align-items' . $device_size . '-stretch'  => 'align-items-stretch',
1694
+    );
1695
+
1696
+    $defaults = array(
1697
+        'type'            => 'select',
1698
+        'title'           => __( 'Vertical Align Items', 'ayecode-connect' ),
1699
+        'options'         => $options,
1700
+        'default'         => '',
1701
+        'desc_tip'        => true,
1702
+        'group'           => __( 'Wrapper Styles', 'ayecode-connect' ),
1703
+        'element_require' => ' ( ( [%container%]=="row" ) || ( [%display%]=="d-flex" || [%display_md%]=="d-md-flex" || [%display_lg%]=="d-lg-flex" ) ) ',
1704
+
1705
+    );
1706
+
1707
+    $input = wp_parse_args( $overwrite, $defaults );
1708
+
1709
+    return $input;
1710 1710
 }
1711 1711
 
1712 1712
 function sd_get_flex_align_items_input_group( $type = 'flex_align_items', $overwrite = array() ) {
1713
-	$inputs = array();
1714
-	$sizes  = array(
1715
-		''    => 'Mobile',
1716
-		'_md' => 'Tablet',
1717
-		'_lg' => 'Desktop',
1718
-	);
1713
+    $inputs = array();
1714
+    $sizes  = array(
1715
+        ''    => 'Mobile',
1716
+        '_md' => 'Tablet',
1717
+        '_lg' => 'Desktop',
1718
+    );
1719 1719
 
1720
-	if ( $overwrite !== false ) {
1720
+    if ( $overwrite !== false ) {
1721 1721
 
1722
-		foreach ( $sizes as $ds => $dt ) {
1723
-			$overwrite['device_type'] = $dt;
1724
-			$inputs[ $type . $ds ]    = sd_get_flex_align_items_input( $type, $overwrite );
1725
-		}
1726
-	}
1722
+        foreach ( $sizes as $ds => $dt ) {
1723
+            $overwrite['device_type'] = $dt;
1724
+            $inputs[ $type . $ds ]    = sd_get_flex_align_items_input( $type, $overwrite );
1725
+        }
1726
+    }
1727 1727
 
1728
-	return $inputs;
1728
+    return $inputs;
1729 1729
 }
1730 1730
 
1731 1731
 function sd_get_flex_justify_content_input( $type = 'flex_justify_content', $overwrite = array() ) {
1732
-	$device_size = '';
1733
-	if ( ! empty( $overwrite['device_type'] ) ) {
1734
-		if ( $overwrite['device_type'] == 'Tablet' ) {
1735
-			$device_size = '-md';
1736
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
1737
-			$device_size = '-lg';
1738
-		}
1739
-	}
1740
-	$options = array(
1741
-		''                                            => __( 'Default', 'ayecode-connect' ),
1742
-		'justify-content' . $device_size . '-start'   => 'justify-content-start',
1743
-		'justify-content' . $device_size . '-end'     => 'justify-content-end',
1744
-		'justify-content' . $device_size . '-center'  => 'justify-content-center',
1745
-		'justify-content' . $device_size . '-between' => 'justify-content-between',
1746
-		'justify-content' . $device_size . '-stretch' => 'justify-content-around',
1747
-	);
1748
-
1749
-	$defaults = array(
1750
-		'type'            => 'select',
1751
-		'title'           => __( 'Justify content', 'ayecode-connect' ),
1752
-		'options'         => $options,
1753
-		'default'         => '',
1754
-		'desc_tip'        => true,
1755
-		'group'           => __( 'Wrapper Styles', 'ayecode-connect' ),
1756
-		'element_require' => '( ( [%container%]=="row" ) || ( [%display%]=="d-flex" || [%display_md%]=="d-md-flex" || [%display_lg%]=="d-lg-flex" ) ) ',
1757
-
1758
-	);
1759
-
1760
-	$input = wp_parse_args( $overwrite, $defaults );
1761
-
1762
-	return $input;
1732
+    $device_size = '';
1733
+    if ( ! empty( $overwrite['device_type'] ) ) {
1734
+        if ( $overwrite['device_type'] == 'Tablet' ) {
1735
+            $device_size = '-md';
1736
+        } elseif ( $overwrite['device_type'] == 'Desktop' ) {
1737
+            $device_size = '-lg';
1738
+        }
1739
+    }
1740
+    $options = array(
1741
+        ''                                            => __( 'Default', 'ayecode-connect' ),
1742
+        'justify-content' . $device_size . '-start'   => 'justify-content-start',
1743
+        'justify-content' . $device_size . '-end'     => 'justify-content-end',
1744
+        'justify-content' . $device_size . '-center'  => 'justify-content-center',
1745
+        'justify-content' . $device_size . '-between' => 'justify-content-between',
1746
+        'justify-content' . $device_size . '-stretch' => 'justify-content-around',
1747
+    );
1748
+
1749
+    $defaults = array(
1750
+        'type'            => 'select',
1751
+        'title'           => __( 'Justify content', 'ayecode-connect' ),
1752
+        'options'         => $options,
1753
+        'default'         => '',
1754
+        'desc_tip'        => true,
1755
+        'group'           => __( 'Wrapper Styles', 'ayecode-connect' ),
1756
+        'element_require' => '( ( [%container%]=="row" ) || ( [%display%]=="d-flex" || [%display_md%]=="d-md-flex" || [%display_lg%]=="d-lg-flex" ) ) ',
1757
+
1758
+    );
1759
+
1760
+    $input = wp_parse_args( $overwrite, $defaults );
1761
+
1762
+    return $input;
1763 1763
 }
1764 1764
 
1765 1765
 function sd_get_flex_justify_content_input_group( $type = 'flex_justify_content', $overwrite = array() ) {
1766
-	$inputs = array();
1767
-	$sizes  = array(
1768
-		''    => 'Mobile',
1769
-		'_md' => 'Tablet',
1770
-		'_lg' => 'Desktop',
1771
-	);
1766
+    $inputs = array();
1767
+    $sizes  = array(
1768
+        ''    => 'Mobile',
1769
+        '_md' => 'Tablet',
1770
+        '_lg' => 'Desktop',
1771
+    );
1772 1772
 
1773
-	if ( $overwrite !== false ) {
1773
+    if ( $overwrite !== false ) {
1774 1774
 
1775
-		foreach ( $sizes as $ds => $dt ) {
1776
-			$overwrite['device_type'] = $dt;
1777
-			$inputs[ $type . $ds ]    = sd_get_flex_justify_content_input( $type, $overwrite );
1778
-		}
1779
-	}
1775
+        foreach ( $sizes as $ds => $dt ) {
1776
+            $overwrite['device_type'] = $dt;
1777
+            $inputs[ $type . $ds ]    = sd_get_flex_justify_content_input( $type, $overwrite );
1778
+        }
1779
+    }
1780 1780
 
1781
-	return $inputs;
1781
+    return $inputs;
1782 1782
 }
1783 1783
 
1784 1784
 
1785 1785
 function sd_get_flex_align_self_input( $type = 'flex_align_self', $overwrite = array() ) {
1786
-	$device_size = '';
1787
-	if ( ! empty( $overwrite['device_type'] ) ) {
1788
-		if ( $overwrite['device_type'] == 'Tablet' ) {
1789
-			$device_size = '-md';
1790
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
1791
-			$device_size = '-lg';
1792
-		}
1793
-	}
1794
-	$options = array(
1795
-		''                                         => __( 'Default', 'ayecode-connect' ),
1796
-		'align-items' . $device_size . '-start'    => 'align-items-start',
1797
-		'align-items' . $device_size . '-end'      => 'align-items-end',
1798
-		'align-items' . $device_size . '-center'   => 'align-items-center',
1799
-		'align-items' . $device_size . '-baseline' => 'align-items-baseline',
1800
-		'align-items' . $device_size . '-stretch'  => 'align-items-stretch',
1801
-	);
1802
-
1803
-	$defaults = array(
1804
-		'type'            => 'select',
1805
-		'title'           => __( 'Align Self', 'ayecode-connect' ),
1806
-		'options'         => $options,
1807
-		'default'         => '',
1808
-		'desc_tip'        => true,
1809
-		'group'           => __( 'Wrapper Styles', 'ayecode-connect' ),
1810
-		'element_require' => ' [%container%]=="col" ',
1811
-
1812
-	);
1813
-
1814
-	$input = wp_parse_args( $overwrite, $defaults );
1815
-
1816
-	return $input;
1786
+    $device_size = '';
1787
+    if ( ! empty( $overwrite['device_type'] ) ) {
1788
+        if ( $overwrite['device_type'] == 'Tablet' ) {
1789
+            $device_size = '-md';
1790
+        } elseif ( $overwrite['device_type'] == 'Desktop' ) {
1791
+            $device_size = '-lg';
1792
+        }
1793
+    }
1794
+    $options = array(
1795
+        ''                                         => __( 'Default', 'ayecode-connect' ),
1796
+        'align-items' . $device_size . '-start'    => 'align-items-start',
1797
+        'align-items' . $device_size . '-end'      => 'align-items-end',
1798
+        'align-items' . $device_size . '-center'   => 'align-items-center',
1799
+        'align-items' . $device_size . '-baseline' => 'align-items-baseline',
1800
+        'align-items' . $device_size . '-stretch'  => 'align-items-stretch',
1801
+    );
1802
+
1803
+    $defaults = array(
1804
+        'type'            => 'select',
1805
+        'title'           => __( 'Align Self', 'ayecode-connect' ),
1806
+        'options'         => $options,
1807
+        'default'         => '',
1808
+        'desc_tip'        => true,
1809
+        'group'           => __( 'Wrapper Styles', 'ayecode-connect' ),
1810
+        'element_require' => ' [%container%]=="col" ',
1811
+
1812
+    );
1813
+
1814
+    $input = wp_parse_args( $overwrite, $defaults );
1815
+
1816
+    return $input;
1817 1817
 }
1818 1818
 
1819 1819
 function sd_get_flex_align_self_input_group( $type = 'flex_align_self', $overwrite = array() ) {
1820
-	$inputs = array();
1821
-	$sizes  = array(
1822
-		''    => 'Mobile',
1823
-		'_md' => 'Tablet',
1824
-		'_lg' => 'Desktop',
1825
-	);
1820
+    $inputs = array();
1821
+    $sizes  = array(
1822
+        ''    => 'Mobile',
1823
+        '_md' => 'Tablet',
1824
+        '_lg' => 'Desktop',
1825
+    );
1826 1826
 
1827
-	if ( $overwrite !== false ) {
1827
+    if ( $overwrite !== false ) {
1828 1828
 
1829
-		foreach ( $sizes as $ds => $dt ) {
1830
-			$overwrite['device_type'] = $dt;
1831
-			$inputs[ $type . $ds ]    = sd_get_flex_align_self_input( $type, $overwrite );
1832
-		}
1833
-	}
1829
+        foreach ( $sizes as $ds => $dt ) {
1830
+            $overwrite['device_type'] = $dt;
1831
+            $inputs[ $type . $ds ]    = sd_get_flex_align_self_input( $type, $overwrite );
1832
+        }
1833
+    }
1834 1834
 
1835
-	return $inputs;
1835
+    return $inputs;
1836 1836
 }
1837 1837
 
1838 1838
 function sd_get_flex_order_input( $type = 'flex_order', $overwrite = array() ) {
1839
-	$device_size = '';
1840
-	if ( ! empty( $overwrite['device_type'] ) ) {
1841
-		if ( $overwrite['device_type'] == 'Tablet' ) {
1842
-			$device_size = '-md';
1843
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
1844
-			$device_size = '-lg';
1845
-		}
1846
-	}
1847
-	$options = array(
1848
-		'' => __( 'Default', 'ayecode-connect' ),
1849
-	);
1850
-
1851
-	$i = 0;
1852
-	while ( $i <= 5 ) {
1853
-		$options[ 'order' . $device_size . '-' . $i ] = $i;
1854
-		$i++;
1855
-	}
1856
-
1857
-	$defaults = array(
1858
-		'type'            => 'select',
1859
-		'title'           => __( 'Flex Order', 'ayecode-connect' ),
1860
-		'options'         => $options,
1861
-		'default'         => '',
1862
-		'desc_tip'        => true,
1863
-		'group'           => __( 'Wrapper Styles', 'ayecode-connect' ),
1864
-		'element_require' => ' [%container%]=="col" ',
1865
-
1866
-	);
1867
-
1868
-	$input = wp_parse_args( $overwrite, $defaults );
1869
-
1870
-	return $input;
1839
+    $device_size = '';
1840
+    if ( ! empty( $overwrite['device_type'] ) ) {
1841
+        if ( $overwrite['device_type'] == 'Tablet' ) {
1842
+            $device_size = '-md';
1843
+        } elseif ( $overwrite['device_type'] == 'Desktop' ) {
1844
+            $device_size = '-lg';
1845
+        }
1846
+    }
1847
+    $options = array(
1848
+        '' => __( 'Default', 'ayecode-connect' ),
1849
+    );
1850
+
1851
+    $i = 0;
1852
+    while ( $i <= 5 ) {
1853
+        $options[ 'order' . $device_size . '-' . $i ] = $i;
1854
+        $i++;
1855
+    }
1856
+
1857
+    $defaults = array(
1858
+        'type'            => 'select',
1859
+        'title'           => __( 'Flex Order', 'ayecode-connect' ),
1860
+        'options'         => $options,
1861
+        'default'         => '',
1862
+        'desc_tip'        => true,
1863
+        'group'           => __( 'Wrapper Styles', 'ayecode-connect' ),
1864
+        'element_require' => ' [%container%]=="col" ',
1865
+
1866
+    );
1867
+
1868
+    $input = wp_parse_args( $overwrite, $defaults );
1869
+
1870
+    return $input;
1871 1871
 }
1872 1872
 
1873 1873
 function sd_get_flex_order_input_group( $type = 'flex_order', $overwrite = array() ) {
1874
-	$inputs = array();
1875
-	$sizes  = array(
1876
-		''    => 'Mobile',
1877
-		'_md' => 'Tablet',
1878
-		'_lg' => 'Desktop',
1879
-	);
1874
+    $inputs = array();
1875
+    $sizes  = array(
1876
+        ''    => 'Mobile',
1877
+        '_md' => 'Tablet',
1878
+        '_lg' => 'Desktop',
1879
+    );
1880 1880
 
1881
-	if ( $overwrite !== false ) {
1881
+    if ( $overwrite !== false ) {
1882 1882
 
1883
-		foreach ( $sizes as $ds => $dt ) {
1884
-			$overwrite['device_type'] = $dt;
1885
-			$inputs[ $type . $ds ]    = sd_get_flex_order_input( $type, $overwrite );
1886
-		}
1887
-	}
1883
+        foreach ( $sizes as $ds => $dt ) {
1884
+            $overwrite['device_type'] = $dt;
1885
+            $inputs[ $type . $ds ]    = sd_get_flex_order_input( $type, $overwrite );
1886
+        }
1887
+    }
1888 1888
 
1889
-	return $inputs;
1889
+    return $inputs;
1890 1890
 }
1891 1891
 
1892 1892
 function sd_get_flex_wrap_group( $type = 'flex_wrap', $overwrite = array() ) {
1893
-	$inputs = array();
1894
-	$sizes  = array(
1895
-		''    => 'Mobile',
1896
-		'_md' => 'Tablet',
1897
-		'_lg' => 'Desktop',
1898
-	);
1893
+    $inputs = array();
1894
+    $sizes  = array(
1895
+        ''    => 'Mobile',
1896
+        '_md' => 'Tablet',
1897
+        '_lg' => 'Desktop',
1898
+    );
1899 1899
 
1900
-	if ( $overwrite !== false ) {
1900
+    if ( $overwrite !== false ) {
1901 1901
 
1902
-		foreach ( $sizes as $ds => $dt ) {
1903
-			$overwrite['device_type'] = $dt;
1904
-			$inputs[ $type . $ds ]    = sd_get_flex_wrap_input( $type, $overwrite );
1905
-		}
1906
-	}
1902
+        foreach ( $sizes as $ds => $dt ) {
1903
+            $overwrite['device_type'] = $dt;
1904
+            $inputs[ $type . $ds ]    = sd_get_flex_wrap_input( $type, $overwrite );
1905
+        }
1906
+    }
1907 1907
 
1908
-	return $inputs;
1908
+    return $inputs;
1909 1909
 }
1910 1910
 
1911 1911
 function sd_get_flex_wrap_input( $type = 'flex_wrap', $overwrite = array() ) {
1912
-	$device_size = '';
1913
-	if ( ! empty( $overwrite['device_type'] ) ) {
1914
-		if ( $overwrite['device_type'] == 'Tablet' ) {
1915
-			$device_size = '-md';
1916
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
1917
-			$device_size = '-lg';
1918
-		}
1919
-	}
1920
-	$options = array(
1921
-		''                                      => __( 'Default', 'ayecode-connect' ),
1922
-		'flex' . $device_size . '-nowrap'       => 'nowrap',
1923
-		'flex' . $device_size . '-wrap'         => 'wrap',
1924
-		'flex' . $device_size . '-wrap-reverse' => 'wrap-reverse',
1925
-	);
1926
-
1927
-	$defaults = array(
1928
-		'type'     => 'select',
1929
-		'title'    => __( 'Flex wrap', 'ayecode-connect' ),
1930
-		'options'  => $options,
1931
-		'default'  => '',
1932
-		'desc_tip' => true,
1933
-		'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
1934
-	);
1935
-
1936
-	$input = wp_parse_args( $overwrite, $defaults );
1937
-
1938
-	return $input;
1912
+    $device_size = '';
1913
+    if ( ! empty( $overwrite['device_type'] ) ) {
1914
+        if ( $overwrite['device_type'] == 'Tablet' ) {
1915
+            $device_size = '-md';
1916
+        } elseif ( $overwrite['device_type'] == 'Desktop' ) {
1917
+            $device_size = '-lg';
1918
+        }
1919
+    }
1920
+    $options = array(
1921
+        ''                                      => __( 'Default', 'ayecode-connect' ),
1922
+        'flex' . $device_size . '-nowrap'       => 'nowrap',
1923
+        'flex' . $device_size . '-wrap'         => 'wrap',
1924
+        'flex' . $device_size . '-wrap-reverse' => 'wrap-reverse',
1925
+    );
1926
+
1927
+    $defaults = array(
1928
+        'type'     => 'select',
1929
+        'title'    => __( 'Flex wrap', 'ayecode-connect' ),
1930
+        'options'  => $options,
1931
+        'default'  => '',
1932
+        'desc_tip' => true,
1933
+        'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
1934
+    );
1935
+
1936
+    $input = wp_parse_args( $overwrite, $defaults );
1937
+
1938
+    return $input;
1939 1939
 }
1940 1940
 
1941 1941
 function sd_get_float_group( $type = 'float', $overwrite = array() ) {
1942
-	$inputs = array();
1943
-	$sizes  = array(
1944
-		''    => 'Mobile',
1945
-		'_md' => 'Tablet',
1946
-		'_lg' => 'Desktop',
1947
-	);
1942
+    $inputs = array();
1943
+    $sizes  = array(
1944
+        ''    => 'Mobile',
1945
+        '_md' => 'Tablet',
1946
+        '_lg' => 'Desktop',
1947
+    );
1948 1948
 
1949
-	if ( $overwrite !== false ) {
1949
+    if ( $overwrite !== false ) {
1950 1950
 
1951
-		foreach ( $sizes as $ds => $dt ) {
1952
-			$overwrite['device_type'] = $dt;
1953
-			$inputs[ $type . $ds ]    = sd_get_float_input( $type, $overwrite );
1954
-		}
1955
-	}
1951
+        foreach ( $sizes as $ds => $dt ) {
1952
+            $overwrite['device_type'] = $dt;
1953
+            $inputs[ $type . $ds ]    = sd_get_float_input( $type, $overwrite );
1954
+        }
1955
+    }
1956 1956
 
1957
-	return $inputs;
1957
+    return $inputs;
1958 1958
 }
1959 1959
 function sd_get_float_input( $type = 'float', $overwrite = array() ) {
1960
-	$device_size = '';
1961
-	if ( ! empty( $overwrite['device_type'] ) ) {
1962
-		if ( $overwrite['device_type'] == 'Tablet' ) {
1963
-			$device_size = '-md';
1964
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
1965
-			$device_size = '-lg';
1966
-		}
1967
-	}
1968
-	$options = array(
1969
-		''                                      => __( 'Default', 'ayecode-connect' ),
1970
-		'float' . $device_size . '-start'       => 'left',
1971
-		'float' . $device_size . '-end'         => 'right',
1972
-		'float' . $device_size . '-none' => 'none',
1973
-	);
1974
-
1975
-	$defaults = array(
1976
-		'type'     => 'select',
1977
-		'title'    => __( 'Float', 'ayecode-connect' ),
1978
-		'options'  => $options,
1979
-		'default'  => '',
1980
-		'desc_tip' => true,
1981
-		'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
1982
-	);
1983
-
1984
-	$input = wp_parse_args( $overwrite, $defaults );
1985
-
1986
-	return $input;
1960
+    $device_size = '';
1961
+    if ( ! empty( $overwrite['device_type'] ) ) {
1962
+        if ( $overwrite['device_type'] == 'Tablet' ) {
1963
+            $device_size = '-md';
1964
+        } elseif ( $overwrite['device_type'] == 'Desktop' ) {
1965
+            $device_size = '-lg';
1966
+        }
1967
+    }
1968
+    $options = array(
1969
+        ''                                      => __( 'Default', 'ayecode-connect' ),
1970
+        'float' . $device_size . '-start'       => 'left',
1971
+        'float' . $device_size . '-end'         => 'right',
1972
+        'float' . $device_size . '-none' => 'none',
1973
+    );
1974
+
1975
+    $defaults = array(
1976
+        'type'     => 'select',
1977
+        'title'    => __( 'Float', 'ayecode-connect' ),
1978
+        'options'  => $options,
1979
+        'default'  => '',
1980
+        'desc_tip' => true,
1981
+        'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
1982
+    );
1983
+
1984
+    $input = wp_parse_args( $overwrite, $defaults );
1985
+
1986
+    return $input;
1987 1987
 }
1988 1988
 
1989 1989
 /**
@@ -1994,26 +1994,26 @@  discard block
 block discarded – undo
1994 1994
  */
1995 1995
 function sd_get_zindex_input( $type = 'zindex', $overwrite = array() ) {
1996 1996
 
1997
-	$options = array(
1998
-		''          => __( 'Default', 'ayecode-connect' ),
1999
-		'zindex-0'  => '0',
2000
-		'zindex-1'  => '1',
2001
-		'zindex-5'  => '5',
2002
-		'zindex-10' => '10',
2003
-	);
1997
+    $options = array(
1998
+        ''          => __( 'Default', 'ayecode-connect' ),
1999
+        'zindex-0'  => '0',
2000
+        'zindex-1'  => '1',
2001
+        'zindex-5'  => '5',
2002
+        'zindex-10' => '10',
2003
+    );
2004 2004
 
2005
-	$defaults = array(
2006
-		'type'     => 'select',
2007
-		'title'    => __( 'Z-index', 'ayecode-connect' ),
2008
-		'options'  => $options,
2009
-		'default'  => '',
2010
-		'desc_tip' => true,
2011
-		'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
2012
-	);
2005
+    $defaults = array(
2006
+        'type'     => 'select',
2007
+        'title'    => __( 'Z-index', 'ayecode-connect' ),
2008
+        'options'  => $options,
2009
+        'default'  => '',
2010
+        'desc_tip' => true,
2011
+        'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
2012
+    );
2013 2013
 
2014
-	$input = wp_parse_args( $overwrite, $defaults );
2014
+    $input = wp_parse_args( $overwrite, $defaults );
2015 2015
 
2016
-	return $input;
2016
+    return $input;
2017 2017
 }
2018 2018
 
2019 2019
 /**
@@ -2024,26 +2024,26 @@  discard block
 block discarded – undo
2024 2024
  */
2025 2025
 function sd_get_overflow_input( $type = 'overflow', $overwrite = array() ) {
2026 2026
 
2027
-	$options = array(
2028
-		''                 => __( 'Default', 'ayecode-connect' ),
2029
-		'overflow-auto'    => __( 'Auto', 'ayecode-connect' ),
2030
-		'overflow-hidden'  => __( 'Hidden', 'ayecode-connect' ),
2031
-		'overflow-visible' => __( 'Visible', 'ayecode-connect' ),
2032
-		'overflow-scroll'  => __( 'Scroll', 'ayecode-connect' ),
2033
-	);
2027
+    $options = array(
2028
+        ''                 => __( 'Default', 'ayecode-connect' ),
2029
+        'overflow-auto'    => __( 'Auto', 'ayecode-connect' ),
2030
+        'overflow-hidden'  => __( 'Hidden', 'ayecode-connect' ),
2031
+        'overflow-visible' => __( 'Visible', 'ayecode-connect' ),
2032
+        'overflow-scroll'  => __( 'Scroll', 'ayecode-connect' ),
2033
+    );
2034 2034
 
2035
-	$defaults = array(
2036
-		'type'     => 'select',
2037
-		'title'    => __( 'Overflow', 'ayecode-connect' ),
2038
-		'options'  => $options,
2039
-		'default'  => '',
2040
-		'desc_tip' => true,
2041
-		'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
2042
-	);
2035
+    $defaults = array(
2036
+        'type'     => 'select',
2037
+        'title'    => __( 'Overflow', 'ayecode-connect' ),
2038
+        'options'  => $options,
2039
+        'default'  => '',
2040
+        'desc_tip' => true,
2041
+        'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
2042
+    );
2043 2043
 
2044
-	$input = wp_parse_args( $overwrite, $defaults );
2044
+    $input = wp_parse_args( $overwrite, $defaults );
2045 2045
 
2046
-	return $input;
2046
+    return $input;
2047 2047
 }
2048 2048
 
2049 2049
 /**
@@ -2054,19 +2054,19 @@  discard block
 block discarded – undo
2054 2054
  */
2055 2055
 function sd_get_max_height_input( $type = 'max_height', $overwrite = array() ) {
2056 2056
 
2057
-	$defaults = array(
2058
-		'type'        => 'text',
2059
-		'title'       => __( 'Max height', 'ayecode-connect' ),
2060
-		'value'       => '',
2061
-		'default'     => '',
2062
-		'placeholder' => '',
2063
-		'desc_tip'    => true,
2064
-		'group'       => __( 'Wrapper Styles', 'ayecode-connect' ),
2065
-	);
2057
+    $defaults = array(
2058
+        'type'        => 'text',
2059
+        'title'       => __( 'Max height', 'ayecode-connect' ),
2060
+        'value'       => '',
2061
+        'default'     => '',
2062
+        'placeholder' => '',
2063
+        'desc_tip'    => true,
2064
+        'group'       => __( 'Wrapper Styles', 'ayecode-connect' ),
2065
+    );
2066 2066
 
2067
-	$input = wp_parse_args( $overwrite, $defaults );
2067
+    $input = wp_parse_args( $overwrite, $defaults );
2068 2068
 
2069
-	return $input;
2069
+    return $input;
2070 2070
 }
2071 2071
 
2072 2072
 /**
@@ -2077,23 +2077,23 @@  discard block
 block discarded – undo
2077 2077
  */
2078 2078
 function sd_get_scrollbars_input( $type = 'scrollbars', $overwrite = array() ) {
2079 2079
 
2080
-	$options = array(
2081
-		''               => __( 'Default', 'ayecode-connect' ),
2082
-		'scrollbars-ios' => __( 'IOS Style', 'ayecode-connect' ),
2083
-	);
2080
+    $options = array(
2081
+        ''               => __( 'Default', 'ayecode-connect' ),
2082
+        'scrollbars-ios' => __( 'IOS Style', 'ayecode-connect' ),
2083
+    );
2084 2084
 
2085
-	$defaults = array(
2086
-		'type'     => 'select',
2087
-		'title'    => __( 'Scrollbars', 'ayecode-connect' ),
2088
-		'options'  => $options,
2089
-		'default'  => '',
2090
-		'desc_tip' => true,
2091
-		'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
2092
-	);
2085
+    $defaults = array(
2086
+        'type'     => 'select',
2087
+        'title'    => __( 'Scrollbars', 'ayecode-connect' ),
2088
+        'options'  => $options,
2089
+        'default'  => '',
2090
+        'desc_tip' => true,
2091
+        'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
2092
+    );
2093 2093
 
2094
-	$input = wp_parse_args( $overwrite, $defaults );
2094
+    $input = wp_parse_args( $overwrite, $defaults );
2095 2095
 
2096
-	return $input;
2096
+    return $input;
2097 2097
 }
2098 2098
 
2099 2099
 /**
@@ -2104,17 +2104,17 @@  discard block
 block discarded – undo
2104 2104
  */
2105 2105
 function sd_get_new_window_input( $type = 'target', $overwrite = array() ) {
2106 2106
 
2107
-	$defaults = array(
2108
-		'type'     => 'checkbox',
2109
-		'title'    => __( 'Open in new window', 'ayecode-connect' ),
2110
-		'default'  => '',
2111
-		'desc_tip' => true,
2112
-		'group'    => __( 'Link', 'ayecode-connect' ),
2113
-	);
2107
+    $defaults = array(
2108
+        'type'     => 'checkbox',
2109
+        'title'    => __( 'Open in new window', 'ayecode-connect' ),
2110
+        'default'  => '',
2111
+        'desc_tip' => true,
2112
+        'group'    => __( 'Link', 'ayecode-connect' ),
2113
+    );
2114 2114
 
2115
-	$input = wp_parse_args( $overwrite, $defaults );
2115
+    $input = wp_parse_args( $overwrite, $defaults );
2116 2116
 
2117
-	return $input;
2117
+    return $input;
2118 2118
 }
2119 2119
 
2120 2120
 /**
@@ -2125,17 +2125,17 @@  discard block
 block discarded – undo
2125 2125
  */
2126 2126
 function sd_get_nofollow_input( $type = 'nofollow', $overwrite = array() ) {
2127 2127
 
2128
-	$defaults = array(
2129
-		'type'     => 'checkbox',
2130
-		'title'    => __( 'Add nofollow', 'ayecode-connect' ),
2131
-		'default'  => '',
2132
-		'desc_tip' => true,
2133
-		'group'    => __( 'Link', 'ayecode-connect' ),
2134
-	);
2128
+    $defaults = array(
2129
+        'type'     => 'checkbox',
2130
+        'title'    => __( 'Add nofollow', 'ayecode-connect' ),
2131
+        'default'  => '',
2132
+        'desc_tip' => true,
2133
+        'group'    => __( 'Link', 'ayecode-connect' ),
2134
+    );
2135 2135
 
2136
-	$input = wp_parse_args( $overwrite, $defaults );
2136
+    $input = wp_parse_args( $overwrite, $defaults );
2137 2137
 
2138
-	return $input;
2138
+    return $input;
2139 2139
 }
2140 2140
 
2141 2141
 /**
@@ -2148,35 +2148,35 @@  discard block
 block discarded – undo
2148 2148
  */
2149 2149
 function sd_get_width_input( $type = 'width', $overwrite = array() ) {
2150 2150
 
2151
-	$device_size = '';
2152
-	if ( ! empty( $overwrite['device_type'] ) ) {
2153
-		if ( $overwrite['device_type'] == 'Tablet' ) {
2154
-			$device_size = '-md';
2155
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
2156
-			$device_size = '-lg';
2157
-		}
2158
-	}
2159
-	$options = array(
2160
-		'' => __('Default', 'ayecode-connect'),
2161
-		'w' . $device_size . '-25' => '25%',
2162
-		'w' . $device_size . '-50' => '50%',
2163
-		'w' . $device_size . '-75' => '75%',
2164
-		'w' . $device_size . '-100' => '100%',
2165
-		'w' . $device_size . '-auto' => 'auto',
2166
-	);
2167
-
2168
-	$defaults = array(
2169
-		'type'     => 'select',
2170
-		'title'    => __( 'Width', 'ayecode-connect' ),
2171
-		'options'  => $options,
2172
-		'default'  => '',
2173
-		'desc_tip' => true,
2174
-		'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
2175
-	);
2176
-
2177
-	$input = wp_parse_args( $overwrite, $defaults );
2178
-
2179
-	return $input;
2151
+    $device_size = '';
2152
+    if ( ! empty( $overwrite['device_type'] ) ) {
2153
+        if ( $overwrite['device_type'] == 'Tablet' ) {
2154
+            $device_size = '-md';
2155
+        } elseif ( $overwrite['device_type'] == 'Desktop' ) {
2156
+            $device_size = '-lg';
2157
+        }
2158
+    }
2159
+    $options = array(
2160
+        '' => __('Default', 'ayecode-connect'),
2161
+        'w' . $device_size . '-25' => '25%',
2162
+        'w' . $device_size . '-50' => '50%',
2163
+        'w' . $device_size . '-75' => '75%',
2164
+        'w' . $device_size . '-100' => '100%',
2165
+        'w' . $device_size . '-auto' => 'auto',
2166
+    );
2167
+
2168
+    $defaults = array(
2169
+        'type'     => 'select',
2170
+        'title'    => __( 'Width', 'ayecode-connect' ),
2171
+        'options'  => $options,
2172
+        'default'  => '',
2173
+        'desc_tip' => true,
2174
+        'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
2175
+    );
2176
+
2177
+    $input = wp_parse_args( $overwrite, $defaults );
2178
+
2179
+    return $input;
2180 2180
 }
2181 2181
 
2182 2182
 /**
@@ -2189,35 +2189,35 @@  discard block
 block discarded – undo
2189 2189
  */
2190 2190
 function sd_get_height_input( $type = 'height', $overwrite = array() ) {
2191 2191
 
2192
-	$device_size = '';
2193
-	if ( ! empty( $overwrite['device_type'] ) ) {
2194
-		if ( $overwrite['device_type'] == 'Tablet' ) {
2195
-			$device_size = '-md';
2196
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
2197
-			$device_size = '-lg';
2198
-		}
2199
-	}
2200
-	$options = array(
2201
-		'' => __('Default', 'ayecode-connect'),
2202
-		'h' . $device_size . '-25' => '25%',
2203
-		'h' . $device_size . '-50' => '50%',
2204
-		'h' . $device_size . '-75' => '75%',
2205
-		'h' . $device_size . '-100' => '100%',
2206
-		'h' . $device_size . '-auto' => 'auto',
2207
-	);
2208
-
2209
-	$defaults = array(
2210
-		'type'     => 'select',
2211
-		'title'    => __( 'Height', 'ayecode-connect' ),
2212
-		'options'  => $options,
2213
-		'default'  => '',
2214
-		'desc_tip' => true,
2215
-		'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
2216
-	);
2217
-
2218
-	$input = wp_parse_args( $overwrite, $defaults );
2219
-
2220
-	return $input;
2192
+    $device_size = '';
2193
+    if ( ! empty( $overwrite['device_type'] ) ) {
2194
+        if ( $overwrite['device_type'] == 'Tablet' ) {
2195
+            $device_size = '-md';
2196
+        } elseif ( $overwrite['device_type'] == 'Desktop' ) {
2197
+            $device_size = '-lg';
2198
+        }
2199
+    }
2200
+    $options = array(
2201
+        '' => __('Default', 'ayecode-connect'),
2202
+        'h' . $device_size . '-25' => '25%',
2203
+        'h' . $device_size . '-50' => '50%',
2204
+        'h' . $device_size . '-75' => '75%',
2205
+        'h' . $device_size . '-100' => '100%',
2206
+        'h' . $device_size . '-auto' => 'auto',
2207
+    );
2208
+
2209
+    $defaults = array(
2210
+        'type'     => 'select',
2211
+        'title'    => __( 'Height', 'ayecode-connect' ),
2212
+        'options'  => $options,
2213
+        'default'  => '',
2214
+        'desc_tip' => true,
2215
+        'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
2216
+    );
2217
+
2218
+    $input = wp_parse_args( $overwrite, $defaults );
2219
+
2220
+    return $input;
2221 2221
 }
2222 2222
 
2223 2223
 /**
@@ -2228,19 +2228,19 @@  discard block
 block discarded – undo
2228 2228
  */
2229 2229
 function sd_get_attributes_input( $type = 'attributes', $overwrite = array() ) {
2230 2230
 
2231
-	$defaults = array(
2232
-		'type'        => 'text',
2233
-		'title'       => __( 'Custom Attributes', 'ayecode-connect' ),
2234
-		'value'       => '',
2235
-		'default'     => '',
2236
-		'placeholder' => 'key|value,key2|value2',
2237
-		'desc_tip'    => true,
2238
-		'group'       => __( 'Link', 'ayecode-connect' ),
2239
-	);
2231
+    $defaults = array(
2232
+        'type'        => 'text',
2233
+        'title'       => __( 'Custom Attributes', 'ayecode-connect' ),
2234
+        'value'       => '',
2235
+        'default'     => '',
2236
+        'placeholder' => 'key|value,key2|value2',
2237
+        'desc_tip'    => true,
2238
+        'group'       => __( 'Link', 'ayecode-connect' ),
2239
+    );
2240 2240
 
2241
-	$input = wp_parse_args( $overwrite, $defaults );
2241
+    $input = wp_parse_args( $overwrite, $defaults );
2242 2242
 
2243
-	return $input;
2243
+    return $input;
2244 2244
 }
2245 2245
 
2246 2246
 /**
@@ -2249,32 +2249,32 @@  discard block
 block discarded – undo
2249 2249
  * @return string
2250 2250
  */
2251 2251
 function sd_build_attributes_string_escaped( $args ) {
2252
-	global $aui_bs5;
2252
+    global $aui_bs5;
2253 2253
 
2254
-	$attributes = array();
2255
-	$string_escaped = '';
2254
+    $attributes = array();
2255
+    $string_escaped = '';
2256 2256
 
2257
-	if ( ! empty( $args['custom'] ) ) {
2258
-		$attributes = sd_parse_custom_attributes($args['custom']);
2259
-	}
2257
+    if ( ! empty( $args['custom'] ) ) {
2258
+        $attributes = sd_parse_custom_attributes($args['custom']);
2259
+    }
2260 2260
 
2261
-	// new window
2262
-	if ( ! empty( $args['new_window'] ) ) {
2263
-		$attributes['target'] = '_blank';
2264
-	}
2261
+    // new window
2262
+    if ( ! empty( $args['new_window'] ) ) {
2263
+        $attributes['target'] = '_blank';
2264
+    }
2265 2265
 
2266
-	// nofollow
2267
-	if ( ! empty( $args['nofollow'] ) ) {
2268
-		$attributes['rel'] = isset($attributes['rel']) ? $attributes['rel'] . ' nofollow' : 'nofollow';
2269
-	}
2266
+    // nofollow
2267
+    if ( ! empty( $args['nofollow'] ) ) {
2268
+        $attributes['rel'] = isset($attributes['rel']) ? $attributes['rel'] . ' nofollow' : 'nofollow';
2269
+    }
2270 2270
 
2271
-	if(!empty($attributes )){
2272
-		foreach ( $attributes as $key => $val ) {
2273
-			$string_escaped .= esc_attr($key) . '="' . esc_attr($val) . '" ';
2274
-		}
2275
-	}
2271
+    if(!empty($attributes )){
2272
+        foreach ( $attributes as $key => $val ) {
2273
+            $string_escaped .= esc_attr($key) . '="' . esc_attr($val) . '" ';
2274
+        }
2275
+    }
2276 2276
 
2277
-	return $string_escaped;
2277
+    return $string_escaped;
2278 2278
 }
2279 2279
 
2280 2280
 /**
@@ -2286,38 +2286,38 @@  discard block
 block discarded – undo
2286 2286
  * @return array
2287 2287
  */
2288 2288
 function sd_parse_custom_attributes( $attributes_string, $delimiter = ',' ) {
2289
-	$attributes = explode( $delimiter, $attributes_string );
2290
-	$result = [];
2289
+    $attributes = explode( $delimiter, $attributes_string );
2290
+    $result = [];
2291 2291
 
2292
-	foreach ( $attributes as $attribute ) {
2293
-		$attr_key_value = explode( '|', $attribute );
2292
+    foreach ( $attributes as $attribute ) {
2293
+        $attr_key_value = explode( '|', $attribute );
2294 2294
 
2295
-		$attr_key = mb_strtolower( $attr_key_value[0] );
2295
+        $attr_key = mb_strtolower( $attr_key_value[0] );
2296 2296
 
2297
-		// Remove any not allowed characters.
2298
-		preg_match( '/[-_a-z0-9]+/', $attr_key, $attr_key_matches );
2297
+        // Remove any not allowed characters.
2298
+        preg_match( '/[-_a-z0-9]+/', $attr_key, $attr_key_matches );
2299 2299
 
2300
-		if ( empty( $attr_key_matches[0] ) ) {
2301
-			continue;
2302
-		}
2300
+        if ( empty( $attr_key_matches[0] ) ) {
2301
+            continue;
2302
+        }
2303 2303
 
2304
-		$attr_key = $attr_key_matches[0];
2304
+        $attr_key = $attr_key_matches[0];
2305 2305
 
2306
-		// Avoid Javascript events and unescaped href.
2307
-		if ( 'href' === $attr_key || 'on' === substr( $attr_key, 0, 2 ) ) {
2308
-			continue;
2309
-		}
2306
+        // Avoid Javascript events and unescaped href.
2307
+        if ( 'href' === $attr_key || 'on' === substr( $attr_key, 0, 2 ) ) {
2308
+            continue;
2309
+        }
2310 2310
 
2311
-		if ( isset( $attr_key_value[1] ) ) {
2312
-			$attr_value = trim( $attr_key_value[1] );
2313
-		} else {
2314
-			$attr_value = '';
2315
-		}
2311
+        if ( isset( $attr_key_value[1] ) ) {
2312
+            $attr_value = trim( $attr_key_value[1] );
2313
+        } else {
2314
+            $attr_value = '';
2315
+        }
2316 2316
 
2317
-		$result[ $attr_key ] = $attr_value;
2318
-	}
2317
+        $result[ $attr_key ] = $attr_value;
2318
+    }
2319 2319
 
2320
-	return $result;
2320
+    return $result;
2321 2321
 }
2322 2322
 
2323 2323
 /**
@@ -2329,424 +2329,424 @@  discard block
 block discarded – undo
2329 2329
  * @todo find best way to use px- py- or general p-
2330 2330
  */
2331 2331
 function sd_build_aui_class( $args ) {
2332
-	global $aui_bs5;
2333
-
2334
-	$classes = array();
2335
-
2336
-	if ( $aui_bs5 ) {
2337
-		$p_ml = 'ms-';
2338
-		$p_mr = 'me-';
2339
-
2340
-		$p_pl = 'ps-';
2341
-		$p_pr = 'pe-';
2342
-	} else {
2343
-		$p_ml = 'ml-';
2344
-		$p_mr = 'mr-';
2345
-
2346
-		$p_pl = 'pl-';
2347
-		$p_pr = 'pr-';
2348
-	}
2349
-
2350
-	// margins.
2351
-	if ( isset( $args['mt'] ) && $args['mt'] !== '' ) {
2352
-		$classes[] = 'mt-' . sanitize_html_class( $args['mt'] );
2353
-		$mt        = $args['mt'];
2354
-	} else {
2355
-		$mt = null;
2356
-	}
2357
-	if ( isset( $args['mr'] ) && $args['mr'] !== '' ) {
2358
-		$classes[] = $p_mr . sanitize_html_class( $args['mr'] );
2359
-		$mr        = $args['mr'];
2360
-	} else {
2361
-		$mr = null;
2362
-	}
2363
-	if ( isset( $args['mb'] ) && $args['mb'] !== '' ) {
2364
-		$classes[] = 'mb-' . sanitize_html_class( $args['mb'] );
2365
-		$mb        = $args['mb'];
2366
-	} else {
2367
-		$mb = null;
2368
-	}
2369
-	if ( isset( $args['ml'] ) && $args['ml'] !== '' ) {
2370
-		$classes[] = $p_ml . sanitize_html_class( $args['ml'] );
2371
-		$ml        = $args['ml'];
2372
-	} else {
2373
-		$ml = null;
2374
-	}
2375
-
2376
-	// margins tablet.
2377
-	if ( isset( $args['mt_md'] ) && $args['mt_md'] !== '' ) {
2378
-		$classes[] = 'mt-md-' . sanitize_html_class( $args['mt_md'] );
2379
-		$mt_md     = $args['mt_md'];
2380
-	} else {
2381
-		$mt_md = null;
2382
-	}
2383
-	if ( isset( $args['mr_md'] ) && $args['mr_md'] !== '' ) {
2384
-		$classes[] = $p_mr . 'md-' . sanitize_html_class( $args['mr_md'] );
2385
-		$mt_md     = $args['mr_md'];
2386
-	} else {
2387
-		$mr_md = null;
2388
-	}
2389
-	if ( isset( $args['mb_md'] ) && $args['mb_md'] !== '' ) {
2390
-		$classes[] = 'mb-md-' . sanitize_html_class( $args['mb_md'] );
2391
-		$mt_md     = $args['mb_md'];
2392
-	} else {
2393
-		$mb_md = null;
2394
-	}
2395
-	if ( isset( $args['ml_md'] ) && $args['ml_md'] !== '' ) {
2396
-		$classes[] = $p_ml . 'md-' . sanitize_html_class( $args['ml_md'] );
2397
-		$mt_md     = $args['ml_md'];
2398
-	} else {
2399
-		$ml_md = null;
2400
-	}
2401
-
2402
-	// margins desktop.
2403
-	if ( isset( $args['mt_lg'] ) && $args['mt_lg'] !== '' ) {
2404
-		if ( $mt == null && $mt_md == null ) {
2405
-			$classes[] = 'mt-' . sanitize_html_class( $args['mt_lg'] );
2406
-		} else {
2407
-			$classes[] = 'mt-lg-' . sanitize_html_class( $args['mt_lg'] );
2408
-		}
2409
-	}
2410
-	if ( isset( $args['mr_lg'] ) && $args['mr_lg'] !== '' ) {
2411
-		if ( $mr == null && $mr_md == null ) {
2412
-			$classes[] = $p_mr . sanitize_html_class( $args['mr_lg'] );
2413
-		} else {
2414
-			$classes[] = $p_mr . 'lg-' . sanitize_html_class( $args['mr_lg'] );
2415
-		}
2416
-	}
2417
-	if ( isset( $args['mb_lg'] ) && $args['mb_lg'] !== '' ) {
2418
-		if ( $mb == null && $mb_md == null ) {
2419
-			$classes[] = 'mb-' . sanitize_html_class( $args['mb_lg'] );
2420
-		} else {
2421
-			$classes[] = 'mb-lg-' . sanitize_html_class( $args['mb_lg'] );
2422
-		}
2423
-	}
2424
-	if ( isset( $args['ml_lg'] ) && $args['ml_lg'] !== '' ) {
2425
-		if ( $ml == null && $ml_md == null ) {
2426
-			$classes[] = $p_ml . sanitize_html_class( $args['ml_lg'] );
2427
-		} else {
2428
-			$classes[] = $p_ml . 'lg-' . sanitize_html_class( $args['ml_lg'] );
2429
-		}
2430
-	}
2431
-
2432
-	// padding.
2433
-	if ( isset( $args['pt'] ) && $args['pt'] !== '' ) {
2434
-		$classes[] = 'pt-' . sanitize_html_class( $args['pt'] );
2435
-		$pt        = $args['pt'];
2436
-	} else {
2437
-		$pt = null;
2438
-	}
2439
-	if ( isset( $args['pr'] ) && $args['pr'] !== '' ) {
2440
-		$classes[] = $p_pr . sanitize_html_class( $args['pr'] );
2441
-		$pr        = $args['pr'];
2442
-	} else {
2443
-		$pr = null;
2444
-	}
2445
-	if ( isset( $args['pb'] ) && $args['pb'] !== '' ) {
2446
-		$classes[] = 'pb-' . sanitize_html_class( $args['pb'] );
2447
-		$pb        = $args['pb'];
2448
-	} else {
2449
-		$pb = null;
2450
-	}
2451
-	if ( isset( $args['pl'] ) && $args['pl'] !== '' ) {
2452
-		$classes[] = $p_pl . sanitize_html_class( $args['pl'] );
2453
-		$pl        = $args['pl'];
2454
-	} else {
2455
-		$pl = null;
2456
-	}
2457
-
2458
-	// padding tablet.
2459
-	if ( isset( $args['pt_md'] ) && $args['pt_md'] !== '' ) {
2460
-		$classes[] = 'pt-md-' . sanitize_html_class( $args['pt_md'] );
2461
-		$pt_md     = $args['pt_md'];
2462
-	} else {
2463
-		$pt_md = null;
2464
-	}
2465
-	if ( isset( $args['pr_md'] ) && $args['pr_md'] !== '' ) {
2466
-		$classes[] = $p_pr . 'md-' . sanitize_html_class( $args['pr_md'] );
2467
-		$pr_md     = $args['pr_md'];
2468
-	} else {
2469
-		$pr_md = null;
2470
-	}
2471
-	if ( isset( $args['pb_md'] ) && $args['pb_md'] !== '' ) {
2472
-		$classes[] = 'pb-md-' . sanitize_html_class( $args['pb_md'] );
2473
-		$pb_md     = $args['pb_md'];
2474
-	} else {
2475
-		$pb_md = null;
2476
-	}
2477
-	if ( isset( $args['pl_md'] ) && $args['pl_md'] !== '' ) {
2478
-		$classes[] = $p_pl . 'md-' . sanitize_html_class( $args['pl_md'] );
2479
-		$pl_md     = $args['pl_md'];
2480
-	} else {
2481
-		$pl_md = null;
2482
-	}
2483
-
2484
-	// padding desktop.
2485
-	if ( isset( $args['pt_lg'] ) && $args['pt_lg'] !== '' ) {
2486
-		if ( $pt == null && $pt_md == null ) {
2487
-			$classes[] = 'pt-' . sanitize_html_class( $args['pt_lg'] );
2488
-		} else {
2489
-			$classes[] = 'pt-lg-' . sanitize_html_class( $args['pt_lg'] );
2490
-		}
2491
-	}
2492
-	if ( isset( $args['pr_lg'] ) && $args['pr_lg'] !== '' ) {
2493
-		if ( $pr == null && $pr_md == null ) {
2494
-			$classes[] = $p_pr . sanitize_html_class( $args['pr_lg'] );
2495
-		} else {
2496
-			$classes[] = $p_pr . 'lg-' . sanitize_html_class( $args['pr_lg'] );
2497
-		}
2498
-	}
2499
-	if ( isset( $args['pb_lg'] ) && $args['pb_lg'] !== '' ) {
2500
-		if ( $pb == null && $pb_md == null ) {
2501
-			$classes[] = 'pb-' . sanitize_html_class( $args['pb_lg'] );
2502
-		} else {
2503
-			$classes[] = 'pb-lg-' . sanitize_html_class( $args['pb_lg'] );
2504
-		}
2505
-	}
2506
-	if ( isset( $args['pl_lg'] ) && $args['pl_lg'] !== '' ) {
2507
-		if ( $pl == null && $pl_md == null ) {
2508
-			$classes[] = $p_pl . sanitize_html_class( $args['pl_lg'] );
2509
-		} else {
2510
-			$classes[] = $p_pl . 'lg-' . sanitize_html_class( $args['pl_lg'] );
2511
-		}
2512
-	}
2513
-
2514
-	// row cols, mobile, tablet, desktop
2515
-	if ( ! empty( $args['row_cols'] ) && $args['row_cols'] !== '' ) {
2516
-		$classes[] = sanitize_html_class( 'row-cols-' . $args['row_cols'] );
2517
-		$row_cols  = $args['row_cols'];
2518
-	} else {
2519
-		$row_cols = null;
2520
-	}
2521
-	if ( ! empty( $args['row_cols_md'] ) && $args['row_cols_md'] !== '' ) {
2522
-		$classes[]   = sanitize_html_class( 'row-cols-md-' . $args['row_cols_md'] );
2523
-		$row_cols_md = $args['row_cols_md'];
2524
-	} else {
2525
-		$row_cols_md = null;
2526
-	}
2527
-	if ( ! empty( $args['row_cols_lg'] ) && $args['row_cols_lg'] !== '' ) {
2528
-		if ( $row_cols == null && $row_cols_md == null ) {
2529
-			$classes[] = sanitize_html_class( 'row-cols-' . $args['row_cols_lg'] );
2530
-		} else {
2531
-			$classes[] = sanitize_html_class( 'row-cols-lg-' . $args['row_cols_lg'] );
2532
-		}
2533
-	}
2534
-
2535
-	// columns , mobile, tablet, desktop
2536
-	if ( ! empty( $args['col'] ) && $args['col'] !== '' ) {
2537
-		$classes[] = sanitize_html_class( 'col-' . $args['col'] );
2538
-		$col       = $args['col'];
2539
-	} else {
2540
-		$col = null;
2541
-	}
2542
-	if ( ! empty( $args['col_md'] ) && $args['col_md'] !== '' ) {
2543
-		$classes[] = sanitize_html_class( 'col-md-' . $args['col_md'] );
2544
-		$col_md    = $args['col_md'];
2545
-	} else {
2546
-		$col_md = null;
2547
-	}
2548
-	if ( ! empty( $args['col_lg'] ) && $args['col_lg'] !== '' ) {
2549
-		if ( $col == null && $col_md == null ) {
2550
-			$classes[] = sanitize_html_class( 'col-' . $args['col_lg'] );
2551
-		} else {
2552
-			$classes[] = sanitize_html_class( 'col-lg-' . $args['col_lg'] );
2553
-		}
2554
-	}
2555
-
2556
-	// border
2557
-	if ( isset( $args['border'] ) && ( $args['border'] == 'none' || $args['border'] === '0' || $args['border'] === 0 ) ) {
2558
-		$classes[] = 'border-0';
2559
-	} elseif ( ! empty( $args['border'] ) ) {
2560
-		$border_class = 'border';
2561
-		if ( ! empty( $args['border_type'] ) && strpos( $args['border_type'], '-0' ) === false ) {
2562
-			$border_class = '';
2563
-		}
2564
-		$classes[] = $border_class . ' border-' . sanitize_html_class( $args['border'] );
2565
-	}
2566
-
2567
-	// border radius type
2568
-	if ( ! empty( $args['rounded'] ) ) {
2569
-		$classes[] = sanitize_html_class( $args['rounded'] );
2570
-	}
2571
-
2572
-	// border radius size BS4
2573
-	if ( isset( $args['rounded_size'] ) && in_array( $args['rounded_size'], array( 'sm', 'lg' ) ) ) {
2574
-		$classes[] = 'rounded-' . sanitize_html_class( $args['rounded_size'] );
2575
-		// if we set a size then we need to remove "rounded" if set
2576
-		if ( ( $key = array_search( 'rounded', $classes ) ) !== false ) {
2577
-			unset( $classes[ $key ] );
2578
-		}
2579
-	} else {
2580
-
2581
-		// border radius size , mobile, tablet, desktop
2582
-		if ( isset( $args['rounded_size'] ) && $args['rounded_size'] !== '' ) {
2583
-			$classes[]    = sanitize_html_class( 'rounded-' . $args['rounded_size'] );
2584
-			$rounded_size = $args['rounded_size'];
2585
-		} else {
2586
-			$rounded_size = null;
2587
-		}
2588
-		if ( isset( $args['rounded_size_md'] ) && $args['rounded_size_md'] !== '' ) {
2589
-			$classes[]       = sanitize_html_class( 'rounded-md-' . $args['rounded_size_md'] );
2590
-			$rounded_size_md = $args['rounded_size_md'];
2591
-		} else {
2592
-			$rounded_size_md = null;
2593
-		}
2594
-		if ( isset( $args['rounded_size_lg'] ) && $args['rounded_size_lg'] !== '' ) {
2595
-			if ( $rounded_size == null && $rounded_size_md == null ) {
2596
-				$classes[] = sanitize_html_class( 'rounded-' . $args['rounded_size_lg'] );
2597
-			} else {
2598
-				$classes[] = sanitize_html_class( 'rounded-lg-' . $args['rounded_size_lg'] );
2599
-			}
2600
-		}
2601
-	}
2602
-
2603
-	// shadow
2604
-	//if ( !empty( $args['shadow'] ) ) { $classes[] = sanitize_html_class($args['shadow']); }
2605
-
2606
-	// background
2607
-	if ( ! empty( $args['bg'] ) ) {
2608
-		$classes[] = 'bg-' . sanitize_html_class( $args['bg'] );
2609
-	}
2610
-
2611
-	// background image fixed bg_image_fixed this helps fix a iOS bug
2612
-	if ( ! empty( $args['bg_image_fixed'] ) ) {
2613
-		$classes[] = 'bg-image-fixed';
2614
-	}
2615
-
2616
-	// text_color
2617
-	if ( ! empty( $args['text_color'] ) ) {
2618
-		$classes[] = 'text-' . sanitize_html_class( $args['text_color'] );
2619
-	}
2620
-
2621
-	// text_align
2622
-	if ( ! empty( $args['text_justify'] ) ) {
2623
-		$classes[] = 'text-justify';
2624
-	} else {
2625
-		if ( ! empty( $args['text_align'] ) ) {
2626
-			$classes[]  = sanitize_html_class( $args['text_align'] );
2627
-			$text_align = $args['text_align'];
2628
-		} else {
2629
-			$text_align = null;
2630
-		}
2631
-		if ( ! empty( $args['text_align_md'] ) && $args['text_align_md'] !== '' ) {
2632
-			$classes[]     = sanitize_html_class( $args['text_align_md'] );
2633
-			$text_align_md = $args['text_align_md'];
2634
-		} else {
2635
-			$text_align_md = null;
2636
-		}
2637
-		if ( ! empty( $args['text_align_lg'] ) && $args['text_align_lg'] !== '' ) {
2638
-			if ( $text_align == null && $text_align_md == null ) {
2639
-				$classes[] = sanitize_html_class( str_replace( '-lg', '', $args['text_align_lg'] ) );
2640
-			} else {
2641
-				$classes[] = sanitize_html_class( $args['text_align_lg'] );
2642
-			}
2643
-		}
2644
-	}
2645
-
2646
-	// display
2647
-	if ( ! empty( $args['display'] ) ) {
2648
-		$classes[] = sanitize_html_class( $args['display'] );
2649
-		$display   = $args['display'];
2650
-	} else {
2651
-		$display = null;
2652
-	}
2653
-	if ( ! empty( $args['display_md'] ) && $args['display_md'] !== '' ) {
2654
-		$classes[]  = sanitize_html_class( $args['display_md'] );
2655
-		$display_md = $args['display_md'];
2656
-	} else {
2657
-		$display_md = null;
2658
-	}
2659
-	if ( ! empty( $args['display_lg'] ) && $args['display_lg'] !== '' ) {
2660
-		if ( $display == null && $display_md == null ) {
2661
-			$classes[] = sanitize_html_class( str_replace( '-lg', '', $args['display_lg'] ) );
2662
-		} else {
2663
-			$classes[] = sanitize_html_class( $args['display_lg'] );
2664
-		}
2665
-	}
2666
-
2667
-	// bgtus - background transparent until scroll
2668
-	if ( ! empty( $args['bgtus'] ) ) {
2669
-		$classes[] = sanitize_html_class( 'bg-transparent-until-scroll' );
2670
-	}
2671
-
2672
-	// cscos - change color scheme on scroll
2673
-	if ( ! empty( $args['bgtus'] ) && ! empty( $args['cscos'] ) ) {
2674
-		$classes[] = sanitize_html_class( 'color-scheme-flip-on-scroll' );
2675
-	}
2676
-
2677
-	// hover animations
2678
-	if ( ! empty( $args['hover_animations'] ) ) {
2679
-		$classes[] = sd_sanitize_html_classes( str_replace( ',', ' ', $args['hover_animations'] ) );
2680
-	}
2681
-
2682
-	// absolute_position
2683
-	if ( ! empty( $args['absolute_position'] ) ) {
2684
-		if ( 'top-left' === $args['absolute_position'] ) {
2685
-			$classes[] = 'start-0 top-0';
2686
-		} elseif ( 'top-center' === $args['absolute_position'] ) {
2687
-			$classes[] = 'start-50 top-0 translate-middle';
2688
-		} elseif ( 'top-right' === $args['absolute_position'] ) {
2689
-			$classes[] = 'end-0 top-0';
2690
-		} elseif ( 'center-left' === $args['absolute_position'] ) {
2691
-			$classes[] = 'start-0 top-50';
2692
-		} elseif ( 'center' === $args['absolute_position'] ) {
2693
-			$classes[] = 'start-50 top-50 translate-middle';
2694
-		} elseif ( 'center-right' === $args['absolute_position'] ) {
2695
-			$classes[] = 'end-0 top-50';
2696
-		} elseif ( 'bottom-left' === $args['absolute_position'] ) {
2697
-			$classes[] = 'start-0 bottom-0';
2698
-		} elseif ( 'bottom-center' === $args['absolute_position'] ) {
2699
-			$classes[] = 'start-50 bottom-0 translate-middle';
2700
-		} elseif ( 'bottom-right' === $args['absolute_position'] ) {
2701
-			$classes[] = 'end-0 bottom-0';
2702
-		}
2703
-	}
2704
-
2705
-	// build classes from build keys
2706
-	$build_keys = sd_get_class_build_keys();
2707
-	if ( ! empty( $build_keys ) ) {
2708
-		foreach ( $build_keys as $key ) {
2709
-
2710
-			if ( substr( $key, -4 ) == '-MTD' ) {
2711
-
2712
-				$k = str_replace( '-MTD', '', $key );
2713
-
2714
-				// Mobile, Tablet, Desktop
2715
-				if ( ! empty( $args[ $k ] ) && $args[ $k ] !== '' ) {
2716
-					$classes[] = sanitize_html_class( $args[ $k ] );
2717
-					$v         = $args[ $k ];
2718
-				} else {
2719
-					$v = null;
2720
-				}
2721
-				if ( ! empty( $args[ $k . '_md' ] ) && $args[ $k . '_md' ] !== '' ) {
2722
-					$classes[] = sanitize_html_class( $args[ $k . '_md' ] );
2723
-					$v_md      = $args[ $k . '_md' ];
2724
-				} else {
2725
-					$v_md = null;
2726
-				}
2727
-				if ( ! empty( $args[ $k . '_lg' ] ) && $args[ $k . '_lg' ] !== '' ) {
2728
-					if ( $v == null && $v_md == null ) {
2729
-						$classes[] = sanitize_html_class( str_replace( '-lg', '', $args[ $k . '_lg' ] ) );
2730
-					} else {
2731
-						$classes[] = sanitize_html_class( $args[ $k . '_lg' ] );
2732
-					}
2733
-				}
2734
-			} else {
2735
-				if ( $key == 'font_size' && ! empty( $args[ $key ] ) && $args[ $key ] == 'custom' ) {
2736
-					continue;
2737
-				}
2738
-				if ( ! empty( $args[ $key ] ) ) {
2739
-					$classes[] = sd_sanitize_html_classes( $args[ $key ] );
2740
-				}
2741
-			}
2742
-		}
2743
-	}
2744
-
2745
-	if ( ! empty( $classes ) ) {
2746
-		$classes = array_unique( array_filter( array_map( 'trim', $classes ) ) );
2747
-	}
2748
-
2749
-	return implode( ' ', $classes );
2332
+    global $aui_bs5;
2333
+
2334
+    $classes = array();
2335
+
2336
+    if ( $aui_bs5 ) {
2337
+        $p_ml = 'ms-';
2338
+        $p_mr = 'me-';
2339
+
2340
+        $p_pl = 'ps-';
2341
+        $p_pr = 'pe-';
2342
+    } else {
2343
+        $p_ml = 'ml-';
2344
+        $p_mr = 'mr-';
2345
+
2346
+        $p_pl = 'pl-';
2347
+        $p_pr = 'pr-';
2348
+    }
2349
+
2350
+    // margins.
2351
+    if ( isset( $args['mt'] ) && $args['mt'] !== '' ) {
2352
+        $classes[] = 'mt-' . sanitize_html_class( $args['mt'] );
2353
+        $mt        = $args['mt'];
2354
+    } else {
2355
+        $mt = null;
2356
+    }
2357
+    if ( isset( $args['mr'] ) && $args['mr'] !== '' ) {
2358
+        $classes[] = $p_mr . sanitize_html_class( $args['mr'] );
2359
+        $mr        = $args['mr'];
2360
+    } else {
2361
+        $mr = null;
2362
+    }
2363
+    if ( isset( $args['mb'] ) && $args['mb'] !== '' ) {
2364
+        $classes[] = 'mb-' . sanitize_html_class( $args['mb'] );
2365
+        $mb        = $args['mb'];
2366
+    } else {
2367
+        $mb = null;
2368
+    }
2369
+    if ( isset( $args['ml'] ) && $args['ml'] !== '' ) {
2370
+        $classes[] = $p_ml . sanitize_html_class( $args['ml'] );
2371
+        $ml        = $args['ml'];
2372
+    } else {
2373
+        $ml = null;
2374
+    }
2375
+
2376
+    // margins tablet.
2377
+    if ( isset( $args['mt_md'] ) && $args['mt_md'] !== '' ) {
2378
+        $classes[] = 'mt-md-' . sanitize_html_class( $args['mt_md'] );
2379
+        $mt_md     = $args['mt_md'];
2380
+    } else {
2381
+        $mt_md = null;
2382
+    }
2383
+    if ( isset( $args['mr_md'] ) && $args['mr_md'] !== '' ) {
2384
+        $classes[] = $p_mr . 'md-' . sanitize_html_class( $args['mr_md'] );
2385
+        $mt_md     = $args['mr_md'];
2386
+    } else {
2387
+        $mr_md = null;
2388
+    }
2389
+    if ( isset( $args['mb_md'] ) && $args['mb_md'] !== '' ) {
2390
+        $classes[] = 'mb-md-' . sanitize_html_class( $args['mb_md'] );
2391
+        $mt_md     = $args['mb_md'];
2392
+    } else {
2393
+        $mb_md = null;
2394
+    }
2395
+    if ( isset( $args['ml_md'] ) && $args['ml_md'] !== '' ) {
2396
+        $classes[] = $p_ml . 'md-' . sanitize_html_class( $args['ml_md'] );
2397
+        $mt_md     = $args['ml_md'];
2398
+    } else {
2399
+        $ml_md = null;
2400
+    }
2401
+
2402
+    // margins desktop.
2403
+    if ( isset( $args['mt_lg'] ) && $args['mt_lg'] !== '' ) {
2404
+        if ( $mt == null && $mt_md == null ) {
2405
+            $classes[] = 'mt-' . sanitize_html_class( $args['mt_lg'] );
2406
+        } else {
2407
+            $classes[] = 'mt-lg-' . sanitize_html_class( $args['mt_lg'] );
2408
+        }
2409
+    }
2410
+    if ( isset( $args['mr_lg'] ) && $args['mr_lg'] !== '' ) {
2411
+        if ( $mr == null && $mr_md == null ) {
2412
+            $classes[] = $p_mr . sanitize_html_class( $args['mr_lg'] );
2413
+        } else {
2414
+            $classes[] = $p_mr . 'lg-' . sanitize_html_class( $args['mr_lg'] );
2415
+        }
2416
+    }
2417
+    if ( isset( $args['mb_lg'] ) && $args['mb_lg'] !== '' ) {
2418
+        if ( $mb == null && $mb_md == null ) {
2419
+            $classes[] = 'mb-' . sanitize_html_class( $args['mb_lg'] );
2420
+        } else {
2421
+            $classes[] = 'mb-lg-' . sanitize_html_class( $args['mb_lg'] );
2422
+        }
2423
+    }
2424
+    if ( isset( $args['ml_lg'] ) && $args['ml_lg'] !== '' ) {
2425
+        if ( $ml == null && $ml_md == null ) {
2426
+            $classes[] = $p_ml . sanitize_html_class( $args['ml_lg'] );
2427
+        } else {
2428
+            $classes[] = $p_ml . 'lg-' . sanitize_html_class( $args['ml_lg'] );
2429
+        }
2430
+    }
2431
+
2432
+    // padding.
2433
+    if ( isset( $args['pt'] ) && $args['pt'] !== '' ) {
2434
+        $classes[] = 'pt-' . sanitize_html_class( $args['pt'] );
2435
+        $pt        = $args['pt'];
2436
+    } else {
2437
+        $pt = null;
2438
+    }
2439
+    if ( isset( $args['pr'] ) && $args['pr'] !== '' ) {
2440
+        $classes[] = $p_pr . sanitize_html_class( $args['pr'] );
2441
+        $pr        = $args['pr'];
2442
+    } else {
2443
+        $pr = null;
2444
+    }
2445
+    if ( isset( $args['pb'] ) && $args['pb'] !== '' ) {
2446
+        $classes[] = 'pb-' . sanitize_html_class( $args['pb'] );
2447
+        $pb        = $args['pb'];
2448
+    } else {
2449
+        $pb = null;
2450
+    }
2451
+    if ( isset( $args['pl'] ) && $args['pl'] !== '' ) {
2452
+        $classes[] = $p_pl . sanitize_html_class( $args['pl'] );
2453
+        $pl        = $args['pl'];
2454
+    } else {
2455
+        $pl = null;
2456
+    }
2457
+
2458
+    // padding tablet.
2459
+    if ( isset( $args['pt_md'] ) && $args['pt_md'] !== '' ) {
2460
+        $classes[] = 'pt-md-' . sanitize_html_class( $args['pt_md'] );
2461
+        $pt_md     = $args['pt_md'];
2462
+    } else {
2463
+        $pt_md = null;
2464
+    }
2465
+    if ( isset( $args['pr_md'] ) && $args['pr_md'] !== '' ) {
2466
+        $classes[] = $p_pr . 'md-' . sanitize_html_class( $args['pr_md'] );
2467
+        $pr_md     = $args['pr_md'];
2468
+    } else {
2469
+        $pr_md = null;
2470
+    }
2471
+    if ( isset( $args['pb_md'] ) && $args['pb_md'] !== '' ) {
2472
+        $classes[] = 'pb-md-' . sanitize_html_class( $args['pb_md'] );
2473
+        $pb_md     = $args['pb_md'];
2474
+    } else {
2475
+        $pb_md = null;
2476
+    }
2477
+    if ( isset( $args['pl_md'] ) && $args['pl_md'] !== '' ) {
2478
+        $classes[] = $p_pl . 'md-' . sanitize_html_class( $args['pl_md'] );
2479
+        $pl_md     = $args['pl_md'];
2480
+    } else {
2481
+        $pl_md = null;
2482
+    }
2483
+
2484
+    // padding desktop.
2485
+    if ( isset( $args['pt_lg'] ) && $args['pt_lg'] !== '' ) {
2486
+        if ( $pt == null && $pt_md == null ) {
2487
+            $classes[] = 'pt-' . sanitize_html_class( $args['pt_lg'] );
2488
+        } else {
2489
+            $classes[] = 'pt-lg-' . sanitize_html_class( $args['pt_lg'] );
2490
+        }
2491
+    }
2492
+    if ( isset( $args['pr_lg'] ) && $args['pr_lg'] !== '' ) {
2493
+        if ( $pr == null && $pr_md == null ) {
2494
+            $classes[] = $p_pr . sanitize_html_class( $args['pr_lg'] );
2495
+        } else {
2496
+            $classes[] = $p_pr . 'lg-' . sanitize_html_class( $args['pr_lg'] );
2497
+        }
2498
+    }
2499
+    if ( isset( $args['pb_lg'] ) && $args['pb_lg'] !== '' ) {
2500
+        if ( $pb == null && $pb_md == null ) {
2501
+            $classes[] = 'pb-' . sanitize_html_class( $args['pb_lg'] );
2502
+        } else {
2503
+            $classes[] = 'pb-lg-' . sanitize_html_class( $args['pb_lg'] );
2504
+        }
2505
+    }
2506
+    if ( isset( $args['pl_lg'] ) && $args['pl_lg'] !== '' ) {
2507
+        if ( $pl == null && $pl_md == null ) {
2508
+            $classes[] = $p_pl . sanitize_html_class( $args['pl_lg'] );
2509
+        } else {
2510
+            $classes[] = $p_pl . 'lg-' . sanitize_html_class( $args['pl_lg'] );
2511
+        }
2512
+    }
2513
+
2514
+    // row cols, mobile, tablet, desktop
2515
+    if ( ! empty( $args['row_cols'] ) && $args['row_cols'] !== '' ) {
2516
+        $classes[] = sanitize_html_class( 'row-cols-' . $args['row_cols'] );
2517
+        $row_cols  = $args['row_cols'];
2518
+    } else {
2519
+        $row_cols = null;
2520
+    }
2521
+    if ( ! empty( $args['row_cols_md'] ) && $args['row_cols_md'] !== '' ) {
2522
+        $classes[]   = sanitize_html_class( 'row-cols-md-' . $args['row_cols_md'] );
2523
+        $row_cols_md = $args['row_cols_md'];
2524
+    } else {
2525
+        $row_cols_md = null;
2526
+    }
2527
+    if ( ! empty( $args['row_cols_lg'] ) && $args['row_cols_lg'] !== '' ) {
2528
+        if ( $row_cols == null && $row_cols_md == null ) {
2529
+            $classes[] = sanitize_html_class( 'row-cols-' . $args['row_cols_lg'] );
2530
+        } else {
2531
+            $classes[] = sanitize_html_class( 'row-cols-lg-' . $args['row_cols_lg'] );
2532
+        }
2533
+    }
2534
+
2535
+    // columns , mobile, tablet, desktop
2536
+    if ( ! empty( $args['col'] ) && $args['col'] !== '' ) {
2537
+        $classes[] = sanitize_html_class( 'col-' . $args['col'] );
2538
+        $col       = $args['col'];
2539
+    } else {
2540
+        $col = null;
2541
+    }
2542
+    if ( ! empty( $args['col_md'] ) && $args['col_md'] !== '' ) {
2543
+        $classes[] = sanitize_html_class( 'col-md-' . $args['col_md'] );
2544
+        $col_md    = $args['col_md'];
2545
+    } else {
2546
+        $col_md = null;
2547
+    }
2548
+    if ( ! empty( $args['col_lg'] ) && $args['col_lg'] !== '' ) {
2549
+        if ( $col == null && $col_md == null ) {
2550
+            $classes[] = sanitize_html_class( 'col-' . $args['col_lg'] );
2551
+        } else {
2552
+            $classes[] = sanitize_html_class( 'col-lg-' . $args['col_lg'] );
2553
+        }
2554
+    }
2555
+
2556
+    // border
2557
+    if ( isset( $args['border'] ) && ( $args['border'] == 'none' || $args['border'] === '0' || $args['border'] === 0 ) ) {
2558
+        $classes[] = 'border-0';
2559
+    } elseif ( ! empty( $args['border'] ) ) {
2560
+        $border_class = 'border';
2561
+        if ( ! empty( $args['border_type'] ) && strpos( $args['border_type'], '-0' ) === false ) {
2562
+            $border_class = '';
2563
+        }
2564
+        $classes[] = $border_class . ' border-' . sanitize_html_class( $args['border'] );
2565
+    }
2566
+
2567
+    // border radius type
2568
+    if ( ! empty( $args['rounded'] ) ) {
2569
+        $classes[] = sanitize_html_class( $args['rounded'] );
2570
+    }
2571
+
2572
+    // border radius size BS4
2573
+    if ( isset( $args['rounded_size'] ) && in_array( $args['rounded_size'], array( 'sm', 'lg' ) ) ) {
2574
+        $classes[] = 'rounded-' . sanitize_html_class( $args['rounded_size'] );
2575
+        // if we set a size then we need to remove "rounded" if set
2576
+        if ( ( $key = array_search( 'rounded', $classes ) ) !== false ) {
2577
+            unset( $classes[ $key ] );
2578
+        }
2579
+    } else {
2580
+
2581
+        // border radius size , mobile, tablet, desktop
2582
+        if ( isset( $args['rounded_size'] ) && $args['rounded_size'] !== '' ) {
2583
+            $classes[]    = sanitize_html_class( 'rounded-' . $args['rounded_size'] );
2584
+            $rounded_size = $args['rounded_size'];
2585
+        } else {
2586
+            $rounded_size = null;
2587
+        }
2588
+        if ( isset( $args['rounded_size_md'] ) && $args['rounded_size_md'] !== '' ) {
2589
+            $classes[]       = sanitize_html_class( 'rounded-md-' . $args['rounded_size_md'] );
2590
+            $rounded_size_md = $args['rounded_size_md'];
2591
+        } else {
2592
+            $rounded_size_md = null;
2593
+        }
2594
+        if ( isset( $args['rounded_size_lg'] ) && $args['rounded_size_lg'] !== '' ) {
2595
+            if ( $rounded_size == null && $rounded_size_md == null ) {
2596
+                $classes[] = sanitize_html_class( 'rounded-' . $args['rounded_size_lg'] );
2597
+            } else {
2598
+                $classes[] = sanitize_html_class( 'rounded-lg-' . $args['rounded_size_lg'] );
2599
+            }
2600
+        }
2601
+    }
2602
+
2603
+    // shadow
2604
+    //if ( !empty( $args['shadow'] ) ) { $classes[] = sanitize_html_class($args['shadow']); }
2605
+
2606
+    // background
2607
+    if ( ! empty( $args['bg'] ) ) {
2608
+        $classes[] = 'bg-' . sanitize_html_class( $args['bg'] );
2609
+    }
2610
+
2611
+    // background image fixed bg_image_fixed this helps fix a iOS bug
2612
+    if ( ! empty( $args['bg_image_fixed'] ) ) {
2613
+        $classes[] = 'bg-image-fixed';
2614
+    }
2615
+
2616
+    // text_color
2617
+    if ( ! empty( $args['text_color'] ) ) {
2618
+        $classes[] = 'text-' . sanitize_html_class( $args['text_color'] );
2619
+    }
2620
+
2621
+    // text_align
2622
+    if ( ! empty( $args['text_justify'] ) ) {
2623
+        $classes[] = 'text-justify';
2624
+    } else {
2625
+        if ( ! empty( $args['text_align'] ) ) {
2626
+            $classes[]  = sanitize_html_class( $args['text_align'] );
2627
+            $text_align = $args['text_align'];
2628
+        } else {
2629
+            $text_align = null;
2630
+        }
2631
+        if ( ! empty( $args['text_align_md'] ) && $args['text_align_md'] !== '' ) {
2632
+            $classes[]     = sanitize_html_class( $args['text_align_md'] );
2633
+            $text_align_md = $args['text_align_md'];
2634
+        } else {
2635
+            $text_align_md = null;
2636
+        }
2637
+        if ( ! empty( $args['text_align_lg'] ) && $args['text_align_lg'] !== '' ) {
2638
+            if ( $text_align == null && $text_align_md == null ) {
2639
+                $classes[] = sanitize_html_class( str_replace( '-lg', '', $args['text_align_lg'] ) );
2640
+            } else {
2641
+                $classes[] = sanitize_html_class( $args['text_align_lg'] );
2642
+            }
2643
+        }
2644
+    }
2645
+
2646
+    // display
2647
+    if ( ! empty( $args['display'] ) ) {
2648
+        $classes[] = sanitize_html_class( $args['display'] );
2649
+        $display   = $args['display'];
2650
+    } else {
2651
+        $display = null;
2652
+    }
2653
+    if ( ! empty( $args['display_md'] ) && $args['display_md'] !== '' ) {
2654
+        $classes[]  = sanitize_html_class( $args['display_md'] );
2655
+        $display_md = $args['display_md'];
2656
+    } else {
2657
+        $display_md = null;
2658
+    }
2659
+    if ( ! empty( $args['display_lg'] ) && $args['display_lg'] !== '' ) {
2660
+        if ( $display == null && $display_md == null ) {
2661
+            $classes[] = sanitize_html_class( str_replace( '-lg', '', $args['display_lg'] ) );
2662
+        } else {
2663
+            $classes[] = sanitize_html_class( $args['display_lg'] );
2664
+        }
2665
+    }
2666
+
2667
+    // bgtus - background transparent until scroll
2668
+    if ( ! empty( $args['bgtus'] ) ) {
2669
+        $classes[] = sanitize_html_class( 'bg-transparent-until-scroll' );
2670
+    }
2671
+
2672
+    // cscos - change color scheme on scroll
2673
+    if ( ! empty( $args['bgtus'] ) && ! empty( $args['cscos'] ) ) {
2674
+        $classes[] = sanitize_html_class( 'color-scheme-flip-on-scroll' );
2675
+    }
2676
+
2677
+    // hover animations
2678
+    if ( ! empty( $args['hover_animations'] ) ) {
2679
+        $classes[] = sd_sanitize_html_classes( str_replace( ',', ' ', $args['hover_animations'] ) );
2680
+    }
2681
+
2682
+    // absolute_position
2683
+    if ( ! empty( $args['absolute_position'] ) ) {
2684
+        if ( 'top-left' === $args['absolute_position'] ) {
2685
+            $classes[] = 'start-0 top-0';
2686
+        } elseif ( 'top-center' === $args['absolute_position'] ) {
2687
+            $classes[] = 'start-50 top-0 translate-middle';
2688
+        } elseif ( 'top-right' === $args['absolute_position'] ) {
2689
+            $classes[] = 'end-0 top-0';
2690
+        } elseif ( 'center-left' === $args['absolute_position'] ) {
2691
+            $classes[] = 'start-0 top-50';
2692
+        } elseif ( 'center' === $args['absolute_position'] ) {
2693
+            $classes[] = 'start-50 top-50 translate-middle';
2694
+        } elseif ( 'center-right' === $args['absolute_position'] ) {
2695
+            $classes[] = 'end-0 top-50';
2696
+        } elseif ( 'bottom-left' === $args['absolute_position'] ) {
2697
+            $classes[] = 'start-0 bottom-0';
2698
+        } elseif ( 'bottom-center' === $args['absolute_position'] ) {
2699
+            $classes[] = 'start-50 bottom-0 translate-middle';
2700
+        } elseif ( 'bottom-right' === $args['absolute_position'] ) {
2701
+            $classes[] = 'end-0 bottom-0';
2702
+        }
2703
+    }
2704
+
2705
+    // build classes from build keys
2706
+    $build_keys = sd_get_class_build_keys();
2707
+    if ( ! empty( $build_keys ) ) {
2708
+        foreach ( $build_keys as $key ) {
2709
+
2710
+            if ( substr( $key, -4 ) == '-MTD' ) {
2711
+
2712
+                $k = str_replace( '-MTD', '', $key );
2713
+
2714
+                // Mobile, Tablet, Desktop
2715
+                if ( ! empty( $args[ $k ] ) && $args[ $k ] !== '' ) {
2716
+                    $classes[] = sanitize_html_class( $args[ $k ] );
2717
+                    $v         = $args[ $k ];
2718
+                } else {
2719
+                    $v = null;
2720
+                }
2721
+                if ( ! empty( $args[ $k . '_md' ] ) && $args[ $k . '_md' ] !== '' ) {
2722
+                    $classes[] = sanitize_html_class( $args[ $k . '_md' ] );
2723
+                    $v_md      = $args[ $k . '_md' ];
2724
+                } else {
2725
+                    $v_md = null;
2726
+                }
2727
+                if ( ! empty( $args[ $k . '_lg' ] ) && $args[ $k . '_lg' ] !== '' ) {
2728
+                    if ( $v == null && $v_md == null ) {
2729
+                        $classes[] = sanitize_html_class( str_replace( '-lg', '', $args[ $k . '_lg' ] ) );
2730
+                    } else {
2731
+                        $classes[] = sanitize_html_class( $args[ $k . '_lg' ] );
2732
+                    }
2733
+                }
2734
+            } else {
2735
+                if ( $key == 'font_size' && ! empty( $args[ $key ] ) && $args[ $key ] == 'custom' ) {
2736
+                    continue;
2737
+                }
2738
+                if ( ! empty( $args[ $key ] ) ) {
2739
+                    $classes[] = sd_sanitize_html_classes( $args[ $key ] );
2740
+                }
2741
+            }
2742
+        }
2743
+    }
2744
+
2745
+    if ( ! empty( $classes ) ) {
2746
+        $classes = array_unique( array_filter( array_map( 'trim', $classes ) ) );
2747
+    }
2748
+
2749
+    return implode( ' ', $classes );
2750 2750
 }
2751 2751
 
2752 2752
 /**
@@ -2758,90 +2758,90 @@  discard block
 block discarded – undo
2758 2758
  */
2759 2759
 function sd_build_aui_styles( $args ) {
2760 2760
 
2761
-	$styles = array();
2762
-
2763
-	// background color
2764
-	if ( ! empty( $args['bg'] ) && $args['bg'] !== '' ) {
2765
-		if ( $args['bg'] == 'custom-color' ) {
2766
-			$styles['background-color'] = $args['bg_color'];
2767
-		} elseif ( $args['bg'] == 'custom-gradient' ) {
2768
-			$styles['background-image'] = $args['bg_gradient'];
2769
-
2770
-			// use background on text.
2771
-			if ( ! empty( $args['bg_on_text'] ) && $args['bg_on_text'] ) {
2772
-				$styles['background-clip']         = 'text';
2773
-				$styles['-webkit-background-clip'] = 'text';
2774
-				$styles['text-fill-color']         = 'transparent';
2775
-				$styles['-webkit-text-fill-color'] = 'transparent';
2776
-			}
2777
-		}
2778
-	}
2779
-
2780
-	if ( ! empty( $args['bg_image'] ) && $args['bg_image'] !== '' ) {
2781
-		$hasImage = true;
2782
-		if ( ! empty( $styles['background-color'] ) && $args['bg'] == 'custom-color' ) {
2783
-			$styles['background-image']      = 'url(' . $args['bg_image'] . ')';
2784
-			$styles['background-blend-mode'] = 'overlay';
2785
-		} elseif ( ! empty( $styles['background-image'] ) && $args['bg'] == 'custom-gradient' ) {
2786
-			$styles['background-image'] .= ',url(' . $args['bg_image'] . ')';
2787
-		} elseif ( ! empty( $args['bg'] ) && $args['bg'] != '' && $args['bg'] != 'transparent' ) {
2788
-			// do nothing as we alreay have a preset
2789
-			$hasImage = false;
2790
-		} else {
2791
-			$styles['background-image'] = 'url(' . $args['bg_image'] . ')';
2792
-		}
2793
-
2794
-		if ( $hasImage ) {
2795
-			$styles['background-size'] = 'cover';
2796
-
2797
-			if ( ! empty( $args['bg_image_fixed'] ) && $args['bg_image_fixed'] ) {
2798
-				$styles['background-attachment'] = 'fixed';
2799
-			}
2800
-		}
2801
-
2802
-		if ( $hasImage && ! empty( $args['bg_image_xy'] ) && ! empty( $args['bg_image_xy']['x'] ) ) {
2803
-			$styles['background-position'] = ( $args['bg_image_xy']['x'] * 100 ) . '% ' . ( $args['bg_image_xy']['y'] * 100 ) . '%';
2804
-		}
2805
-	}
2806
-
2807
-	// sticky offset top
2808
-	if ( ! empty( $args['sticky_offset_top'] ) && $args['sticky_offset_top'] !== '' ) {
2809
-		$styles['top'] = absint( $args['sticky_offset_top'] );
2810
-	}
2811
-
2812
-	// sticky offset bottom
2813
-	if ( ! empty( $args['sticky_offset_bottom'] ) && $args['sticky_offset_bottom'] !== '' ) {
2814
-		$styles['bottom'] = absint( $args['sticky_offset_bottom'] );
2815
-	}
2816
-
2817
-	// font size
2818
-	if ( ! empty( $args['font_size_custom'] ) && $args['font_size_custom'] !== '' ) {
2819
-		$styles['font-size'] = (float) $args['font_size_custom'] . 'rem';
2820
-	}
2821
-
2822
-	// font color
2823
-	if ( ! empty( $args['text_color_custom'] ) && $args['text_color_custom'] !== '' ) {
2824
-		$styles['color'] = esc_attr( $args['text_color_custom'] );
2825
-	}
2826
-
2827
-	// font line height
2828
-	if ( ! empty( $args['font_line_height'] ) && $args['font_line_height'] !== '' ) {
2829
-		$styles['line-height'] = esc_attr( $args['font_line_height'] );
2830
-	}
2831
-
2832
-	// max height
2833
-	if ( ! empty( $args['max_height'] ) && $args['max_height'] !== '' ) {
2834
-		$styles['max-height'] = esc_attr( $args['max_height'] );
2835
-	}
2836
-
2837
-	$style_string = '';
2838
-	if ( ! empty( $styles ) ) {
2839
-		foreach ( $styles as $key => $val ) {
2840
-			$style_string .= esc_attr( $key ) . ':' . esc_attr( $val ) . ';';
2841
-		}
2842
-	}
2843
-
2844
-	return $style_string;
2761
+    $styles = array();
2762
+
2763
+    // background color
2764
+    if ( ! empty( $args['bg'] ) && $args['bg'] !== '' ) {
2765
+        if ( $args['bg'] == 'custom-color' ) {
2766
+            $styles['background-color'] = $args['bg_color'];
2767
+        } elseif ( $args['bg'] == 'custom-gradient' ) {
2768
+            $styles['background-image'] = $args['bg_gradient'];
2769
+
2770
+            // use background on text.
2771
+            if ( ! empty( $args['bg_on_text'] ) && $args['bg_on_text'] ) {
2772
+                $styles['background-clip']         = 'text';
2773
+                $styles['-webkit-background-clip'] = 'text';
2774
+                $styles['text-fill-color']         = 'transparent';
2775
+                $styles['-webkit-text-fill-color'] = 'transparent';
2776
+            }
2777
+        }
2778
+    }
2779
+
2780
+    if ( ! empty( $args['bg_image'] ) && $args['bg_image'] !== '' ) {
2781
+        $hasImage = true;
2782
+        if ( ! empty( $styles['background-color'] ) && $args['bg'] == 'custom-color' ) {
2783
+            $styles['background-image']      = 'url(' . $args['bg_image'] . ')';
2784
+            $styles['background-blend-mode'] = 'overlay';
2785
+        } elseif ( ! empty( $styles['background-image'] ) && $args['bg'] == 'custom-gradient' ) {
2786
+            $styles['background-image'] .= ',url(' . $args['bg_image'] . ')';
2787
+        } elseif ( ! empty( $args['bg'] ) && $args['bg'] != '' && $args['bg'] != 'transparent' ) {
2788
+            // do nothing as we alreay have a preset
2789
+            $hasImage = false;
2790
+        } else {
2791
+            $styles['background-image'] = 'url(' . $args['bg_image'] . ')';
2792
+        }
2793
+
2794
+        if ( $hasImage ) {
2795
+            $styles['background-size'] = 'cover';
2796
+
2797
+            if ( ! empty( $args['bg_image_fixed'] ) && $args['bg_image_fixed'] ) {
2798
+                $styles['background-attachment'] = 'fixed';
2799
+            }
2800
+        }
2801
+
2802
+        if ( $hasImage && ! empty( $args['bg_image_xy'] ) && ! empty( $args['bg_image_xy']['x'] ) ) {
2803
+            $styles['background-position'] = ( $args['bg_image_xy']['x'] * 100 ) . '% ' . ( $args['bg_image_xy']['y'] * 100 ) . '%';
2804
+        }
2805
+    }
2806
+
2807
+    // sticky offset top
2808
+    if ( ! empty( $args['sticky_offset_top'] ) && $args['sticky_offset_top'] !== '' ) {
2809
+        $styles['top'] = absint( $args['sticky_offset_top'] );
2810
+    }
2811
+
2812
+    // sticky offset bottom
2813
+    if ( ! empty( $args['sticky_offset_bottom'] ) && $args['sticky_offset_bottom'] !== '' ) {
2814
+        $styles['bottom'] = absint( $args['sticky_offset_bottom'] );
2815
+    }
2816
+
2817
+    // font size
2818
+    if ( ! empty( $args['font_size_custom'] ) && $args['font_size_custom'] !== '' ) {
2819
+        $styles['font-size'] = (float) $args['font_size_custom'] . 'rem';
2820
+    }
2821
+
2822
+    // font color
2823
+    if ( ! empty( $args['text_color_custom'] ) && $args['text_color_custom'] !== '' ) {
2824
+        $styles['color'] = esc_attr( $args['text_color_custom'] );
2825
+    }
2826
+
2827
+    // font line height
2828
+    if ( ! empty( $args['font_line_height'] ) && $args['font_line_height'] !== '' ) {
2829
+        $styles['line-height'] = esc_attr( $args['font_line_height'] );
2830
+    }
2831
+
2832
+    // max height
2833
+    if ( ! empty( $args['max_height'] ) && $args['max_height'] !== '' ) {
2834
+        $styles['max-height'] = esc_attr( $args['max_height'] );
2835
+    }
2836
+
2837
+    $style_string = '';
2838
+    if ( ! empty( $styles ) ) {
2839
+        foreach ( $styles as $key => $val ) {
2840
+            $style_string .= esc_attr( $key ) . ':' . esc_attr( $val ) . ';';
2841
+        }
2842
+    }
2843
+
2844
+    return $style_string;
2845 2845
 
2846 2846
 }
2847 2847
 
@@ -2854,34 +2854,34 @@  discard block
 block discarded – undo
2854 2854
  * @return string
2855 2855
  */
2856 2856
 function sd_build_hover_styles( $args, $is_preview = false ) {
2857
-	$rules = '';
2858
-	// text color
2859
-	if ( ! empty( $args['styleid'] ) ) {
2860
-		$styleid = $is_preview ? 'html .editor-styles-wrapper .' . esc_attr( $args['styleid'] ) : 'html .' . esc_attr( $args['styleid'] );
2861
-
2862
-		// text
2863
-		if ( ! empty( $args['text_color_hover'] ) ) {
2864
-			$key    = 'custom' === $args['text_color_hover'] && ! empty( $args['text_color_hover_custom'] ) ? 'text_color_hover_custom' : 'text_color_hover';
2865
-			$color  = sd_get_color_from_var( $args[ $key ] );
2866
-			$rules .= $styleid . ':hover {color: ' . $color . ' !important;} ';
2867
-		}
2868
-
2869
-		// bg
2870
-		if ( ! empty( $args['bg_hover'] ) ) {
2871
-			if ( 'custom-gradient' === $args['bg_hover'] ) {
2872
-				$color  = $args['bg_hover_gradient'];
2873
-				$rules .= $styleid . ':hover {background-image: ' . $color . ' !important;} ';
2874
-				$rules .= $styleid . '.btn:hover {border-color: transparent !important;} ';
2875
-			} else {
2876
-				$key    = 'custom-color' === $args['bg_hover'] ? 'bg_hover_color' : 'bg_hover';
2877
-				$color  = sd_get_color_from_var( $args[ $key ] );
2878
-				$rules .= $styleid . ':hover {background: ' . $color . ' !important;} ';
2879
-				$rules .= $styleid . '.btn:hover {border-color: ' . $color . ' !important;} ';
2880
-			}
2881
-		}
2882
-	}
2883
-
2884
-	return $rules ? '<style>' . $rules . '</style>' : '';
2857
+    $rules = '';
2858
+    // text color
2859
+    if ( ! empty( $args['styleid'] ) ) {
2860
+        $styleid = $is_preview ? 'html .editor-styles-wrapper .' . esc_attr( $args['styleid'] ) : 'html .' . esc_attr( $args['styleid'] );
2861
+
2862
+        // text
2863
+        if ( ! empty( $args['text_color_hover'] ) ) {
2864
+            $key    = 'custom' === $args['text_color_hover'] && ! empty( $args['text_color_hover_custom'] ) ? 'text_color_hover_custom' : 'text_color_hover';
2865
+            $color  = sd_get_color_from_var( $args[ $key ] );
2866
+            $rules .= $styleid . ':hover {color: ' . $color . ' !important;} ';
2867
+        }
2868
+
2869
+        // bg
2870
+        if ( ! empty( $args['bg_hover'] ) ) {
2871
+            if ( 'custom-gradient' === $args['bg_hover'] ) {
2872
+                $color  = $args['bg_hover_gradient'];
2873
+                $rules .= $styleid . ':hover {background-image: ' . $color . ' !important;} ';
2874
+                $rules .= $styleid . '.btn:hover {border-color: transparent !important;} ';
2875
+            } else {
2876
+                $key    = 'custom-color' === $args['bg_hover'] ? 'bg_hover_color' : 'bg_hover';
2877
+                $color  = sd_get_color_from_var( $args[ $key ] );
2878
+                $rules .= $styleid . ':hover {background: ' . $color . ' !important;} ';
2879
+                $rules .= $styleid . '.btn:hover {border-color: ' . $color . ' !important;} ';
2880
+            }
2881
+        }
2882
+    }
2883
+
2884
+    return $rules ? '<style>' . $rules . '</style>' : '';
2885 2885
 }
2886 2886
 
2887 2887
 /**
@@ -2893,12 +2893,12 @@  discard block
 block discarded – undo
2893 2893
  */
2894 2894
 function sd_get_color_from_var( $var ) {
2895 2895
 
2896
-	//sanitize_hex_color() @todo this does not cover transparency
2897
-	if ( strpos( $var, '#' ) === false ) {
2898
-		$var = defined( 'BLOCKSTRAP_BLOCKS_VERSION' ) ? 'var(--wp--preset--color--' . esc_attr( $var ) . ')' : 'var(--' . esc_attr( $var ) . ')';
2899
-	}
2896
+    //sanitize_hex_color() @todo this does not cover transparency
2897
+    if ( strpos( $var, '#' ) === false ) {
2898
+        $var = defined( 'BLOCKSTRAP_BLOCKS_VERSION' ) ? 'var(--wp--preset--color--' . esc_attr( $var ) . ')' : 'var(--' . esc_attr( $var ) . ')';
2899
+    }
2900 2900
 
2901
-	return $var;
2901
+    return $var;
2902 2902
 }
2903 2903
 
2904 2904
 /**
@@ -2910,19 +2910,19 @@  discard block
 block discarded – undo
2910 2910
  * @return string
2911 2911
  */
2912 2912
 function sd_sanitize_html_classes( $classes, $sep = ' ' ) {
2913
-	$return = '';
2913
+    $return = '';
2914 2914
 
2915
-	if ( ! is_array( $classes ) ) {
2916
-		$classes = explode( $sep, $classes );
2917
-	}
2915
+    if ( ! is_array( $classes ) ) {
2916
+        $classes = explode( $sep, $classes );
2917
+    }
2918 2918
 
2919
-	if ( ! empty( $classes ) ) {
2920
-		foreach ( $classes as $class ) {
2921
-			$return .= sanitize_html_class( $class ) . ' ';
2922
-		}
2923
-	}
2919
+    if ( ! empty( $classes ) ) {
2920
+        foreach ( $classes as $class ) {
2921
+            $return .= sanitize_html_class( $class ) . ' ';
2922
+        }
2923
+    }
2924 2924
 
2925
-	return $return;
2925
+    return $return;
2926 2926
 }
2927 2927
 
2928 2928
 
@@ -2932,40 +2932,40 @@  discard block
 block discarded – undo
2932 2932
  * @return void
2933 2933
  */
2934 2934
 function sd_get_class_build_keys() {
2935
-	$keys = array(
2936
-		'container',
2937
-		'position',
2938
-		'flex_direction',
2939
-		'shadow',
2940
-		'rounded',
2941
-		'nav_style',
2942
-		'horizontal_alignment',
2943
-		'nav_fill',
2944
-		'width',
2945
-		'font_weight',
2946
-		'font_size',
2947
-		'font_case',
2948
-		'css_class',
2949
-		'flex_align_items-MTD',
2950
-		'flex_justify_content-MTD',
2951
-		'flex_align_self-MTD',
2952
-		'flex_order-MTD',
2953
-		'styleid',
2954
-		'border_opacity',
2955
-		'border_width',
2956
-		'border_type',
2957
-		'opacity',
2958
-		'zindex',
2959
-		'flex_wrap-MTD',
2960
-		'h100',
2961
-		'overflow',
2962
-		'scrollbars',
2963
-		'float-MTD',
2964
-		'height-MTD',
2965
-		'width-MTD'
2966
-	);
2967
-
2968
-	return apply_filters( 'sd_class_build_keys', $keys );
2935
+    $keys = array(
2936
+        'container',
2937
+        'position',
2938
+        'flex_direction',
2939
+        'shadow',
2940
+        'rounded',
2941
+        'nav_style',
2942
+        'horizontal_alignment',
2943
+        'nav_fill',
2944
+        'width',
2945
+        'font_weight',
2946
+        'font_size',
2947
+        'font_case',
2948
+        'css_class',
2949
+        'flex_align_items-MTD',
2950
+        'flex_justify_content-MTD',
2951
+        'flex_align_self-MTD',
2952
+        'flex_order-MTD',
2953
+        'styleid',
2954
+        'border_opacity',
2955
+        'border_width',
2956
+        'border_type',
2957
+        'opacity',
2958
+        'zindex',
2959
+        'flex_wrap-MTD',
2960
+        'h100',
2961
+        'overflow',
2962
+        'scrollbars',
2963
+        'float-MTD',
2964
+        'height-MTD',
2965
+        'width-MTD'
2966
+    );
2967
+
2968
+    return apply_filters( 'sd_class_build_keys', $keys );
2969 2969
 }
2970 2970
 
2971 2971
 /**
@@ -2977,18 +2977,18 @@  discard block
 block discarded – undo
2977 2977
  * @return array
2978 2978
  */
2979 2979
 function sd_get_visibility_conditions_input( $type = 'visibility_conditions', $overwrite = array() ) {
2980
-	$defaults = array(
2981
-		'type'         => 'visibility_conditions',
2982
-		'title'        => __( 'Block Visibility', 'ayecode-connect' ),
2983
-		'button_title' => __( 'Set Block Visibility', 'ayecode-connect' ),
2984
-		'default'      => '',
2985
-		'desc_tip'     => true,
2986
-		'group'        => __( 'Visibility Conditions', 'ayecode-connect' ),
2987
-	);
2980
+    $defaults = array(
2981
+        'type'         => 'visibility_conditions',
2982
+        'title'        => __( 'Block Visibility', 'ayecode-connect' ),
2983
+        'button_title' => __( 'Set Block Visibility', 'ayecode-connect' ),
2984
+        'default'      => '',
2985
+        'desc_tip'     => true,
2986
+        'group'        => __( 'Visibility Conditions', 'ayecode-connect' ),
2987
+    );
2988 2988
 
2989
-	$input = wp_parse_args( $overwrite, $defaults );
2989
+    $input = wp_parse_args( $overwrite, $defaults );
2990 2990
 
2991
-	return $input;
2991
+    return $input;
2992 2992
 }
2993 2993
 
2994 2994
 /**
@@ -3000,21 +3000,21 @@  discard block
 block discarded – undo
3000 3000
  * @return array An array of roles.
3001 3001
  */
3002 3002
 function sd_user_roles_options( $exclude = array() ) {
3003
-	$user_roles = array();
3003
+    $user_roles = array();
3004 3004
 
3005
-	if ( !function_exists('get_editable_roles') ) {
3006
-		require_once( ABSPATH . '/wp-admin/includes/user.php' );
3007
-	}
3005
+    if ( !function_exists('get_editable_roles') ) {
3006
+        require_once( ABSPATH . '/wp-admin/includes/user.php' );
3007
+    }
3008 3008
 
3009
-	$roles = get_editable_roles();
3009
+    $roles = get_editable_roles();
3010 3010
 
3011
-	foreach ( $roles as $role => $data ) {
3012
-		if ( ! ( ! empty( $exclude ) && in_array( $role, $exclude ) ) ) {
3013
-			$user_roles[ esc_attr( $role ) ] = translate_user_role( $data['name'] );
3014
-		}
3015
-	}
3011
+    foreach ( $roles as $role => $data ) {
3012
+        if ( ! ( ! empty( $exclude ) && in_array( $role, $exclude ) ) ) {
3013
+            $user_roles[ esc_attr( $role ) ] = translate_user_role( $data['name'] );
3014
+        }
3015
+    }
3016 3016
 
3017
-	return apply_filters( 'sd_user_roles_options', $user_roles );
3017
+    return apply_filters( 'sd_user_roles_options', $user_roles );
3018 3018
 }
3019 3019
 
3020 3020
 /**
@@ -3025,18 +3025,18 @@  discard block
 block discarded – undo
3025 3025
  * @return array Rule options.
3026 3026
  */
3027 3027
 function sd_visibility_rules_options() {
3028
-	$options = array(
3029
-		'logged_in'  => __( 'Logged In', 'ayecode-connect' ),
3030
-		'logged_out' => __( 'Logged Out', 'ayecode-connect' ),
3031
-		'post_author'  => __( 'Post Author', 'ayecode-connect' ),
3032
-		'user_roles' => __( 'Specific User Roles', 'ayecode-connect' )
3033
-	);
3028
+    $options = array(
3029
+        'logged_in'  => __( 'Logged In', 'ayecode-connect' ),
3030
+        'logged_out' => __( 'Logged Out', 'ayecode-connect' ),
3031
+        'post_author'  => __( 'Post Author', 'ayecode-connect' ),
3032
+        'user_roles' => __( 'Specific User Roles', 'ayecode-connect' )
3033
+    );
3034 3034
 
3035
-	if ( class_exists( 'GeoDirectory' ) ) {
3036
-		$options['gd_field'] = __( 'GD Field', 'ayecode-connect' );
3037
-	}
3035
+    if ( class_exists( 'GeoDirectory' ) ) {
3036
+        $options['gd_field'] = __( 'GD Field', 'ayecode-connect' );
3037
+    }
3038 3038
 
3039
-	return apply_filters( 'sd_visibility_rules_options', $options );
3039
+    return apply_filters( 'sd_visibility_rules_options', $options );
3040 3040
 }
3041 3041
 
3042 3042
 /**
@@ -3045,39 +3045,39 @@  discard block
 block discarded – undo
3045 3045
  * @return array
3046 3046
  */
3047 3047
 function sd_visibility_gd_field_options() {
3048
-	$fields = geodir_post_custom_fields( '', 'all', 'all', 'none' );
3048
+    $fields = geodir_post_custom_fields( '', 'all', 'all', 'none' );
3049 3049
 
3050
-	$keys = array();
3051
-	if ( ! empty( $fields ) ) {
3052
-		foreach( $fields as $field ) {
3053
-			if ( apply_filters( 'geodir_badge_field_skip_key', false, $field ) ) {
3054
-				continue;
3055
-			}
3050
+    $keys = array();
3051
+    if ( ! empty( $fields ) ) {
3052
+        foreach( $fields as $field ) {
3053
+            if ( apply_filters( 'geodir_badge_field_skip_key', false, $field ) ) {
3054
+                continue;
3055
+            }
3056 3056
 
3057
-			$keys[ $field['htmlvar_name'] ] = $field['htmlvar_name'] . ' ( ' . __( $field['admin_title'], 'geodirectory' ) . ' )';
3057
+            $keys[ $field['htmlvar_name'] ] = $field['htmlvar_name'] . ' ( ' . __( $field['admin_title'], 'geodirectory' ) . ' )';
3058 3058
 
3059
-			// Extra address fields
3060
-			if ( $field['htmlvar_name'] == 'address' && ( $address_fields = geodir_post_meta_address_fields( '' ) ) ) {
3061
-				foreach ( $address_fields as $_field => $args ) {
3062
-					if ( $_field != 'map_directions' && $_field != 'street' ) {
3063
-						$keys[ $_field ] = $_field . ' ( ' . $args['frontend_title'] . ' )';
3064
-					}
3065
-				}
3066
-			}
3067
-		}
3068
-	}
3059
+            // Extra address fields
3060
+            if ( $field['htmlvar_name'] == 'address' && ( $address_fields = geodir_post_meta_address_fields( '' ) ) ) {
3061
+                foreach ( $address_fields as $_field => $args ) {
3062
+                    if ( $_field != 'map_directions' && $_field != 'street' ) {
3063
+                        $keys[ $_field ] = $_field . ' ( ' . $args['frontend_title'] . ' )';
3064
+                    }
3065
+                }
3066
+            }
3067
+        }
3068
+    }
3069 3069
 
3070
-	$standard_fields = sd_visibility_gd_standard_field_options();
3070
+    $standard_fields = sd_visibility_gd_standard_field_options();
3071 3071
 
3072
-	if ( ! empty( $standard_fields ) ) {
3073
-		foreach ( $standard_fields as $key => $option ) {
3074
-			$keys[ $key ] = $option;
3075
-		}
3076
-	}
3072
+    if ( ! empty( $standard_fields ) ) {
3073
+        foreach ( $standard_fields as $key => $option ) {
3074
+            $keys[ $key ] = $option;
3075
+        }
3076
+    }
3077 3077
 
3078
-	$options = apply_filters( 'geodir_badge_field_keys', $keys );
3078
+    $options = apply_filters( 'geodir_badge_field_keys', $keys );
3079 3079
 
3080
-	return apply_filters( 'sd_visibility_gd_field_options', $options );
3080
+    return apply_filters( 'sd_visibility_gd_field_options', $options );
3081 3081
 }
3082 3082
 
3083 3083
 /**
@@ -3086,17 +3086,17 @@  discard block
 block discarded – undo
3086 3086
  * @return array
3087 3087
  */
3088 3088
 function sd_visibility_gd_standard_field_options( $post_type = '' ) {
3089
-	$fields = sd_visibility_gd_standard_fields( $post_type );
3089
+    $fields = sd_visibility_gd_standard_fields( $post_type );
3090 3090
 
3091
-	$options = array();
3091
+    $options = array();
3092 3092
 
3093
-	foreach ( $fields as $key => $field ) {
3094
-		if ( ! empty( $field['frontend_title'] ) ) {
3095
-			$options[ $key ] = $key . ' ( ' . $field['frontend_title'] . ' )';
3096
-		}
3097
-	}
3093
+    foreach ( $fields as $key => $field ) {
3094
+        if ( ! empty( $field['frontend_title'] ) ) {
3095
+            $options[ $key ] = $key . ' ( ' . $field['frontend_title'] . ' )';
3096
+        }
3097
+    }
3098 3098
 
3099
-	return apply_filters( 'sd_visibility_gd_standard_field_options', $options, $fields );
3099
+    return apply_filters( 'sd_visibility_gd_standard_field_options', $options, $fields );
3100 3100
 }
3101 3101
 
3102 3102
 /**
@@ -3105,17 +3105,17 @@  discard block
 block discarded – undo
3105 3105
  * @return array
3106 3106
  */
3107 3107
 function sd_visibility_gd_standard_fields( $post_type = '' ) {
3108
-	$standard_fields = geodir_post_meta_standard_fields( $post_type );
3108
+    $standard_fields = geodir_post_meta_standard_fields( $post_type );
3109 3109
 
3110
-	$fields = array();
3110
+    $fields = array();
3111 3111
 
3112
-	foreach ( $standard_fields as $key => $field ) {
3113
-		if ( $key != 'post_link' && strpos( $key, 'event' ) === false && ! empty( $field['frontend_title'] ) ) {
3114
-			$fields[ $key ] = $field;
3115
-		}
3116
-	}
3112
+    foreach ( $standard_fields as $key => $field ) {
3113
+        if ( $key != 'post_link' && strpos( $key, 'event' ) === false && ! empty( $field['frontend_title'] ) ) {
3114
+            $fields[ $key ] = $field;
3115
+        }
3116
+    }
3117 3117
 
3118
-	return apply_filters( 'sd_visibility_gd_standard_fields', $fields );
3118
+    return apply_filters( 'sd_visibility_gd_standard_fields', $fields );
3119 3119
 }
3120 3120
 
3121 3121
 /**
@@ -3124,18 +3124,18 @@  discard block
 block discarded – undo
3124 3124
  * @return array
3125 3125
  */
3126 3126
 function sd_visibility_field_condition_options(){
3127
-	$options = array(
3128
-		'is_empty' => __( 'is empty', 'ayecode-connect' ),
3129
-		'is_not_empty' => __( 'is not empty', 'ayecode-connect' ),
3130
-		'is_equal' => __( 'is equal', 'ayecode-connect' ),
3131
-		'is_not_equal' => __( 'is not equal', 'ayecode-connect' ),
3132
-		'is_greater_than' => __( 'is greater than', 'ayecode-connect' ),
3133
-		'is_less_than' => __( 'is less than', 'ayecode-connect' ),
3134
-		'is_contains' => __( 'is contains', 'ayecode-connect' ),
3135
-		'is_not_contains' => __( 'is not contains', 'ayecode-connect' ),
3136
-	);
3127
+    $options = array(
3128
+        'is_empty' => __( 'is empty', 'ayecode-connect' ),
3129
+        'is_not_empty' => __( 'is not empty', 'ayecode-connect' ),
3130
+        'is_equal' => __( 'is equal', 'ayecode-connect' ),
3131
+        'is_not_equal' => __( 'is not equal', 'ayecode-connect' ),
3132
+        'is_greater_than' => __( 'is greater than', 'ayecode-connect' ),
3133
+        'is_less_than' => __( 'is less than', 'ayecode-connect' ),
3134
+        'is_contains' => __( 'is contains', 'ayecode-connect' ),
3135
+        'is_not_contains' => __( 'is not contains', 'ayecode-connect' ),
3136
+    );
3137 3137
 
3138
-	return apply_filters( 'sd_visibility_field_condition_options', $options );
3138
+    return apply_filters( 'sd_visibility_field_condition_options', $options );
3139 3139
 }
3140 3140
 
3141 3141
 /**
@@ -3146,14 +3146,14 @@  discard block
 block discarded – undo
3146 3146
  * @return array Template type options.
3147 3147
  */
3148 3148
 function sd_visibility_output_options() {
3149
-	$options = array(
3150
-		'hide'          => __( 'Hide Block', 'ayecode-connect' ),
3151
-		'message'       => __( 'Show Custom Message', 'ayecode-connect' ),
3152
-		'page'          => __( 'Show Page Content', 'ayecode-connect' ),
3153
-		'template_part' => __( 'Show Template Part', 'ayecode-connect' ),
3154
-	);
3149
+    $options = array(
3150
+        'hide'          => __( 'Hide Block', 'ayecode-connect' ),
3151
+        'message'       => __( 'Show Custom Message', 'ayecode-connect' ),
3152
+        'page'          => __( 'Show Page Content', 'ayecode-connect' ),
3153
+        'template_part' => __( 'Show Template Part', 'ayecode-connect' ),
3154
+    );
3155 3155
 
3156
-	return apply_filters( 'sd_visibility_output_options', $options );
3156
+    return apply_filters( 'sd_visibility_output_options', $options );
3157 3157
 }
3158 3158
 
3159 3159
 /**
@@ -3165,45 +3165,45 @@  discard block
 block discarded – undo
3165 3165
  * @return array Template page options.
3166 3166
  */
3167 3167
 function sd_template_page_options( $args = array() ) {
3168
-	global $sd_tmpl_page_options;
3168
+    global $sd_tmpl_page_options;
3169 3169
 
3170
-	if ( ! empty( $sd_tmpl_page_options ) ) {
3171
-		return $sd_tmpl_page_options;
3172
-	}
3170
+    if ( ! empty( $sd_tmpl_page_options ) ) {
3171
+        return $sd_tmpl_page_options;
3172
+    }
3173 3173
 
3174
-	$args = wp_parse_args( $args, array(
3175
-		'child_of'    => 0,
3176
-		'sort_column' => 'post_title',
3177
-		'sort_order'  => 'ASC'
3178
-	) );
3174
+    $args = wp_parse_args( $args, array(
3175
+        'child_of'    => 0,
3176
+        'sort_column' => 'post_title',
3177
+        'sort_order'  => 'ASC'
3178
+    ) );
3179 3179
 
3180
-	$exclude_pages = array();
3181
-	if ( $page_on_front = get_option( 'page_on_front' ) ) {
3182
-		$exclude_pages[] = $page_on_front;
3183
-	}
3180
+    $exclude_pages = array();
3181
+    if ( $page_on_front = get_option( 'page_on_front' ) ) {
3182
+        $exclude_pages[] = $page_on_front;
3183
+    }
3184 3184
 
3185
-	if ( $page_for_posts = get_option( 'page_for_posts' ) ) {
3186
-		$exclude_pages[] = $page_for_posts;
3187
-	}
3185
+    if ( $page_for_posts = get_option( 'page_for_posts' ) ) {
3186
+        $exclude_pages[] = $page_for_posts;
3187
+    }
3188 3188
 
3189
-	if ( ! empty( $exclude_pages ) ) {
3190
-		$args['exclude'] = $exclude_pages;
3191
-	}
3189
+    if ( ! empty( $exclude_pages ) ) {
3190
+        $args['exclude'] = $exclude_pages;
3191
+    }
3192 3192
 
3193
-	$pages = get_pages( $args );
3193
+    $pages = get_pages( $args );
3194 3194
 
3195
-	$options = array( '' => __( 'Select Page...', 'ayecode-connect' ) );
3196
-	if ( ! empty( $pages ) ) {
3197
-		foreach ( $pages as $page ) {
3198
-			if ( ! empty( $page->ID ) && ! empty( $page->post_title ) ) {
3199
-				$options[ $page->ID ] = $page->post_title . ' (#' . $page->ID . ')';
3200
-			}
3201
-		}
3202
-	}
3195
+    $options = array( '' => __( 'Select Page...', 'ayecode-connect' ) );
3196
+    if ( ! empty( $pages ) ) {
3197
+        foreach ( $pages as $page ) {
3198
+            if ( ! empty( $page->ID ) && ! empty( $page->post_title ) ) {
3199
+                $options[ $page->ID ] = $page->post_title . ' (#' . $page->ID . ')';
3200
+            }
3201
+        }
3202
+    }
3203 3203
 
3204
-	$sd_tmpl_page_options = $options;
3204
+    $sd_tmpl_page_options = $options;
3205 3205
 
3206
-	return apply_filters( 'sd_template_page_options', $options );
3206
+    return apply_filters( 'sd_template_page_options', $options );
3207 3207
 }
3208 3208
 
3209 3209
 /**
@@ -3215,25 +3215,25 @@  discard block
 block discarded – undo
3215 3215
  * @return array Template part options.
3216 3216
  */
3217 3217
 function sd_template_part_options( $args = array() ) {
3218
-	global $sd_tmpl_part_options;
3218
+    global $sd_tmpl_part_options;
3219 3219
 
3220
-	if ( ! empty( $sd_tmpl_part_options ) ) {
3221
-		return $sd_tmpl_part_options;
3222
-	}
3220
+    if ( ! empty( $sd_tmpl_part_options ) ) {
3221
+        return $sd_tmpl_part_options;
3222
+    }
3223 3223
 
3224
-	$options = array( '' => __( 'Select Template Part...', 'ayecode-connect' ) );
3224
+    $options = array( '' => __( 'Select Template Part...', 'ayecode-connect' ) );
3225 3225
 
3226
-	$parts = get_block_templates( array(), 'wp_template_part' );
3226
+    $parts = get_block_templates( array(), 'wp_template_part' );
3227 3227
 
3228
-	if ( ! empty( $parts ) ) {
3229
-		foreach ( $parts as $part ) {
3230
-			$options[ $part->slug ] = $part->title . ' (#' . $part->slug . ')';
3231
-		}
3232
-	}
3228
+    if ( ! empty( $parts ) ) {
3229
+        foreach ( $parts as $part ) {
3230
+            $options[ $part->slug ] = $part->title . ' (#' . $part->slug . ')';
3231
+        }
3232
+    }
3233 3233
 
3234
-	$sd_tmpl_part_options = $options;
3234
+    $sd_tmpl_part_options = $options;
3235 3235
 
3236
-	return apply_filters( 'sd_template_part_options', $options, $args );
3236
+    return apply_filters( 'sd_template_part_options', $options, $args );
3237 3237
 }
3238 3238
 
3239 3239
 /**
@@ -3245,25 +3245,25 @@  discard block
 block discarded – undo
3245 3245
  * @return array Template part object.
3246 3246
  */
3247 3247
 function sd_get_template_part_by_slug( $slug ) {
3248
-	global $bs_tmpl_part_by_slug;
3248
+    global $bs_tmpl_part_by_slug;
3249 3249
 
3250
-	if ( empty( $bs_tmpl_part_by_slug ) ) {
3251
-		$bs_tmpl_part_by_slug = array();
3252
-	}
3250
+    if ( empty( $bs_tmpl_part_by_slug ) ) {
3251
+        $bs_tmpl_part_by_slug = array();
3252
+    }
3253 3253
 
3254
-	if ( isset( $bs_tmpl_part_by_slug[ $slug ] ) ) {
3255
-		return $bs_tmpl_part_by_slug[ $slug ];
3256
-	}
3254
+    if ( isset( $bs_tmpl_part_by_slug[ $slug ] ) ) {
3255
+        return $bs_tmpl_part_by_slug[ $slug ];
3256
+    }
3257 3257
 
3258
-	$template_query = get_block_templates( array( 'slug__in' => array( $slug ) ), 'wp_template_part' );
3258
+    $template_query = get_block_templates( array( 'slug__in' => array( $slug ) ), 'wp_template_part' );
3259 3259
 
3260
-	$query_post = ! empty( $template_query ) ? $template_query[0] : array();
3260
+    $query_post = ! empty( $template_query ) ? $template_query[0] : array();
3261 3261
 
3262
-	$template_part = ! empty( $query_post ) && $query_post->status == 'publish' ? $query_post : array();
3262
+    $template_part = ! empty( $query_post ) && $query_post->status == 'publish' ? $query_post : array();
3263 3263
 
3264
-	$bs_tmpl_part_by_slug[ $slug ] = $template_part;
3264
+    $bs_tmpl_part_by_slug[ $slug ] = $template_part;
3265 3265
 
3266
-	return apply_filters( 'sd_get_template_part_by_slug', $template_part, $slug );
3266
+    return apply_filters( 'sd_get_template_part_by_slug', $template_part, $slug );
3267 3267
 }
3268 3268
 
3269 3269
 /**
@@ -3276,471 +3276,471 @@  discard block
 block discarded – undo
3276 3276
  * @param WP_Block $instance      The block instance.
3277 3277
  */
3278 3278
 function sd_render_block( $block_content, $block, $instance = '' ) {
3279
-	// No block visibility conditions set.
3280
-	if ( empty( $block['attrs']['visibility_conditions'] ) ) {
3281
-		return $block_content;
3282
-	}
3283
-
3284
-	$attributes = json_decode( $block['attrs']['visibility_conditions'], true );
3285
-	$rules = ! empty( $attributes ) ? sd_block_parse_rules( $attributes ) : array();
3286
-
3287
-	// No rules set.
3288
-	if ( empty( $rules ) ) {
3289
-		return $block_content;
3290
-	}
3291
-
3292
-	$_block_content = $block_content;
3293
-
3294
-	if ( ! empty( $rules ) && sd_block_check_rules( $rules ) ) {
3295
-		if ( ! empty( $attributes['output']['type'] ) ) {
3296
-			switch ( $attributes['output']['type'] ) {
3297
-				case 'hide':
3298
-					$valid_type = true;
3299
-					$content = '';
3300
-
3301
-					break;
3302
-				case 'message':
3303
-					$valid_type = true;
3304
-
3305
-					if ( isset( $attributes['output']['message'] ) ) {
3306
-						$content = $attributes['output']['message'] != '' ? __( stripslashes( $attributes['output']['message'] ), 'ayecode-connect' ) : $attributes['output']['message'];
3307
-
3308
-						if ( ! empty( $attributes['output']['message_type'] ) ) {
3309
-							$content = aui()->alert( array(
3310
-									'type'=> $attributes['output']['message_type'],
3311
-									'content'=> $content
3312
-								)
3313
-							);
3314
-						}
3315
-					}
3316
-
3317
-					break;
3318
-				case 'page':
3319
-					$valid_type = true;
3320
-
3321
-					$page_id = ! empty( $attributes['output']['page'] ) ? absint( $attributes['output']['page'] ) : 0;
3322
-					$content = sd_get_page_content( $page_id );
3323
-
3324
-					break;
3325
-				case 'template_part':
3326
-					$valid_type = true;
3327
-
3328
-					$template_part = ! empty( $attributes['output']['template_part'] ) ? $attributes['output']['template_part'] : '';
3329
-					$content = sd_get_template_part_content( $template_part );
3330
-
3331
-					break;
3332
-				default:
3333
-					$valid_type = false;
3334
-					break;
3335
-			}
3336
-
3337
-			if ( $valid_type ) {
3338
-				$block_content = '<div class="' . esc_attr( wp_get_block_default_classname( $instance->name ) ) . ' sd-block-has-rule">' . $content . '</div>';
3339
-			}
3340
-		}
3341
-	}
3342
-
3343
-	return apply_filters( 'sd_render_block_visibility_content', $block_content, $_block_content, $attributes, $block, $instance );
3279
+    // No block visibility conditions set.
3280
+    if ( empty( $block['attrs']['visibility_conditions'] ) ) {
3281
+        return $block_content;
3282
+    }
3283
+
3284
+    $attributes = json_decode( $block['attrs']['visibility_conditions'], true );
3285
+    $rules = ! empty( $attributes ) ? sd_block_parse_rules( $attributes ) : array();
3286
+
3287
+    // No rules set.
3288
+    if ( empty( $rules ) ) {
3289
+        return $block_content;
3290
+    }
3291
+
3292
+    $_block_content = $block_content;
3293
+
3294
+    if ( ! empty( $rules ) && sd_block_check_rules( $rules ) ) {
3295
+        if ( ! empty( $attributes['output']['type'] ) ) {
3296
+            switch ( $attributes['output']['type'] ) {
3297
+                case 'hide':
3298
+                    $valid_type = true;
3299
+                    $content = '';
3300
+
3301
+                    break;
3302
+                case 'message':
3303
+                    $valid_type = true;
3304
+
3305
+                    if ( isset( $attributes['output']['message'] ) ) {
3306
+                        $content = $attributes['output']['message'] != '' ? __( stripslashes( $attributes['output']['message'] ), 'ayecode-connect' ) : $attributes['output']['message'];
3307
+
3308
+                        if ( ! empty( $attributes['output']['message_type'] ) ) {
3309
+                            $content = aui()->alert( array(
3310
+                                    'type'=> $attributes['output']['message_type'],
3311
+                                    'content'=> $content
3312
+                                )
3313
+                            );
3314
+                        }
3315
+                    }
3316
+
3317
+                    break;
3318
+                case 'page':
3319
+                    $valid_type = true;
3320
+
3321
+                    $page_id = ! empty( $attributes['output']['page'] ) ? absint( $attributes['output']['page'] ) : 0;
3322
+                    $content = sd_get_page_content( $page_id );
3323
+
3324
+                    break;
3325
+                case 'template_part':
3326
+                    $valid_type = true;
3327
+
3328
+                    $template_part = ! empty( $attributes['output']['template_part'] ) ? $attributes['output']['template_part'] : '';
3329
+                    $content = sd_get_template_part_content( $template_part );
3330
+
3331
+                    break;
3332
+                default:
3333
+                    $valid_type = false;
3334
+                    break;
3335
+            }
3336
+
3337
+            if ( $valid_type ) {
3338
+                $block_content = '<div class="' . esc_attr( wp_get_block_default_classname( $instance->name ) ) . ' sd-block-has-rule">' . $content . '</div>';
3339
+            }
3340
+        }
3341
+    }
3342
+
3343
+    return apply_filters( 'sd_render_block_visibility_content', $block_content, $_block_content, $attributes, $block, $instance );
3344 3344
 }
3345 3345
 add_filter( 'render_block', 'sd_render_block', 9, 3 );
3346 3346
 
3347 3347
 function sd_get_page_content( $page_id ) {
3348
-	$content = $page_id > 0 ? get_post_field( 'post_content', (int) $page_id ) : '';
3348
+    $content = $page_id > 0 ? get_post_field( 'post_content', (int) $page_id ) : '';
3349 3349
 
3350
-	// Maybe bypass content
3351
-	$bypass_content = apply_filters( 'sd_bypass_page_content', '', $content, $page_id );
3352
-	if ( $bypass_content ) {
3353
-		return $bypass_content;
3354
-	}
3350
+    // Maybe bypass content
3351
+    $bypass_content = apply_filters( 'sd_bypass_page_content', '', $content, $page_id );
3352
+    if ( $bypass_content ) {
3353
+        return $bypass_content;
3354
+    }
3355 3355
 
3356
-	// Run the shortcodes on the content.
3357
-	$content = do_shortcode( $content );
3356
+    // Run the shortcodes on the content.
3357
+    $content = do_shortcode( $content );
3358 3358
 
3359
-	// Run block content if its available.
3360
-	if ( function_exists( 'do_blocks' ) ) {
3361
-		$content = do_blocks( $content );
3362
-	}
3359
+    // Run block content if its available.
3360
+    if ( function_exists( 'do_blocks' ) ) {
3361
+        $content = do_blocks( $content );
3362
+    }
3363 3363
 
3364
-	return apply_filters( 'sd_get_page_content', $content, $page_id );
3364
+    return apply_filters( 'sd_get_page_content', $content, $page_id );
3365 3365
 }
3366 3366
 
3367 3367
 function sd_get_template_part_content( $template_part ) {
3368
-	$template_part_post = $template_part ? sd_get_template_part_by_slug( $template_part ) : array();
3369
-	$content = ! empty( $template_part_post ) ? $template_part_post->content : '';
3368
+    $template_part_post = $template_part ? sd_get_template_part_by_slug( $template_part ) : array();
3369
+    $content = ! empty( $template_part_post ) ? $template_part_post->content : '';
3370 3370
 
3371
-	// Maybe bypass content
3372
-	$bypass_content = apply_filters( 'sd_bypass_template_part_content', '', $content, $template_part );
3373
-	if ( $bypass_content ) {
3374
-		return $bypass_content;
3375
-	}
3371
+    // Maybe bypass content
3372
+    $bypass_content = apply_filters( 'sd_bypass_template_part_content', '', $content, $template_part );
3373
+    if ( $bypass_content ) {
3374
+        return $bypass_content;
3375
+    }
3376 3376
 
3377
-	// Run the shortcodes on the content.
3378
-	$content = do_shortcode( $content );
3377
+    // Run the shortcodes on the content.
3378
+    $content = do_shortcode( $content );
3379 3379
 
3380
-	// Run block content if its available.
3381
-	if ( function_exists( 'do_blocks' ) ) {
3382
-		$content = do_blocks( $content );
3383
-	}
3380
+    // Run block content if its available.
3381
+    if ( function_exists( 'do_blocks' ) ) {
3382
+        $content = do_blocks( $content );
3383
+    }
3384 3384
 
3385
-	return apply_filters( 'sd_get_template_part_content', $content, $template_part );
3385
+    return apply_filters( 'sd_get_template_part_content', $content, $template_part );
3386 3386
 }
3387 3387
 
3388 3388
 function sd_block_parse_rules( $attrs ) {
3389
-	$rules = array();
3389
+    $rules = array();
3390 3390
 
3391
-	if ( ! empty( $attrs ) && is_array( $attrs ) ) {
3392
-		$attrs_keys = array_keys( $attrs );
3391
+    if ( ! empty( $attrs ) && is_array( $attrs ) ) {
3392
+        $attrs_keys = array_keys( $attrs );
3393 3393
 
3394
-		for ( $i = 1; $i <= count( $attrs_keys ); $i++ ) {
3395
-			if ( ! empty( $attrs[ 'rule' . $i ] ) && is_array( $attrs[ 'rule' . $i ] ) ) {
3396
-				$rules[] = $attrs[ 'rule' . $i ];
3397
-			}
3398
-		}
3399
-	}
3394
+        for ( $i = 1; $i <= count( $attrs_keys ); $i++ ) {
3395
+            if ( ! empty( $attrs[ 'rule' . $i ] ) && is_array( $attrs[ 'rule' . $i ] ) ) {
3396
+                $rules[] = $attrs[ 'rule' . $i ];
3397
+            }
3398
+        }
3399
+    }
3400 3400
 
3401
-	return apply_filters( 'sd_block_parse_rules', $rules, $attrs );
3401
+    return apply_filters( 'sd_block_parse_rules', $rules, $attrs );
3402 3402
 }
3403 3403
 
3404 3404
 function sd_block_check_rules( $rules ) {
3405
-	if ( ! ( is_array( $rules ) && ! empty( $rules ) ) ) {
3406
-		return true;
3407
-	}
3405
+    if ( ! ( is_array( $rules ) && ! empty( $rules ) ) ) {
3406
+        return true;
3407
+    }
3408 3408
 
3409
-	foreach ( $rules as $key => $rule ) {
3410
-		$match = apply_filters( 'sd_block_check_rule', true, $rule );
3409
+    foreach ( $rules as $key => $rule ) {
3410
+        $match = apply_filters( 'sd_block_check_rule', true, $rule );
3411 3411
 
3412
-		if ( ! $match ) {
3413
-			break;
3414
-		}
3415
-	}
3412
+        if ( ! $match ) {
3413
+            break;
3414
+        }
3415
+    }
3416 3416
 
3417
-	return apply_filters( 'sd_block_check_rules', $match, $rules );
3417
+    return apply_filters( 'sd_block_check_rules', $match, $rules );
3418 3418
 }
3419 3419
 
3420 3420
 function sd_block_check_rule( $match, $rule ) {
3421
-	global $post;
3421
+    global $post;
3422 3422
 
3423
-	if ( $match && ! empty( $rule['type'] ) ) {
3424
-		switch ( $rule['type'] ) {
3425
-			case 'logged_in':
3426
-				$match = (bool) is_user_logged_in();
3423
+    if ( $match && ! empty( $rule['type'] ) ) {
3424
+        switch ( $rule['type'] ) {
3425
+            case 'logged_in':
3426
+                $match = (bool) is_user_logged_in();
3427 3427
 
3428
-				break;
3429
-			case 'logged_out':
3430
-				$match = ! is_user_logged_in();
3428
+                break;
3429
+            case 'logged_out':
3430
+                $match = ! is_user_logged_in();
3431 3431
 
3432
-				break;
3433
-			case 'post_author':
3434
-				if ( ! empty( $post ) && $post->post_type != 'page' && ! empty( $post->post_author ) && is_user_logged_in() ) {
3435
-					$match = (int) $post->post_author === (int) get_current_user_id() ? true : false;
3436
-				} else {
3437
-					$match = false;
3438
-				}
3432
+                break;
3433
+            case 'post_author':
3434
+                if ( ! empty( $post ) && $post->post_type != 'page' && ! empty( $post->post_author ) && is_user_logged_in() ) {
3435
+                    $match = (int) $post->post_author === (int) get_current_user_id() ? true : false;
3436
+                } else {
3437
+                    $match = false;
3438
+                }
3439 3439
 
3440
-				break;
3441
-			case 'user_roles':
3442
-				$match = false;
3440
+                break;
3441
+            case 'user_roles':
3442
+                $match = false;
3443 3443
 
3444
-				if ( ! empty( $rule['user_roles'] ) ) {
3445
-					$user_roles = is_scalar( $rule['user_roles'] ) ? explode( ",", $rule['user_roles'] ) : $rule['user_roles'];
3444
+                if ( ! empty( $rule['user_roles'] ) ) {
3445
+                    $user_roles = is_scalar( $rule['user_roles'] ) ? explode( ",", $rule['user_roles'] ) : $rule['user_roles'];
3446 3446
 
3447
-					if ( is_array( $user_roles ) ) {
3448
-						$user_roles = array_filter( array_map( 'trim', $user_roles ) );
3449
-					}
3447
+                    if ( is_array( $user_roles ) ) {
3448
+                        $user_roles = array_filter( array_map( 'trim', $user_roles ) );
3449
+                    }
3450 3450
 
3451
-					if ( ! empty( $user_roles ) && is_array( $user_roles ) && is_user_logged_in() && ( $current_user = wp_get_current_user() ) ) {
3452
-						$current_user_roles = $current_user->roles;
3451
+                    if ( ! empty( $user_roles ) && is_array( $user_roles ) && is_user_logged_in() && ( $current_user = wp_get_current_user() ) ) {
3452
+                        $current_user_roles = $current_user->roles;
3453 3453
 
3454
-						foreach ( $user_roles as $role ) {
3455
-							if ( in_array( $role, $current_user_roles ) ) {
3456
-								$match = true;
3457
-							}
3458
-						}
3459
-					}
3460
-				}
3454
+                        foreach ( $user_roles as $role ) {
3455
+                            if ( in_array( $role, $current_user_roles ) ) {
3456
+                                $match = true;
3457
+                            }
3458
+                        }
3459
+                    }
3460
+                }
3461 3461
 
3462
-				break;
3463
-			case 'gd_field':
3464
-				$match = sd_block_check_rule_gd_field( $rule );
3462
+                break;
3463
+            case 'gd_field':
3464
+                $match = sd_block_check_rule_gd_field( $rule );
3465 3465
 
3466
-				break;
3467
-		}
3468
-	}
3466
+                break;
3467
+        }
3468
+    }
3469 3469
 
3470
-	return $match;
3470
+    return $match;
3471 3471
 }
3472 3472
 add_filter( 'sd_block_check_rule', 'sd_block_check_rule', 10, 2 );
3473 3473
 
3474 3474
 function sd_block_check_rule_gd_field( $rule ) {
3475
-	global $gd_post;
3476
-
3477
-	$match_found = false;
3478
-
3479
-	if ( class_exists( 'GeoDirectory' ) && ! empty( $gd_post->ID ) && ! empty( $rule['field'] ) && ! empty( $rule['condition'] ) ) {
3480
-		$args['block_visibility'] = true;
3481
-		$args['key'] = $rule['field'];
3482
-		$args['condition'] = $rule['condition'];
3483
-		$args['search'] = isset( $rule['search'] ) ? $rule['search'] : '';
3484
-
3485
-		if ( $args['key'] == 'street' ) {
3486
-			$args['key'] = 'address';
3487
-		}
3488
-
3489
-		$match_field = $_match_field = $args['key'];
3490
-
3491
-		if ( $match_field == 'address' ) {
3492
-			$match_field = 'street';
3493
-		} elseif ( $match_field == 'post_images' ) {
3494
-			$match_field = 'featured_image';
3495
-		}
3496
-
3497
-		$find_post = $gd_post;
3498
-		$find_post_keys = ! empty( $find_post ) ? array_keys( (array) $find_post ) : array();
3499
-
3500
-		if ( ! empty( $find_post->ID ) && ! in_array( 'post_category', $find_post_keys ) ) {
3501
-			$find_post = geodir_get_post_info( (int) $find_post->ID );
3502
-			$find_post_keys = ! empty( $find_post ) ? array_keys( (array) $find_post ) : array();
3503
-		}
3504
-
3505
-		if ( $match_field === '' || ( ! empty( $find_post_keys ) && ( in_array( $match_field, $find_post_keys ) || in_array( $_match_field, $find_post_keys ) ) ) ) {
3506
-			$address_fields = array( 'street2', 'neighbourhood', 'city', 'region', 'country', 'zip', 'latitude', 'longitude' ); // Address fields
3507
-			$field = array();
3508
-			$empty_field = false;
3509
-
3510
-			$standard_fields = sd_visibility_gd_standard_fields();
3511
-
3512
-			if ( $match_field && ! in_array( $match_field, array_keys( $standard_fields ) ) && ! in_array( $match_field, $address_fields ) ) {
3513
-				$package_id = geodir_get_post_package_id( $find_post->ID, $find_post->post_type );
3514
-				$fields = geodir_post_custom_fields( $package_id, 'all', $find_post->post_type, 'none' );
3515
-
3516
-				foreach ( $fields as $field_info ) {
3517
-					if ( $match_field == $field_info['htmlvar_name'] ) {
3518
-						$field = $field_info;
3519
-						break;
3520
-					} elseif( $_match_field == $field_info['htmlvar_name'] ) {
3521
-						$field = $field_info;
3522
-						break;
3523
-					}
3524
-				}
3525
-
3526
-				if ( empty( $field ) ) {
3527
-					$empty_field = true;
3528
-				}
3529
-			}
3530
-
3531
-			// Address fields.
3532
-			if ( in_array( $match_field, $address_fields ) && ( $address_fields = geodir_post_meta_address_fields( '' ) ) ) {
3533
-				if ( ! empty( $address_fields[ $match_field ] ) ) {
3534
-					$field = $address_fields[ $match_field ];
3535
-				}
3536
-			} else if ( in_array( $match_field, array_keys( $standard_fields ) ) ) {
3537
-				if ( ! empty( $standard_fields[ $match_field ] ) ) {
3538
-					$field = $standard_fields[ $match_field ];
3539
-				}
3540
-			}
3541
-
3542
-			// Parse search.
3543
-			$search = sd_gd_field_rule_search( $args['search'], $find_post->post_type, $rule, $field, $find_post );
3544
-
3545
-			$is_date = ( ! empty( $field['type'] ) && $field['type'] == 'datepicker' ) || in_array( $match_field, array( 'post_date', 'post_modified' ) ) ? true : false;
3546
-			$is_date = apply_filters( 'geodir_post_badge_is_date', $is_date, $match_field, $field, $args, $find_post );
3547
-
3548
-			$match_value = isset( $find_post->{$match_field} ) && empty( $empty_field ) ? esc_attr( trim( $find_post->{$match_field} ) ) : '';
3549
-			$match_found = $match_field === '' ? true : false;
3550
-
3551
-			if ( ! $match_found ) {
3552
-				if ( ( $match_field == 'post_date' || $match_field == 'post_modified' ) && ( empty( $args['condition'] ) || $args['condition'] == 'is_greater_than' || $args['condition'] == 'is_less_than' ) ) {
3553
-					if ( strpos( $search, '+' ) === false && strpos( $search, '-' ) === false ) {
3554
-						$search = '+' . $search;
3555
-					}
3556
-					$the_time = $match_field == 'post_modified' ? get_the_modified_date( 'Y-m-d', $find_post ) : get_the_time( 'Y-m-d', $find_post );
3557
-					$until_time = strtotime( $the_time . ' ' . $search . ' days' );
3558
-					$now_time   = strtotime( date_i18n( 'Y-m-d', current_time( 'timestamp' ) ) );
3559
-					if ( ( empty( $args['condition'] ) || $args['condition'] == 'is_less_than' ) && $until_time > $now_time ) {
3560
-						$match_found = true;
3561
-					} elseif ( $args['condition'] == 'is_greater_than' && $until_time < $now_time ) {
3562
-						$match_found = true;
3563
-					}
3564
-				} else {
3565
-					switch ( $args['condition'] ) {
3566
-						case 'is_equal':
3567
-							$match_found = (bool) ( $search != '' && $match_value == $search );
3568
-							break;
3569
-						case 'is_not_equal':
3570
-							$match_found = (bool) ( $search != '' && $match_value != $search );
3571
-							break;
3572
-						case 'is_greater_than':
3573
-							$match_found = (bool) ( $search != '' && ( is_float( $search ) || is_numeric( $search ) ) && ( is_float( $match_value ) || is_numeric( $match_value ) ) && $match_value > $search );
3574
-							break;
3575
-						case 'is_less_than':
3576
-							$match_found = (bool) ( $search != '' && ( is_float( $search ) || is_numeric( $search ) ) && ( is_float( $match_value ) || is_numeric( $match_value ) ) && $match_value < $search );
3577
-							break;
3578
-						case 'is_empty':
3579
-							$match_found = (bool) ( $match_value === '' || $match_value === false || $match_value === '0' || is_null( $match_value ) );
3580
-							break;
3581
-						case 'is_not_empty':
3582
-							$match_found = (bool) ( $match_value !== '' && $match_value !== false && $match_value !== '0' && ! is_null( $match_value ) );
3583
-							break;
3584
-						case 'is_contains':
3585
-							$match_found = (bool) ( $search != '' && stripos( $match_value, $search ) !== false );
3586
-							break;
3587
-						case 'is_not_contains':
3588
-							$match_found = (bool) ( $search != '' && stripos( $match_value, $search ) === false );
3589
-							break;
3590
-					}
3591
-				}
3592
-			}
3593
-
3594
-			$match_found = apply_filters( 'geodir_post_badge_check_match_found', $match_found, $args, $find_post );
3595
-		} else {
3596
-			$field = array();
3597
-
3598
-			// Parse search.
3599
-			$search = sd_gd_field_rule_search( $args['search'], $find_post->post_type, $rule, $field, $find_post );
3600
-
3601
-			$match_value = '';
3602
-			$match_found = $match_field === '' ? true : false;
3603
-
3604
-			if ( ! $match_found ) {
3605
-				switch ( $args['condition'] ) {
3606
-					case 'is_equal':
3607
-						$match_found = (bool) ( $search != '' && $match_value == $search );
3608
-						break;
3609
-					case 'is_not_equal':
3610
-						$match_found = (bool) ( $search != '' && $match_value != $search );
3611
-						break;
3612
-					case 'is_greater_than':
3613
-						$match_found = false;
3614
-						break;
3615
-					case 'is_less_than':
3616
-						$match_found = false;
3617
-						break;
3618
-					case 'is_empty':
3619
-						$match_found = true;
3620
-						break;
3621
-					case 'is_not_empty':
3622
-						$match_found = false;
3623
-						break;
3624
-					case 'is_contains':
3625
-						$match_found = false;
3626
-						break;
3627
-					case 'is_not_contains':
3628
-						$match_found = false;
3629
-						break;
3630
-				}
3631
-			}
3632
-
3633
-			$match_found = apply_filters( 'geodir_post_badge_check_match_found_empty', $match_found, $args, $find_post );
3634
-		}
3635
-	}
3636
-
3637
-	return $match_found;
3475
+    global $gd_post;
3476
+
3477
+    $match_found = false;
3478
+
3479
+    if ( class_exists( 'GeoDirectory' ) && ! empty( $gd_post->ID ) && ! empty( $rule['field'] ) && ! empty( $rule['condition'] ) ) {
3480
+        $args['block_visibility'] = true;
3481
+        $args['key'] = $rule['field'];
3482
+        $args['condition'] = $rule['condition'];
3483
+        $args['search'] = isset( $rule['search'] ) ? $rule['search'] : '';
3484
+
3485
+        if ( $args['key'] == 'street' ) {
3486
+            $args['key'] = 'address';
3487
+        }
3488
+
3489
+        $match_field = $_match_field = $args['key'];
3490
+
3491
+        if ( $match_field == 'address' ) {
3492
+            $match_field = 'street';
3493
+        } elseif ( $match_field == 'post_images' ) {
3494
+            $match_field = 'featured_image';
3495
+        }
3496
+
3497
+        $find_post = $gd_post;
3498
+        $find_post_keys = ! empty( $find_post ) ? array_keys( (array) $find_post ) : array();
3499
+
3500
+        if ( ! empty( $find_post->ID ) && ! in_array( 'post_category', $find_post_keys ) ) {
3501
+            $find_post = geodir_get_post_info( (int) $find_post->ID );
3502
+            $find_post_keys = ! empty( $find_post ) ? array_keys( (array) $find_post ) : array();
3503
+        }
3504
+
3505
+        if ( $match_field === '' || ( ! empty( $find_post_keys ) && ( in_array( $match_field, $find_post_keys ) || in_array( $_match_field, $find_post_keys ) ) ) ) {
3506
+            $address_fields = array( 'street2', 'neighbourhood', 'city', 'region', 'country', 'zip', 'latitude', 'longitude' ); // Address fields
3507
+            $field = array();
3508
+            $empty_field = false;
3509
+
3510
+            $standard_fields = sd_visibility_gd_standard_fields();
3511
+
3512
+            if ( $match_field && ! in_array( $match_field, array_keys( $standard_fields ) ) && ! in_array( $match_field, $address_fields ) ) {
3513
+                $package_id = geodir_get_post_package_id( $find_post->ID, $find_post->post_type );
3514
+                $fields = geodir_post_custom_fields( $package_id, 'all', $find_post->post_type, 'none' );
3515
+
3516
+                foreach ( $fields as $field_info ) {
3517
+                    if ( $match_field == $field_info['htmlvar_name'] ) {
3518
+                        $field = $field_info;
3519
+                        break;
3520
+                    } elseif( $_match_field == $field_info['htmlvar_name'] ) {
3521
+                        $field = $field_info;
3522
+                        break;
3523
+                    }
3524
+                }
3525
+
3526
+                if ( empty( $field ) ) {
3527
+                    $empty_field = true;
3528
+                }
3529
+            }
3530
+
3531
+            // Address fields.
3532
+            if ( in_array( $match_field, $address_fields ) && ( $address_fields = geodir_post_meta_address_fields( '' ) ) ) {
3533
+                if ( ! empty( $address_fields[ $match_field ] ) ) {
3534
+                    $field = $address_fields[ $match_field ];
3535
+                }
3536
+            } else if ( in_array( $match_field, array_keys( $standard_fields ) ) ) {
3537
+                if ( ! empty( $standard_fields[ $match_field ] ) ) {
3538
+                    $field = $standard_fields[ $match_field ];
3539
+                }
3540
+            }
3541
+
3542
+            // Parse search.
3543
+            $search = sd_gd_field_rule_search( $args['search'], $find_post->post_type, $rule, $field, $find_post );
3544
+
3545
+            $is_date = ( ! empty( $field['type'] ) && $field['type'] == 'datepicker' ) || in_array( $match_field, array( 'post_date', 'post_modified' ) ) ? true : false;
3546
+            $is_date = apply_filters( 'geodir_post_badge_is_date', $is_date, $match_field, $field, $args, $find_post );
3547
+
3548
+            $match_value = isset( $find_post->{$match_field} ) && empty( $empty_field ) ? esc_attr( trim( $find_post->{$match_field} ) ) : '';
3549
+            $match_found = $match_field === '' ? true : false;
3550
+
3551
+            if ( ! $match_found ) {
3552
+                if ( ( $match_field == 'post_date' || $match_field == 'post_modified' ) && ( empty( $args['condition'] ) || $args['condition'] == 'is_greater_than' || $args['condition'] == 'is_less_than' ) ) {
3553
+                    if ( strpos( $search, '+' ) === false && strpos( $search, '-' ) === false ) {
3554
+                        $search = '+' . $search;
3555
+                    }
3556
+                    $the_time = $match_field == 'post_modified' ? get_the_modified_date( 'Y-m-d', $find_post ) : get_the_time( 'Y-m-d', $find_post );
3557
+                    $until_time = strtotime( $the_time . ' ' . $search . ' days' );
3558
+                    $now_time   = strtotime( date_i18n( 'Y-m-d', current_time( 'timestamp' ) ) );
3559
+                    if ( ( empty( $args['condition'] ) || $args['condition'] == 'is_less_than' ) && $until_time > $now_time ) {
3560
+                        $match_found = true;
3561
+                    } elseif ( $args['condition'] == 'is_greater_than' && $until_time < $now_time ) {
3562
+                        $match_found = true;
3563
+                    }
3564
+                } else {
3565
+                    switch ( $args['condition'] ) {
3566
+                        case 'is_equal':
3567
+                            $match_found = (bool) ( $search != '' && $match_value == $search );
3568
+                            break;
3569
+                        case 'is_not_equal':
3570
+                            $match_found = (bool) ( $search != '' && $match_value != $search );
3571
+                            break;
3572
+                        case 'is_greater_than':
3573
+                            $match_found = (bool) ( $search != '' && ( is_float( $search ) || is_numeric( $search ) ) && ( is_float( $match_value ) || is_numeric( $match_value ) ) && $match_value > $search );
3574
+                            break;
3575
+                        case 'is_less_than':
3576
+                            $match_found = (bool) ( $search != '' && ( is_float( $search ) || is_numeric( $search ) ) && ( is_float( $match_value ) || is_numeric( $match_value ) ) && $match_value < $search );
3577
+                            break;
3578
+                        case 'is_empty':
3579
+                            $match_found = (bool) ( $match_value === '' || $match_value === false || $match_value === '0' || is_null( $match_value ) );
3580
+                            break;
3581
+                        case 'is_not_empty':
3582
+                            $match_found = (bool) ( $match_value !== '' && $match_value !== false && $match_value !== '0' && ! is_null( $match_value ) );
3583
+                            break;
3584
+                        case 'is_contains':
3585
+                            $match_found = (bool) ( $search != '' && stripos( $match_value, $search ) !== false );
3586
+                            break;
3587
+                        case 'is_not_contains':
3588
+                            $match_found = (bool) ( $search != '' && stripos( $match_value, $search ) === false );
3589
+                            break;
3590
+                    }
3591
+                }
3592
+            }
3593
+
3594
+            $match_found = apply_filters( 'geodir_post_badge_check_match_found', $match_found, $args, $find_post );
3595
+        } else {
3596
+            $field = array();
3597
+
3598
+            // Parse search.
3599
+            $search = sd_gd_field_rule_search( $args['search'], $find_post->post_type, $rule, $field, $find_post );
3600
+
3601
+            $match_value = '';
3602
+            $match_found = $match_field === '' ? true : false;
3603
+
3604
+            if ( ! $match_found ) {
3605
+                switch ( $args['condition'] ) {
3606
+                    case 'is_equal':
3607
+                        $match_found = (bool) ( $search != '' && $match_value == $search );
3608
+                        break;
3609
+                    case 'is_not_equal':
3610
+                        $match_found = (bool) ( $search != '' && $match_value != $search );
3611
+                        break;
3612
+                    case 'is_greater_than':
3613
+                        $match_found = false;
3614
+                        break;
3615
+                    case 'is_less_than':
3616
+                        $match_found = false;
3617
+                        break;
3618
+                    case 'is_empty':
3619
+                        $match_found = true;
3620
+                        break;
3621
+                    case 'is_not_empty':
3622
+                        $match_found = false;
3623
+                        break;
3624
+                    case 'is_contains':
3625
+                        $match_found = false;
3626
+                        break;
3627
+                    case 'is_not_contains':
3628
+                        $match_found = false;
3629
+                        break;
3630
+                }
3631
+            }
3632
+
3633
+            $match_found = apply_filters( 'geodir_post_badge_check_match_found_empty', $match_found, $args, $find_post );
3634
+        }
3635
+    }
3636
+
3637
+    return $match_found;
3638 3638
 }
3639 3639
 
3640 3640
 function sd_gd_field_rule_search( $search, $post_type, $rule, $field = array(), $gd_post = array() ) {
3641
-	global $post;
3642
-
3643
-	if ( ! $search ) {
3644
-		return $search;
3645
-	}
3646
-
3647
-	$orig_search = $search;
3648
-	$_search = strtolower( $search );
3649
-
3650
-	if ( ! empty( $rule['field'] ) && $rule['field'] == 'post_author' ) {
3651
-		if ( $search == 'current_user' ) {
3652
-			$search = is_user_logged_in() ? (int) get_current_user_id() : - 1;
3653
-		} else if ( $search == 'current_author' ) {
3654
-			$search = ( ! empty( $post ) && $post->post_type != 'page' && isset( $post->post_author ) ) ? absint( $post->post_author ) : - 1;
3655
-		}
3656
-	} else if ( $_search == 'date_today' ) {
3657
-		$search = date( 'Y-m-d' );
3658
-	} else if ( $_search == 'date_tomorrow' ) {
3659
-		$search = date( 'Y-m-d', strtotime( "+1 day" ) );
3660
-	} else if ( $_search == 'date_yesterday' ) {
3661
-		$search = date( 'Y-m-d', strtotime( "-1 day" ) );
3662
-	} else if ( $_search == 'time_his' ) {
3663
-		$search = date( 'H:i:s' );
3664
-	} else if ( $_search == 'time_hi' ) {
3665
-		$search = date( 'H:i' );
3666
-	} else if ( $_search == 'datetime_now' ) {
3667
-		$search = date( 'Y-m-d H:i:s' );
3668
-	} else if ( strpos( $_search, 'datetime_after_' ) === 0 ) {
3669
-		$_searches = explode( 'datetime_after_', $_search, 2 );
3670
-
3671
-		if ( ! empty( $_searches[1] ) ) {
3672
-			$search = date( 'Y-m-d H:i:s', strtotime( "+ " . str_replace( "_", " ", $_searches[1] ) ) );
3673
-		} else {
3674
-			$search = date( 'Y-m-d H:i:s' );
3675
-		}
3676
-	} else if ( strpos( $_search, 'datetime_before_' ) === 0 ) {
3677
-		$_searches = explode( 'datetime_before_', $_search, 2 );
3678
-
3679
-		if ( ! empty( $_searches[1] ) ) {
3680
-			$search = date( 'Y-m-d H:i:s', strtotime( "- " . str_replace( "_", " ", $_searches[1] ) ) );
3681
-		} else {
3682
-			$search = date( 'Y-m-d H:i:s' );
3683
-		}
3684
-	} else if ( strpos( $_search, 'date_after_' ) === 0 ) {
3685
-		$_searches = explode( 'date_after_', $_search, 2 );
3686
-
3687
-		if ( ! empty( $_searches[1] ) ) {
3688
-			$search = date( 'Y-m-d', strtotime( "+ " . str_replace( "_", " ", $_searches[1] ) ) );
3689
-		} else {
3690
-			$search = date( 'Y-m-d' );
3691
-		}
3692
-	} else if ( strpos( $_search, 'date_before_' ) === 0 ) {
3693
-		$_searches = explode( 'date_before_', $_search, 2 );
3694
-
3695
-		if ( ! empty( $_searches[1] ) ) {
3696
-			$search = date( 'Y-m-d', strtotime( "- " . str_replace( "_", " ", $_searches[1] ) ) );
3697
-		} else {
3698
-			$search = date( 'Y-m-d' );
3699
-		}
3700
-	}
3701
-
3702
-	return apply_filters( 'sd_gd_field_rule_search', $search, $post_type, $rule, $orig_search );
3641
+    global $post;
3642
+
3643
+    if ( ! $search ) {
3644
+        return $search;
3645
+    }
3646
+
3647
+    $orig_search = $search;
3648
+    $_search = strtolower( $search );
3649
+
3650
+    if ( ! empty( $rule['field'] ) && $rule['field'] == 'post_author' ) {
3651
+        if ( $search == 'current_user' ) {
3652
+            $search = is_user_logged_in() ? (int) get_current_user_id() : - 1;
3653
+        } else if ( $search == 'current_author' ) {
3654
+            $search = ( ! empty( $post ) && $post->post_type != 'page' && isset( $post->post_author ) ) ? absint( $post->post_author ) : - 1;
3655
+        }
3656
+    } else if ( $_search == 'date_today' ) {
3657
+        $search = date( 'Y-m-d' );
3658
+    } else if ( $_search == 'date_tomorrow' ) {
3659
+        $search = date( 'Y-m-d', strtotime( "+1 day" ) );
3660
+    } else if ( $_search == 'date_yesterday' ) {
3661
+        $search = date( 'Y-m-d', strtotime( "-1 day" ) );
3662
+    } else if ( $_search == 'time_his' ) {
3663
+        $search = date( 'H:i:s' );
3664
+    } else if ( $_search == 'time_hi' ) {
3665
+        $search = date( 'H:i' );
3666
+    } else if ( $_search == 'datetime_now' ) {
3667
+        $search = date( 'Y-m-d H:i:s' );
3668
+    } else if ( strpos( $_search, 'datetime_after_' ) === 0 ) {
3669
+        $_searches = explode( 'datetime_after_', $_search, 2 );
3670
+
3671
+        if ( ! empty( $_searches[1] ) ) {
3672
+            $search = date( 'Y-m-d H:i:s', strtotime( "+ " . str_replace( "_", " ", $_searches[1] ) ) );
3673
+        } else {
3674
+            $search = date( 'Y-m-d H:i:s' );
3675
+        }
3676
+    } else if ( strpos( $_search, 'datetime_before_' ) === 0 ) {
3677
+        $_searches = explode( 'datetime_before_', $_search, 2 );
3678
+
3679
+        if ( ! empty( $_searches[1] ) ) {
3680
+            $search = date( 'Y-m-d H:i:s', strtotime( "- " . str_replace( "_", " ", $_searches[1] ) ) );
3681
+        } else {
3682
+            $search = date( 'Y-m-d H:i:s' );
3683
+        }
3684
+    } else if ( strpos( $_search, 'date_after_' ) === 0 ) {
3685
+        $_searches = explode( 'date_after_', $_search, 2 );
3686
+
3687
+        if ( ! empty( $_searches[1] ) ) {
3688
+            $search = date( 'Y-m-d', strtotime( "+ " . str_replace( "_", " ", $_searches[1] ) ) );
3689
+        } else {
3690
+            $search = date( 'Y-m-d' );
3691
+        }
3692
+    } else if ( strpos( $_search, 'date_before_' ) === 0 ) {
3693
+        $_searches = explode( 'date_before_', $_search, 2 );
3694
+
3695
+        if ( ! empty( $_searches[1] ) ) {
3696
+            $search = date( 'Y-m-d', strtotime( "- " . str_replace( "_", " ", $_searches[1] ) ) );
3697
+        } else {
3698
+            $search = date( 'Y-m-d' );
3699
+        }
3700
+    }
3701
+
3702
+    return apply_filters( 'sd_gd_field_rule_search', $search, $post_type, $rule, $orig_search );
3703 3703
 }
3704 3704
 
3705 3705
 
3706 3706
 if(!function_exists('sd_blocks_render_blocks')){
3707
-	/**
3708
-	 * Add the shortcodes to the block content if set as an attribute.
3709
-	 *
3710
-	 * We have moved the shortcodes from the block content to a block argument to help prevent broken blocks.
3711
-	 *
3712
-	 * @param $block_content
3713
-	 * @param $parsed_block
3714
-	 * @param $thiss
3715
-	 * @return mixed|string
3716
-	 */
3717
-	function sd_blocks_render_blocks($block_content, $parsed_block, $thiss = array() ){
3718
-
3719
-		// Check if ita a nested block that needs to be wrapped
3720
-		if(! empty($parsed_block['attrs']['sd_shortcode_close'])){
3721
-			$content = isset($parsed_block['attrs']['html']) ? $parsed_block['attrs']['html'] : $block_content;
3722
-			$block_content = $parsed_block['attrs']['sd_shortcode'].$content.$parsed_block['attrs']['sd_shortcode_close'];
3723
-
3724
-			$block_content = do_shortcode($block_content);
3725
-
3726
-		}elseif(! empty($parsed_block['attrs']['sd_shortcode'])){
3727
-			$has_warp = false;
3728
-			if($block_content && strpos(trim($block_content), '<div class="wp-block-') === 0 ){
3729
-				$parts = explode('></', $block_content);
3730
-				if(count($parts) === 2){
3731
-					$block_content = $parts[0].'>'.$parsed_block['attrs']['sd_shortcode'].'</'.$parts[1];
3732
-					$has_warp = true;
3733
-				}
3734
-			}
3735
-			if (!$has_warp) {
3736
-				// Add the shortcode if its not a wrapped block
3737
-				$block_content .= $parsed_block['attrs']['sd_shortcode'];
3738
-			}
3739
-
3740
-			$block_content = do_shortcode($block_content);
3741
-		}
3742
-		return  $block_content;
3743
-	}
3707
+    /**
3708
+     * Add the shortcodes to the block content if set as an attribute.
3709
+     *
3710
+     * We have moved the shortcodes from the block content to a block argument to help prevent broken blocks.
3711
+     *
3712
+     * @param $block_content
3713
+     * @param $parsed_block
3714
+     * @param $thiss
3715
+     * @return mixed|string
3716
+     */
3717
+    function sd_blocks_render_blocks($block_content, $parsed_block, $thiss = array() ){
3718
+
3719
+        // Check if ita a nested block that needs to be wrapped
3720
+        if(! empty($parsed_block['attrs']['sd_shortcode_close'])){
3721
+            $content = isset($parsed_block['attrs']['html']) ? $parsed_block['attrs']['html'] : $block_content;
3722
+            $block_content = $parsed_block['attrs']['sd_shortcode'].$content.$parsed_block['attrs']['sd_shortcode_close'];
3723
+
3724
+            $block_content = do_shortcode($block_content);
3725
+
3726
+        }elseif(! empty($parsed_block['attrs']['sd_shortcode'])){
3727
+            $has_warp = false;
3728
+            if($block_content && strpos(trim($block_content), '<div class="wp-block-') === 0 ){
3729
+                $parts = explode('></', $block_content);
3730
+                if(count($parts) === 2){
3731
+                    $block_content = $parts[0].'>'.$parsed_block['attrs']['sd_shortcode'].'</'.$parts[1];
3732
+                    $has_warp = true;
3733
+                }
3734
+            }
3735
+            if (!$has_warp) {
3736
+                // Add the shortcode if its not a wrapped block
3737
+                $block_content .= $parsed_block['attrs']['sd_shortcode'];
3738
+            }
3739
+
3740
+            $block_content = do_shortcode($block_content);
3741
+        }
3742
+        return  $block_content;
3743
+    }
3744 3744
 }
3745 3745
 
3746 3746
 add_filter('render_block', 'sd_blocks_render_blocks',10,3);
Please login to merge, or discard this patch.
Spacing   +1061 added lines, -1061 removed lines patch added patch discarded remove patch
@@ -37,7 +37,7 @@  discard block
 block discarded – undo
37 37
  * @return mixed|void
38 38
  */
39 39
 function sd_widget_exclude() {
40
-	return apply_filters( 'sd_widget_exclude', array() );
40
+	return apply_filters('sd_widget_exclude', array());
41 41
 }
42 42
 
43 43
 
@@ -49,11 +49,11 @@  discard block
 block discarded – undo
49 49
  *
50 50
  * @return array
51 51
  */
52
-function sd_get_margin_input( $type = 'mt', $overwrite = array(), $include_negatives = true ) {
52
+function sd_get_margin_input($type = 'mt', $overwrite = array(), $include_negatives = true) {
53 53
 	global $aui_bs5;
54 54
 	$options = array(
55
-		''     => __( 'None', 'ayecode-connect' ),
56
-		'auto' => __( 'auto', 'ayecode-connect' ),
55
+		''     => __('None', 'ayecode-connect'),
56
+		'auto' => __('auto', 'ayecode-connect'),
57 57
 		'0'    => '0',
58 58
 		'1'    => '1',
59 59
 		'2'    => '2',
@@ -69,7 +69,7 @@  discard block
 block discarded – undo
69 69
 		'12'   => '12',
70 70
 	);
71 71
 
72
-	if ( $include_negatives ) {
72
+	if ($include_negatives) {
73 73
 		$options['n1']  = '-1';
74 74
 		$options['n2']  = '-2';
75 75
 		$options['n3']  = '-3';
@@ -86,37 +86,37 @@  discard block
 block discarded – undo
86 86
 
87 87
 	$defaults = array(
88 88
 		'type'     => 'select',
89
-		'title'    => __( 'Margin top', 'ayecode-connect' ),
89
+		'title'    => __('Margin top', 'ayecode-connect'),
90 90
 		'options'  => $options,
91 91
 		'default'  => '',
92 92
 		'desc_tip' => true,
93
-		'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
93
+		'group'    => __('Wrapper Styles', 'ayecode-connect'),
94 94
 	);
95 95
 
96 96
 	// title
97
-	if ( $type == 'mt' ) {
98
-		$defaults['title'] = __( 'Margin top', 'ayecode-connect' );
97
+	if ($type == 'mt') {
98
+		$defaults['title'] = __('Margin top', 'ayecode-connect');
99 99
 		$defaults['icon']  = 'box-top';
100 100
 		$defaults['row']   = array(
101
-			'title' => __( 'Margins', 'ayecode-connect' ),
101
+			'title' => __('Margins', 'ayecode-connect'),
102 102
 			'key'   => 'wrapper-margins',
103 103
 			'open'  => true,
104 104
 			'class' => 'text-center',
105 105
 		);
106
-	} elseif ( $type == 'mr' ) {
107
-		$defaults['title'] = __( 'Margin right', 'ayecode-connect' );
106
+	} elseif ($type == 'mr') {
107
+		$defaults['title'] = __('Margin right', 'ayecode-connect');
108 108
 		$defaults['icon']  = 'box-right';
109 109
 		$defaults['row']   = array(
110 110
 			'key' => 'wrapper-margins',
111 111
 		);
112
-	} elseif ( $type == 'mb' ) {
113
-		$defaults['title'] = __( 'Margin bottom', 'ayecode-connect' );
112
+	} elseif ($type == 'mb') {
113
+		$defaults['title'] = __('Margin bottom', 'ayecode-connect');
114 114
 		$defaults['icon']  = 'box-bottom';
115 115
 		$defaults['row']   = array(
116 116
 			'key' => 'wrapper-margins',
117 117
 		);
118
-	} elseif ( $type == 'ml' ) {
119
-		$defaults['title'] = __( 'Margin left', 'ayecode-connect' );
118
+	} elseif ($type == 'ml') {
119
+		$defaults['title'] = __('Margin left', 'ayecode-connect');
120 120
 		$defaults['icon']  = 'box-left';
121 121
 		$defaults['row']   = array(
122 122
 			'key'   => 'wrapper-margins',
@@ -124,7 +124,7 @@  discard block
 block discarded – undo
124 124
 		);
125 125
 	}
126 126
 
127
-	$input = wp_parse_args( $overwrite, $defaults );
127
+	$input = wp_parse_args($overwrite, $defaults);
128 128
 
129 129
 	return $input;
130 130
 }
@@ -137,9 +137,9 @@  discard block
 block discarded – undo
137 137
  *
138 138
  * @return array
139 139
  */
140
-function sd_get_padding_input( $type = 'pt', $overwrite = array() ) {
140
+function sd_get_padding_input($type = 'pt', $overwrite = array()) {
141 141
 	$options = array(
142
-		''   => __( 'None', 'ayecode-connect' ),
142
+		''   => __('None', 'ayecode-connect'),
143 143
 		'0'  => '0',
144 144
 		'1'  => '1',
145 145
 		'2'  => '2',
@@ -157,37 +157,37 @@  discard block
 block discarded – undo
157 157
 
158 158
 	$defaults = array(
159 159
 		'type'     => 'select',
160
-		'title'    => __( 'Padding top', 'ayecode-connect' ),
160
+		'title'    => __('Padding top', 'ayecode-connect'),
161 161
 		'options'  => $options,
162 162
 		'default'  => '',
163 163
 		'desc_tip' => true,
164
-		'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
164
+		'group'    => __('Wrapper Styles', 'ayecode-connect'),
165 165
 	);
166 166
 
167 167
 	// title
168
-	if ( $type == 'pt' ) {
169
-		$defaults['title'] = __( 'Padding top', 'ayecode-connect' );
168
+	if ($type == 'pt') {
169
+		$defaults['title'] = __('Padding top', 'ayecode-connect');
170 170
 		$defaults['icon']  = 'box-top';
171 171
 		$defaults['row']   = array(
172
-			'title' => __( 'Padding', 'ayecode-connect' ),
172
+			'title' => __('Padding', 'ayecode-connect'),
173 173
 			'key'   => 'wrapper-padding',
174 174
 			'open'  => true,
175 175
 			'class' => 'text-center',
176 176
 		);
177
-	} elseif ( $type == 'pr' ) {
178
-		$defaults['title'] = __( 'Padding right', 'ayecode-connect' );
177
+	} elseif ($type == 'pr') {
178
+		$defaults['title'] = __('Padding right', 'ayecode-connect');
179 179
 		$defaults['icon']  = 'box-right';
180 180
 		$defaults['row']   = array(
181 181
 			'key' => 'wrapper-padding',
182 182
 		);
183
-	} elseif ( $type == 'pb' ) {
184
-		$defaults['title'] = __( 'Padding bottom', 'ayecode-connect' );
183
+	} elseif ($type == 'pb') {
184
+		$defaults['title'] = __('Padding bottom', 'ayecode-connect');
185 185
 		$defaults['icon']  = 'box-bottom';
186 186
 		$defaults['row']   = array(
187 187
 			'key' => 'wrapper-padding',
188 188
 		);
189
-	} elseif ( $type == 'pl' ) {
190
-		$defaults['title'] = __( 'Padding left', 'ayecode-connect' );
189
+	} elseif ($type == 'pl') {
190
+		$defaults['title'] = __('Padding left', 'ayecode-connect');
191 191
 		$defaults['icon']  = 'box-left';
192 192
 		$defaults['row']   = array(
193 193
 			'key'   => 'wrapper-padding',
@@ -196,7 +196,7 @@  discard block
 block discarded – undo
196 196
 		);
197 197
 	}
198 198
 
199
-	$input = wp_parse_args( $overwrite, $defaults );
199
+	$input = wp_parse_args($overwrite, $defaults);
200 200
 
201 201
 	return $input;
202 202
 }
@@ -209,23 +209,23 @@  discard block
 block discarded – undo
209 209
  *
210 210
  * @return array
211 211
  */
212
-function sd_get_border_input( $type = 'border', $overwrite = array() ) {
212
+function sd_get_border_input($type = 'border', $overwrite = array()) {
213 213
 	global $aui_bs5;
214 214
 
215 215
 	$defaults = array(
216 216
 		'type'     => 'select',
217
-		'title'    => __( 'Border', 'ayecode-connect' ),
217
+		'title'    => __('Border', 'ayecode-connect'),
218 218
 		'options'  => array(),
219 219
 		'default'  => '',
220 220
 		'desc_tip' => true,
221
-		'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
221
+		'group'    => __('Wrapper Styles', 'ayecode-connect'),
222 222
 	);
223 223
 
224 224
 	// title
225
-	if ( 'rounded' === $type ) {
226
-		$defaults['title']           = __( 'Border radius type', 'ayecode-connect' );
225
+	if ('rounded' === $type) {
226
+		$defaults['title']           = __('Border radius type', 'ayecode-connect');
227 227
 		$defaults['options']         = array(
228
-			''               => __( 'Default', 'ayecode-connect' ),
228
+			''               => __('Default', 'ayecode-connect'),
229 229
 			'rounded'        => 'rounded',
230 230
 			'rounded-top'    => 'rounded-top',
231 231
 			'rounded-right'  => 'rounded-right',
@@ -233,12 +233,12 @@  discard block
 block discarded – undo
233 233
 			'rounded-left'   => 'rounded-left',
234 234
 		);
235 235
 		$defaults['element_require'] = '([%border%]&&[%border%]!="0")';
236
-	} elseif ( 'rounded_size' === $type ) {
237
-		$defaults['title'] = __( 'Border radius size', 'ayecode-connect' );
236
+	} elseif ('rounded_size' === $type) {
237
+		$defaults['title'] = __('Border radius size', 'ayecode-connect');
238 238
 
239
-		if ( $aui_bs5 ) {
239
+		if ($aui_bs5) {
240 240
 			$defaults['options'] = array(
241
-				''       => __( 'Default', 'ayecode-connect' ),
241
+				''       => __('Default', 'ayecode-connect'),
242 242
 				'0'      => '0',
243 243
 				'1'      => '1',
244 244
 				'2'      => '2',
@@ -249,55 +249,55 @@  discard block
 block discarded – undo
249 249
 			);
250 250
 		} else {
251 251
 			$defaults['options'] = array(
252
-				''   => __( 'Default', 'ayecode-connect' ),
253
-				'sm' => __( 'Small', 'ayecode-connect' ),
254
-				'lg' => __( 'Large', 'ayecode-connect' ),
252
+				''   => __('Default', 'ayecode-connect'),
253
+				'sm' => __('Small', 'ayecode-connect'),
254
+				'lg' => __('Large', 'ayecode-connect'),
255 255
 			);
256 256
 		}
257 257
 		$defaults['element_require'] = '([%border%]&&[%border%]!="0")';
258
-	} elseif ( 'width' === $type ) { // BS%
259
-		$defaults['title']           = __( 'Border width', 'ayecode-connect' );
258
+	} elseif ('width' === $type) { // BS%
259
+		$defaults['title']           = __('Border width', 'ayecode-connect');
260 260
 		$defaults['options']         = array(
261
-			''         => __( 'Default', 'ayecode-connect' ),
261
+			''         => __('Default', 'ayecode-connect'),
262 262
 			'border-2' => '2',
263 263
 			'border-3' => '3',
264 264
 			'border-4' => '4',
265 265
 			'border-5' => '5',
266 266
 		);
267 267
 		$defaults['element_require'] = $aui_bs5 ? '([%border%]&&[%border%]!="0")' : '1==2';
268
-	} elseif ( 'opacity' === $type ) { // BS%
269
-		$defaults['title']           = __( 'Border opacity', 'ayecode-connect' );
268
+	} elseif ('opacity' === $type) { // BS%
269
+		$defaults['title']           = __('Border opacity', 'ayecode-connect');
270 270
 		$defaults['options']         = array(
271
-			''                  => __( 'Default', 'ayecode-connect' ),
271
+			''                  => __('Default', 'ayecode-connect'),
272 272
 			'border-opacity-75' => '75%',
273 273
 			'border-opacity-50' => '50%',
274 274
 			'border-opacity-25' => '25%',
275 275
 			'border-opacity-10' => '10%',
276 276
 		);
277 277
 		$defaults['element_require'] = $aui_bs5 ? '([%border%]&&[%border%]!="0")' : '1==2';
278
-	} elseif ( 'type' === $type ) {
279
-		$defaults['title']           = __( 'Border show', 'ayecode-connect' );
278
+	} elseif ('type' === $type) {
279
+		$defaults['title']           = __('Border show', 'ayecode-connect');
280 280
 		$defaults['options']         = array(
281
-			'border'          => __( 'Full (set color to show)', 'ayecode-connect' ),
282
-			'border-top'      => __( 'Top', 'ayecode-connect' ),
283
-			'border-bottom'   => __( 'Bottom', 'ayecode-connect' ),
284
-			'border-left'     => __( 'Left', 'ayecode-connect' ),
285
-			'border-right'    => __( 'Right', 'ayecode-connect' ),
286
-			'border-top-0'    => __( '-Top', 'ayecode-connect' ),
287
-			'border-bottom-0' => __( '-Bottom', 'ayecode-connect' ),
288
-			'border-left-0'   => __( '-Left', 'ayecode-connect' ),
289
-			'border-right-0'  => __( '-Right', 'ayecode-connect' ),
281
+			'border'          => __('Full (set color to show)', 'ayecode-connect'),
282
+			'border-top'      => __('Top', 'ayecode-connect'),
283
+			'border-bottom'   => __('Bottom', 'ayecode-connect'),
284
+			'border-left'     => __('Left', 'ayecode-connect'),
285
+			'border-right'    => __('Right', 'ayecode-connect'),
286
+			'border-top-0'    => __('-Top', 'ayecode-connect'),
287
+			'border-bottom-0' => __('-Bottom', 'ayecode-connect'),
288
+			'border-left-0'   => __('-Left', 'ayecode-connect'),
289
+			'border-right-0'  => __('-Right', 'ayecode-connect'),
290 290
 		);
291 291
 		$defaults['element_require'] = '([%border%]&&[%border%]!="0")';
292 292
 	} else {
293
-		$defaults['title']   = __( 'Border color', 'ayecode-connect' );
293
+		$defaults['title']   = __('Border color', 'ayecode-connect');
294 294
 		$defaults['options'] = array(
295
-			''  => __( 'Default', 'ayecode-connect' ),
296
-			'0' => __( 'None', 'ayecode-connect' )
297
-		) + sd_aui_colors( false, false, false, false, true );
295
+			''  => __('Default', 'ayecode-connect'),
296
+			'0' => __('None', 'ayecode-connect')
297
+		) + sd_aui_colors(false, false, false, false, true);
298 298
 	}
299 299
 
300
-	$input = wp_parse_args( $overwrite, $defaults );
300
+	$input = wp_parse_args($overwrite, $defaults);
301 301
 
302 302
 	return $input;
303 303
 }
@@ -310,24 +310,24 @@  discard block
 block discarded – undo
310 310
  *
311 311
  * @return array
312 312
  */
313
-function sd_get_shadow_input( $type = 'shadow', $overwrite = array() ) {
313
+function sd_get_shadow_input($type = 'shadow', $overwrite = array()) {
314 314
 	$options = array(
315
-		''          => __( 'None', 'ayecode-connect' ),
316
-		'shadow-sm' => __( 'Small', 'ayecode-connect' ),
317
-		'shadow'    => __( 'Regular', 'ayecode-connect' ),
318
-		'shadow-lg' => __( 'Large', 'ayecode-connect' ),
315
+		''          => __('None', 'ayecode-connect'),
316
+		'shadow-sm' => __('Small', 'ayecode-connect'),
317
+		'shadow'    => __('Regular', 'ayecode-connect'),
318
+		'shadow-lg' => __('Large', 'ayecode-connect'),
319 319
 	);
320 320
 
321 321
 	$defaults = array(
322 322
 		'type'     => 'select',
323
-		'title'    => __( 'Shadow', 'ayecode-connect' ),
323
+		'title'    => __('Shadow', 'ayecode-connect'),
324 324
 		'options'  => $options,
325 325
 		'default'  => '',
326 326
 		'desc_tip' => true,
327
-		'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
327
+		'group'    => __('Wrapper Styles', 'ayecode-connect'),
328 328
 	);
329 329
 
330
-	$input = wp_parse_args( $overwrite, $defaults );
330
+	$input = wp_parse_args($overwrite, $defaults);
331 331
 
332 332
 	return $input;
333 333
 }
@@ -340,22 +340,22 @@  discard block
 block discarded – undo
340 340
  *
341 341
  * @return array
342 342
  */
343
-function sd_get_background_input( $type = 'bg', $overwrite = array() ) {
343
+function sd_get_background_input($type = 'bg', $overwrite = array()) {
344 344
 	$options = array(
345
-		           ''            => __( 'None', 'ayecode-connect' ),
346
-		           'transparent' => __( 'Transparent', 'ayecode-connect' ),
347
-	           ) + sd_aui_colors(false,false,false,false,true);
345
+		           ''            => __('None', 'ayecode-connect'),
346
+		           'transparent' => __('Transparent', 'ayecode-connect'),
347
+	           ) + sd_aui_colors(false, false, false, false, true);
348 348
 
349 349
 	$defaults = array(
350 350
 		'type'     => 'select',
351
-		'title'    => __( 'Background color', 'ayecode-connect' ),
351
+		'title'    => __('Background color', 'ayecode-connect'),
352 352
 		'options'  => $options,
353 353
 		'default'  => '',
354 354
 		'desc_tip' => true,
355
-		'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
355
+		'group'    => __('Wrapper Styles', 'ayecode-connect'),
356 356
 	);
357 357
 
358
-	$input = wp_parse_args( $overwrite, $defaults );
358
+	$input = wp_parse_args($overwrite, $defaults);
359 359
 
360 360
 	return $input;
361 361
 }
@@ -368,9 +368,9 @@  discard block
 block discarded – undo
368 368
  *
369 369
  * @return array
370 370
  */
371
-function sd_get_opacity_input( $type = 'opacity', $overwrite = array() ) {
371
+function sd_get_opacity_input($type = 'opacity', $overwrite = array()) {
372 372
 	$options = array(
373
-		''            => __( 'Default', 'ayecode-connect' ),
373
+		''            => __('Default', 'ayecode-connect'),
374 374
 		'opacity-10'  => '10%',
375 375
 		'opacity-15'  => '15%',
376 376
 		'opacity-25'  => '25%',
@@ -388,14 +388,14 @@  discard block
 block discarded – undo
388 388
 
389 389
 	$defaults = array(
390 390
 		'type'     => 'select',
391
-		'title'    => __( 'Opacity', 'ayecode-connect' ),
391
+		'title'    => __('Opacity', 'ayecode-connect'),
392 392
 		'options'  => $options,
393 393
 		'default'  => '',
394 394
 		'desc_tip' => true,
395
-		'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
395
+		'group'    => __('Wrapper Styles', 'ayecode-connect'),
396 396
 	);
397 397
 
398
-	$input = wp_parse_args( $overwrite, $defaults );
398
+	$input = wp_parse_args($overwrite, $defaults);
399 399
 
400 400
 	return $input;
401 401
 }
@@ -408,102 +408,102 @@  discard block
 block discarded – undo
408 408
  *
409 409
  * @return array
410 410
  */
411
-function sd_get_background_inputs( $type = 'bg', $overwrite = array(), $overwrite_color = array(), $overwrite_gradient = array(), $overwrite_image = array(), $include_button_colors = false ) {
411
+function sd_get_background_inputs($type = 'bg', $overwrite = array(), $overwrite_color = array(), $overwrite_gradient = array(), $overwrite_image = array(), $include_button_colors = false) {
412 412
 
413
-	$color_options = $include_button_colors ? sd_aui_colors( false, true, true, true, true ) : sd_aui_colors(false, false, false, false, true );
413
+	$color_options = $include_button_colors ? sd_aui_colors(false, true, true, true, true) : sd_aui_colors(false, false, false, false, true);
414 414
 
415 415
 	$options = array(
416
-		           ''            => __( 'None', 'ayecode-connect' ),
417
-		           'transparent' => __( 'Transparent', 'ayecode-connect' ),
416
+		           ''            => __('None', 'ayecode-connect'),
417
+		           'transparent' => __('Transparent', 'ayecode-connect'),
418 418
 	           ) + $color_options;
419 419
 
420
-	if ( false !== $overwrite_color ) {
421
-		$options['custom-color'] = __( 'Custom Color', 'ayecode-connect' );
420
+	if (false !== $overwrite_color) {
421
+		$options['custom-color'] = __('Custom Color', 'ayecode-connect');
422 422
 	}
423 423
 
424
-	if ( false !== $overwrite_gradient ) {
425
-		$options['custom-gradient'] = __( 'Custom Gradient', 'ayecode-connect' );
424
+	if (false !== $overwrite_gradient) {
425
+		$options['custom-gradient'] = __('Custom Gradient', 'ayecode-connect');
426 426
 	}
427 427
 
428 428
 	$defaults = array(
429 429
 		'type'     => 'select',
430
-		'title'    => __( 'Background Color', 'ayecode-connect' ),
430
+		'title'    => __('Background Color', 'ayecode-connect'),
431 431
 		'options'  => $options,
432 432
 		'default'  => '',
433 433
 		'desc_tip' => true,
434
-		'group'    => __( 'Background', 'ayecode-connect' ),
434
+		'group'    => __('Background', 'ayecode-connect'),
435 435
 	);
436 436
 
437
-	if ( $overwrite !== false ) {
438
-		$input[ $type ] = wp_parse_args( $overwrite, $defaults );
437
+	if ($overwrite !== false) {
438
+		$input[$type] = wp_parse_args($overwrite, $defaults);
439 439
 	}
440 440
 
441
-	if ( $overwrite_color !== false ) {
442
-		$input[ $type . '_color' ] = wp_parse_args(
441
+	if ($overwrite_color !== false) {
442
+		$input[$type . '_color'] = wp_parse_args(
443 443
 			$overwrite_color,
444 444
 			array(
445 445
 				'type'            => 'color',
446
-				'title'           => __( 'Custom color', 'ayecode-connect' ),
446
+				'title'           => __('Custom color', 'ayecode-connect'),
447 447
 				'placeholder'     => '',
448 448
 				'default'         => '#0073aa',
449 449
 				'desc_tip'        => true,
450
-				'group'           => __( 'Background', 'ayecode-connect' ),
450
+				'group'           => __('Background', 'ayecode-connect'),
451 451
 				'element_require' => '[%' . $type . '%]=="custom-color"',
452 452
 			)
453 453
 		);
454 454
 	}
455 455
 
456
-	if ( $overwrite_gradient !== false ) {
457
-		$input[ $type . '_gradient' ] = wp_parse_args(
456
+	if ($overwrite_gradient !== false) {
457
+		$input[$type . '_gradient'] = wp_parse_args(
458 458
 			$overwrite_gradient,
459 459
 			array(
460 460
 				'type'            => 'gradient',
461
-				'title'           => __( 'Custom gradient', 'ayecode-connect' ),
461
+				'title'           => __('Custom gradient', 'ayecode-connect'),
462 462
 				'placeholder'     => '',
463 463
 				'default'         => 'linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%)',
464 464
 				'desc_tip'        => true,
465
-				'group'           => __( 'Background', 'ayecode-connect' ),
465
+				'group'           => __('Background', 'ayecode-connect'),
466 466
 				'element_require' => '[%' . $type . '%]=="custom-gradient"',
467 467
 			)
468 468
 		);
469 469
 	}
470 470
 
471
-	if ( $overwrite_image !== false ) {
471
+	if ($overwrite_image !== false) {
472 472
 
473
-		$input[ $type . '_image_fixed' ] = array(
473
+		$input[$type . '_image_fixed'] = array(
474 474
 			'type'            => 'checkbox',
475
-			'title'           => __( 'Fixed background', 'ayecode-connect' ),
475
+			'title'           => __('Fixed background', 'ayecode-connect'),
476 476
 			'default'         => '',
477 477
 			'desc_tip'        => true,
478
-			'group'           => ! empty( $overwrite_image['group'] ) ? $overwrite_image['group'] : __( 'Background', 'ayecode-connect' ),
478
+			'group'           => !empty($overwrite_image['group']) ? $overwrite_image['group'] : __('Background', 'ayecode-connect'),
479 479
 			'element_require' => '( [%' . $type . '%]=="" || [%' . $type . '%]=="custom-color" || [%' . $type . '%]=="custom-gradient" || [%' . $type . '%]=="transparent" )',
480 480
 
481 481
 		);
482 482
 
483
-		$input[ $type . '_image_use_featured' ] = array(
483
+		$input[$type . '_image_use_featured'] = array(
484 484
 			'type'            => 'checkbox',
485
-			'title'           => __( 'Use featured image', 'ayecode-connect' ),
485
+			'title'           => __('Use featured image', 'ayecode-connect'),
486 486
 			'default'         => '',
487 487
 			'desc_tip'        => true,
488
-			'group'           => ! empty( $overwrite_image['group'] ) ? $overwrite_image['group'] : __( 'Background', 'ayecode-connect' ),
488
+			'group'           => !empty($overwrite_image['group']) ? $overwrite_image['group'] : __('Background', 'ayecode-connect'),
489 489
 			'element_require' => '( [%' . $type . '%]=="" || [%' . $type . '%]=="custom-color" || [%' . $type . '%]=="custom-gradient" || [%' . $type . '%]=="transparent" )',
490 490
 
491 491
 		);
492 492
 
493
-		$input[ $type . '_image' ] = wp_parse_args(
493
+		$input[$type . '_image'] = wp_parse_args(
494 494
 			$overwrite_image,
495 495
 			array(
496 496
 				'type'        => 'image',
497
-				'title'       => __( 'Custom image', 'ayecode-connect' ),
497
+				'title'       => __('Custom image', 'ayecode-connect'),
498 498
 				'placeholder' => '',
499 499
 				'default'     => '',
500 500
 				'desc_tip'    => true,
501
-				'group'       => __( 'Background', 'ayecode-connect' ),
501
+				'group'       => __('Background', 'ayecode-connect'),
502 502
 				//          'element_require' => ' ![%' . $type . '_image_use_featured%] '
503 503
 			)
504 504
 		);
505 505
 
506
-		$input[ $type . '_image_id' ] = wp_parse_args(
506
+		$input[$type . '_image_id'] = wp_parse_args(
507 507
 			$overwrite_image,
508 508
 			array(
509 509
 				'type'        => 'hidden',
@@ -511,18 +511,18 @@  discard block
 block discarded – undo
511 511
 				'title'       => '',
512 512
 				'placeholder' => '',
513 513
 				'default'     => '',
514
-				'group'       => __( 'Background', 'ayecode-connect' ),
514
+				'group'       => __('Background', 'ayecode-connect'),
515 515
 			)
516 516
 		);
517 517
 
518
-		$input[ $type . '_image_xy' ] = wp_parse_args(
518
+		$input[$type . '_image_xy'] = wp_parse_args(
519 519
 			$overwrite_image,
520 520
 			array(
521 521
 				'type'        => 'image_xy',
522 522
 				'title'       => '',
523 523
 				'placeholder' => '',
524 524
 				'default'     => '',
525
-				'group'       => __( 'Background', 'ayecode-connect' ),
525
+				'group'       => __('Background', 'ayecode-connect'),
526 526
 			)
527 527
 		);
528 528
 	}
@@ -538,102 +538,102 @@  discard block
 block discarded – undo
538 538
  *
539 539
  * @return array
540 540
  */
541
-function sd_get_shape_divider_inputs( $type = 'sd', $overwrite = array(), $overwrite_color = array(), $overwrite_gradient = array(), $overwrite_image = array() ) {
541
+function sd_get_shape_divider_inputs($type = 'sd', $overwrite = array(), $overwrite_color = array(), $overwrite_gradient = array(), $overwrite_image = array()) {
542 542
 
543 543
 	$options = array(
544
-		''                      => __( 'None', 'ayecode-connect' ),
545
-		'mountains'             => __( 'Mountains', 'ayecode-connect' ),
546
-		'drops'                 => __( 'Drops', 'ayecode-connect' ),
547
-		'clouds'                => __( 'Clouds', 'ayecode-connect' ),
548
-		'zigzag'                => __( 'Zigzag', 'ayecode-connect' ),
549
-		'pyramids'              => __( 'Pyramids', 'ayecode-connect' ),
550
-		'triangle'              => __( 'Triangle', 'ayecode-connect' ),
551
-		'triangle-asymmetrical' => __( 'Triangle Asymmetrical', 'ayecode-connect' ),
552
-		'tilt'                  => __( 'Tilt', 'ayecode-connect' ),
553
-		'opacity-tilt'          => __( 'Opacity Tilt', 'ayecode-connect' ),
554
-		'opacity-fan'           => __( 'Opacity Fan', 'ayecode-connect' ),
555
-		'curve'                 => __( 'Curve', 'ayecode-connect' ),
556
-		'curve-asymmetrical'    => __( 'Curve Asymmetrical', 'ayecode-connect' ),
557
-		'waves'                 => __( 'Waves', 'ayecode-connect' ),
558
-		'wave-brush'            => __( 'Wave Brush', 'ayecode-connect' ),
559
-		'waves-pattern'         => __( 'Waves Pattern', 'ayecode-connect' ),
560
-		'arrow'                 => __( 'Arrow', 'ayecode-connect' ),
561
-		'split'                 => __( 'Split', 'ayecode-connect' ),
562
-		'book'                  => __( 'Book', 'ayecode-connect' ),
544
+		''                      => __('None', 'ayecode-connect'),
545
+		'mountains'             => __('Mountains', 'ayecode-connect'),
546
+		'drops'                 => __('Drops', 'ayecode-connect'),
547
+		'clouds'                => __('Clouds', 'ayecode-connect'),
548
+		'zigzag'                => __('Zigzag', 'ayecode-connect'),
549
+		'pyramids'              => __('Pyramids', 'ayecode-connect'),
550
+		'triangle'              => __('Triangle', 'ayecode-connect'),
551
+		'triangle-asymmetrical' => __('Triangle Asymmetrical', 'ayecode-connect'),
552
+		'tilt'                  => __('Tilt', 'ayecode-connect'),
553
+		'opacity-tilt'          => __('Opacity Tilt', 'ayecode-connect'),
554
+		'opacity-fan'           => __('Opacity Fan', 'ayecode-connect'),
555
+		'curve'                 => __('Curve', 'ayecode-connect'),
556
+		'curve-asymmetrical'    => __('Curve Asymmetrical', 'ayecode-connect'),
557
+		'waves'                 => __('Waves', 'ayecode-connect'),
558
+		'wave-brush'            => __('Wave Brush', 'ayecode-connect'),
559
+		'waves-pattern'         => __('Waves Pattern', 'ayecode-connect'),
560
+		'arrow'                 => __('Arrow', 'ayecode-connect'),
561
+		'split'                 => __('Split', 'ayecode-connect'),
562
+		'book'                  => __('Book', 'ayecode-connect'),
563 563
 	);
564 564
 
565 565
 	$defaults = array(
566 566
 		'type'     => 'select',
567
-		'title'    => __( 'Type', 'ayecode-connect' ),
567
+		'title'    => __('Type', 'ayecode-connect'),
568 568
 		'options'  => $options,
569 569
 		'default'  => '',
570 570
 		'desc_tip' => true,
571
-		'group'    => __( 'Shape Divider', 'ayecode-connect' ),
571
+		'group'    => __('Shape Divider', 'ayecode-connect'),
572 572
 	);
573 573
 
574
-	$input[ $type ] = wp_parse_args( $overwrite, $defaults );
574
+	$input[$type] = wp_parse_args($overwrite, $defaults);
575 575
 
576
-	$input[ $type . '_notice' ] = array(
576
+	$input[$type . '_notice'] = array(
577 577
 		'type'            => 'notice',
578
-		'desc'            => __( 'Parent element must be position `relative`', 'ayecode-connect' ),
578
+		'desc'            => __('Parent element must be position `relative`', 'ayecode-connect'),
579 579
 		'status'          => 'warning',
580
-		'group'           => __( 'Shape Divider', 'ayecode-connect' ),
580
+		'group'           => __('Shape Divider', 'ayecode-connect'),
581 581
 		'element_require' => '[%' . $type . '%]!=""',
582 582
 	);
583 583
 
584
-	$input[ $type . '_position' ] = wp_parse_args(
584
+	$input[$type . '_position'] = wp_parse_args(
585 585
 		$overwrite_color,
586 586
 		array(
587 587
 			'type'            => 'select',
588
-			'title'           => __( 'Position', 'ayecode-connect' ),
588
+			'title'           => __('Position', 'ayecode-connect'),
589 589
 			'options'         => array(
590
-				'top'    => __( 'Top', 'ayecode-connect' ),
591
-				'bottom' => __( 'Bottom', 'ayecode-connect' ),
590
+				'top'    => __('Top', 'ayecode-connect'),
591
+				'bottom' => __('Bottom', 'ayecode-connect'),
592 592
 			),
593 593
 			'desc_tip'        => true,
594
-			'group'           => __( 'Shape Divider', 'ayecode-connect' ),
594
+			'group'           => __('Shape Divider', 'ayecode-connect'),
595 595
 			'element_require' => '[%' . $type . '%]!=""',
596 596
 		)
597 597
 	);
598 598
 
599 599
 	$options = array(
600
-		           ''            => __( 'None', 'ayecode-connect' ),
601
-		           'transparent' => __( 'Transparent', 'ayecode-connect' ),
602
-	           ) + sd_aui_colors(false,false,false,false,true )
600
+		           ''            => __('None', 'ayecode-connect'),
601
+		           'transparent' => __('Transparent', 'ayecode-connect'),
602
+	           ) + sd_aui_colors(false, false, false, false, true)
603 603
 	           + array(
604
-		           'custom-color' => __( 'Custom Color', 'ayecode-connect' ),
604
+		           'custom-color' => __('Custom Color', 'ayecode-connect'),
605 605
 	           );
606 606
 
607
-	$input[ $type . '_color' ] = wp_parse_args(
607
+	$input[$type . '_color'] = wp_parse_args(
608 608
 		$overwrite_color,
609 609
 		array(
610 610
 			'type'            => 'select',
611
-			'title'           => __( 'Color', 'ayecode-connect' ),
611
+			'title'           => __('Color', 'ayecode-connect'),
612 612
 			'options'         => $options,
613 613
 			'desc_tip'        => true,
614
-			'group'           => __( 'Shape Divider', 'ayecode-connect' ),
614
+			'group'           => __('Shape Divider', 'ayecode-connect'),
615 615
 			'element_require' => '[%' . $type . '%]!=""',
616 616
 		)
617 617
 	);
618 618
 
619
-	$input[ $type . '_custom_color' ] = wp_parse_args(
619
+	$input[$type . '_custom_color'] = wp_parse_args(
620 620
 		$overwrite_color,
621 621
 		array(
622 622
 			'type'            => 'color',
623
-			'title'           => __( 'Custom color', 'ayecode-connect' ),
623
+			'title'           => __('Custom color', 'ayecode-connect'),
624 624
 			'placeholder'     => '',
625 625
 			'default'         => '#0073aa',
626 626
 			'desc_tip'        => true,
627
-			'group'           => __( 'Shape Divider', 'ayecode-connect' ),
627
+			'group'           => __('Shape Divider', 'ayecode-connect'),
628 628
 			'element_require' => '[%' . $type . '_color%]=="custom-color" && [%' . $type . '%]!=""',
629 629
 		)
630 630
 	);
631 631
 
632
-	$input[ $type . '_width' ] = wp_parse_args(
632
+	$input[$type . '_width'] = wp_parse_args(
633 633
 		$overwrite_gradient,
634 634
 		array(
635 635
 			'type'              => 'range',
636
-			'title'             => __( 'Width', 'ayecode-connect' ),
636
+			'title'             => __('Width', 'ayecode-connect'),
637 637
 			'placeholder'       => '',
638 638
 			'default'           => '200',
639 639
 			'desc_tip'          => true,
@@ -641,69 +641,69 @@  discard block
 block discarded – undo
641 641
 				'min' => 100,
642 642
 				'max' => 300,
643 643
 			),
644
-			'group'             => __( 'Shape Divider', 'ayecode-connect' ),
644
+			'group'             => __('Shape Divider', 'ayecode-connect'),
645 645
 			'element_require'   => '[%' . $type . '%]!=""',
646 646
 		)
647 647
 	);
648 648
 
649
-	$input[ $type . '_height' ] = array(
649
+	$input[$type . '_height'] = array(
650 650
 		'type'              => 'range',
651
-		'title'             => __( 'Height', 'ayecode-connect' ),
651
+		'title'             => __('Height', 'ayecode-connect'),
652 652
 		'default'           => '100',
653 653
 		'desc_tip'          => true,
654 654
 		'custom_attributes' => array(
655 655
 			'min' => 0,
656 656
 			'max' => 500,
657 657
 		),
658
-		'group'             => __( 'Shape Divider', 'ayecode-connect' ),
658
+		'group'             => __('Shape Divider', 'ayecode-connect'),
659 659
 		'element_require'   => '[%' . $type . '%]!=""',
660 660
 	);
661 661
 
662 662
 	$requires = array(
663
-		'mountains'             => array( 'flip' ),
664
-		'drops'                 => array( 'flip', 'invert' ),
665
-		'clouds'                => array( 'flip', 'invert' ),
663
+		'mountains'             => array('flip'),
664
+		'drops'                 => array('flip', 'invert'),
665
+		'clouds'                => array('flip', 'invert'),
666 666
 		'zigzag'                => array(),
667
-		'pyramids'              => array( 'flip', 'invert' ),
668
-		'triangle'              => array( 'invert' ),
669
-		'triangle-asymmetrical' => array( 'flip', 'invert' ),
670
-		'tilt'                  => array( 'flip' ),
671
-		'opacity-tilt'          => array( 'flip' ),
667
+		'pyramids'              => array('flip', 'invert'),
668
+		'triangle'              => array('invert'),
669
+		'triangle-asymmetrical' => array('flip', 'invert'),
670
+		'tilt'                  => array('flip'),
671
+		'opacity-tilt'          => array('flip'),
672 672
 		'opacity-fan'           => array(),
673
-		'curve'                 => array( 'invert' ),
674
-		'curve-asymmetrical'    => array( 'flip', 'invert' ),
675
-		'waves'                 => array( 'flip', 'invert' ),
676
-		'wave-brush'            => array( 'flip' ),
677
-		'waves-pattern'         => array( 'flip' ),
678
-		'arrow'                 => array( 'invert' ),
679
-		'split'                 => array( 'invert' ),
680
-		'book'                  => array( 'invert' ),
673
+		'curve'                 => array('invert'),
674
+		'curve-asymmetrical'    => array('flip', 'invert'),
675
+		'waves'                 => array('flip', 'invert'),
676
+		'wave-brush'            => array('flip'),
677
+		'waves-pattern'         => array('flip'),
678
+		'arrow'                 => array('invert'),
679
+		'split'                 => array('invert'),
680
+		'book'                  => array('invert'),
681 681
 	);
682 682
 
683
-	$input[ $type . '_flip' ] = array(
683
+	$input[$type . '_flip'] = array(
684 684
 		'type'            => 'checkbox',
685
-		'title'           => __( 'Flip', 'ayecode-connect' ),
685
+		'title'           => __('Flip', 'ayecode-connect'),
686 686
 		'default'         => '',
687 687
 		'desc_tip'        => true,
688
-		'group'           => __( 'Shape Divider', 'ayecode-connect' ),
689
-		'element_require' => sd_get_element_require_string( $requires, 'flip', 'sd' ),
688
+		'group'           => __('Shape Divider', 'ayecode-connect'),
689
+		'element_require' => sd_get_element_require_string($requires, 'flip', 'sd'),
690 690
 	);
691 691
 
692
-	$input[ $type . '_invert' ] = array(
692
+	$input[$type . '_invert'] = array(
693 693
 		'type'            => 'checkbox',
694
-		'title'           => __( 'Invert', 'ayecode-connect' ),
694
+		'title'           => __('Invert', 'ayecode-connect'),
695 695
 		'default'         => '',
696 696
 		'desc_tip'        => true,
697
-		'group'           => __( 'Shape Divider', 'ayecode-connect' ),
698
-		'element_require' => sd_get_element_require_string( $requires, 'invert', 'sd' ),
697
+		'group'           => __('Shape Divider', 'ayecode-connect'),
698
+		'element_require' => sd_get_element_require_string($requires, 'invert', 'sd'),
699 699
 	);
700 700
 
701
-	$input[ $type . '_btf' ] = array(
701
+	$input[$type . '_btf'] = array(
702 702
 		'type'            => 'checkbox',
703
-		'title'           => __( 'Bring to front', 'ayecode-connect' ),
703
+		'title'           => __('Bring to front', 'ayecode-connect'),
704 704
 		'default'         => '',
705 705
 		'desc_tip'        => true,
706
-		'group'           => __( 'Shape Divider', 'ayecode-connect' ),
706
+		'group'           => __('Shape Divider', 'ayecode-connect'),
707 707
 		'element_require' => '[%' . $type . '%]!=""',
708 708
 
709 709
 	);
@@ -720,19 +720,19 @@  discard block
 block discarded – undo
720 720
  *
721 721
  * @return string
722 722
  */
723
-function sd_get_element_require_string( $args, $key, $type ) {
723
+function sd_get_element_require_string($args, $key, $type) {
724 724
 	$output   = '';
725 725
 	$requires = array();
726 726
 
727
-	if ( ! empty( $args ) ) {
728
-		foreach ( $args as $t => $k ) {
729
-			if ( in_array( $key, $k ) ) {
727
+	if (!empty($args)) {
728
+		foreach ($args as $t => $k) {
729
+			if (in_array($key, $k)) {
730 730
 				$requires[] = '[%' . $type . '%]=="' . $t . '"';
731 731
 			}
732 732
 		}
733 733
 
734
-		if ( ! empty( $requires ) ) {
735
-			$output = '(' . implode( ' || ', $requires ) . ')';
734
+		if (!empty($requires)) {
735
+			$output = '(' . implode(' || ', $requires) . ')';
736 736
 		}
737 737
 	}
738 738
 
@@ -747,39 +747,39 @@  discard block
 block discarded – undo
747 747
  *
748 748
  * @return array
749 749
  */
750
-function sd_get_text_color_input( $type = 'text_color', $overwrite = array(), $has_custom = false, $emphasis = true ) {
750
+function sd_get_text_color_input($type = 'text_color', $overwrite = array(), $has_custom = false, $emphasis = true) {
751 751
 	$options = array(
752
-		           '' => __( 'None', 'ayecode-connect' ),
753
-	           ) + sd_aui_colors(false,false,false,false,false, true);
752
+		           '' => __('None', 'ayecode-connect'),
753
+	           ) + sd_aui_colors(false, false, false, false, false, true);
754 754
 
755
-	if ( $has_custom ) {
756
-		$options['custom'] = __( 'Custom color', 'ayecode-connect' );
755
+	if ($has_custom) {
756
+		$options['custom'] = __('Custom color', 'ayecode-connect');
757 757
 	}
758 758
 
759 759
 	$defaults = array(
760 760
 		'type'     => 'select',
761
-		'title'    => __( 'Text color', 'ayecode-connect' ),
761
+		'title'    => __('Text color', 'ayecode-connect'),
762 762
 		'options'  => $options,
763 763
 		'default'  => '',
764 764
 		'desc_tip' => true,
765
-		'group'    => __( 'Typography', 'ayecode-connect' ),
765
+		'group'    => __('Typography', 'ayecode-connect'),
766 766
 	);
767 767
 
768
-	$input = wp_parse_args( $overwrite, $defaults );
768
+	$input = wp_parse_args($overwrite, $defaults);
769 769
 
770 770
 	return $input;
771 771
 }
772 772
 
773
-function sd_get_text_color_input_group( $type = 'text_color', $overwrite = array(), $overwrite_custom = array() ) {
773
+function sd_get_text_color_input_group($type = 'text_color', $overwrite = array(), $overwrite_custom = array()) {
774 774
 	$inputs = array();
775 775
 
776
-	if ( $overwrite !== false ) {
777
-		$inputs[ $type ] = sd_get_text_color_input( $type, $overwrite, true );
776
+	if ($overwrite !== false) {
777
+		$inputs[$type] = sd_get_text_color_input($type, $overwrite, true);
778 778
 	}
779 779
 
780
-	if ( $overwrite_custom !== false ) {
780
+	if ($overwrite_custom !== false) {
781 781
 		$custom            = $type . '_custom';
782
-		$inputs[ $custom ] = sd_get_custom_color_input( $custom, $overwrite_custom, $type );
782
+		$inputs[$custom] = sd_get_custom_color_input($custom, $overwrite_custom, $type);
783 783
 	}
784 784
 
785 785
 	return $inputs;
@@ -793,22 +793,22 @@  discard block
 block discarded – undo
793 793
  *
794 794
  * @return array
795 795
  */
796
-function sd_get_custom_color_input( $type = 'color_custom', $overwrite = array(), $parent_type = '' ) {
796
+function sd_get_custom_color_input($type = 'color_custom', $overwrite = array(), $parent_type = '') {
797 797
 
798 798
 	$defaults = array(
799 799
 		'type'        => 'color',
800
-		'title'       => __( 'Custom color', 'ayecode-connect' ),
800
+		'title'       => __('Custom color', 'ayecode-connect'),
801 801
 		'default'     => '',
802 802
 		'placeholder' => '',
803 803
 		'desc_tip'    => true,
804
-		'group'       => __( 'Typography', 'ayecode-connect' ),
804
+		'group'       => __('Typography', 'ayecode-connect'),
805 805
 	);
806 806
 
807
-	if ( $parent_type ) {
807
+	if ($parent_type) {
808 808
 		$defaults['element_require'] = '[%' . $parent_type . '%]=="custom"';
809 809
 	}
810 810
 
811
-	$input = wp_parse_args( $overwrite, $defaults );
811
+	$input = wp_parse_args($overwrite, $defaults);
812 812
 
813 813
 	return $input;
814 814
 }
@@ -821,19 +821,19 @@  discard block
 block discarded – undo
821 821
  *
822 822
  * @return array
823 823
  */
824
-function sd_get_col_input( $type = 'col', $overwrite = array() ) {
824
+function sd_get_col_input($type = 'col', $overwrite = array()) {
825 825
 
826 826
 	$device_size = '';
827
-	if ( ! empty( $overwrite['device_type'] ) ) {
828
-		if ( $overwrite['device_type'] == 'Tablet' ) {
827
+	if (!empty($overwrite['device_type'])) {
828
+		if ($overwrite['device_type'] == 'Tablet') {
829 829
 			$device_size = '-md';
830
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
830
+		} elseif ($overwrite['device_type'] == 'Desktop') {
831 831
 			$device_size = '-lg';
832 832
 		}
833 833
 	}
834 834
 	$options = array(
835
-		''     => __( 'Default', 'ayecode-connect' ),
836
-		'auto' => __( 'auto', 'ayecode-connect' ),
835
+		''     => __('Default', 'ayecode-connect'),
836
+		'auto' => __('auto', 'ayecode-connect'),
837 837
 		'1'    => '1/12',
838 838
 		'2'    => '2/12',
839 839
 		'3'    => '3/12',
@@ -850,15 +850,15 @@  discard block
 block discarded – undo
850 850
 
851 851
 	$defaults = array(
852 852
 		'type'            => 'select',
853
-		'title'           => __( 'Column width', 'ayecode-connect' ),
853
+		'title'           => __('Column width', 'ayecode-connect'),
854 854
 		'options'         => $options,
855 855
 		'default'         => '',
856 856
 		'desc_tip'        => true,
857
-		'group'           => __( 'Container', 'ayecode-connect' ),
857
+		'group'           => __('Container', 'ayecode-connect'),
858 858
 		'element_require' => '[%container%]=="col"',
859 859
 	);
860 860
 
861
-	$input = wp_parse_args( $overwrite, $defaults );
861
+	$input = wp_parse_args($overwrite, $defaults);
862 862
 
863 863
 	return $input;
864 864
 }
@@ -871,18 +871,18 @@  discard block
 block discarded – undo
871 871
  *
872 872
  * @return array
873 873
  */
874
-function sd_get_row_cols_input( $type = 'row_cols', $overwrite = array() ) {
874
+function sd_get_row_cols_input($type = 'row_cols', $overwrite = array()) {
875 875
 
876 876
 	$device_size = '';
877
-	if ( ! empty( $overwrite['device_type'] ) ) {
878
-		if ( $overwrite['device_type'] == 'Tablet' ) {
877
+	if (!empty($overwrite['device_type'])) {
878
+		if ($overwrite['device_type'] == 'Tablet') {
879 879
 			$device_size = '-md';
880
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
880
+		} elseif ($overwrite['device_type'] == 'Desktop') {
881 881
 			$device_size = '-lg';
882 882
 		}
883 883
 	}
884 884
 	$options = array(
885
-		''  => __( 'auto', 'ayecode-connect' ),
885
+		''  => __('auto', 'ayecode-connect'),
886 886
 		'1' => '1',
887 887
 		'2' => '2',
888 888
 		'3' => '3',
@@ -893,15 +893,15 @@  discard block
 block discarded – undo
893 893
 
894 894
 	$defaults = array(
895 895
 		'type'            => 'select',
896
-		'title'           => __( 'Row columns', 'ayecode-connect' ),
896
+		'title'           => __('Row columns', 'ayecode-connect'),
897 897
 		'options'         => $options,
898 898
 		'default'         => '',
899 899
 		'desc_tip'        => true,
900
-		'group'           => __( 'Container', 'ayecode-connect' ),
900
+		'group'           => __('Container', 'ayecode-connect'),
901 901
 		'element_require' => '[%container%]=="row"',
902 902
 	);
903 903
 
904
-	$input = wp_parse_args( $overwrite, $defaults );
904
+	$input = wp_parse_args($overwrite, $defaults);
905 905
 
906 906
 	return $input;
907 907
 }
@@ -914,33 +914,33 @@  discard block
 block discarded – undo
914 914
  *
915 915
  * @return array
916 916
  */
917
-function sd_get_text_align_input( $type = 'text_align', $overwrite = array() ) {
917
+function sd_get_text_align_input($type = 'text_align', $overwrite = array()) {
918 918
 
919 919
 	$device_size = '';
920
-	if ( ! empty( $overwrite['device_type'] ) ) {
921
-		if ( $overwrite['device_type'] == 'Tablet' ) {
920
+	if (!empty($overwrite['device_type'])) {
921
+		if ($overwrite['device_type'] == 'Tablet') {
922 922
 			$device_size = '-md';
923
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
923
+		} elseif ($overwrite['device_type'] == 'Desktop') {
924 924
 			$device_size = '-lg';
925 925
 		}
926 926
 	}
927 927
 	$options = array(
928
-		''                                => __( 'Default', 'ayecode-connect' ),
929
-		'text' . $device_size . '-left'   => __( 'Left', 'ayecode-connect' ),
930
-		'text' . $device_size . '-right'  => __( 'Right', 'ayecode-connect' ),
931
-		'text' . $device_size . '-center' => __( 'Center', 'ayecode-connect' ),
928
+		''                                => __('Default', 'ayecode-connect'),
929
+		'text' . $device_size . '-left'   => __('Left', 'ayecode-connect'),
930
+		'text' . $device_size . '-right'  => __('Right', 'ayecode-connect'),
931
+		'text' . $device_size . '-center' => __('Center', 'ayecode-connect'),
932 932
 	);
933 933
 
934 934
 	$defaults = array(
935 935
 		'type'     => 'select',
936
-		'title'    => __( 'Text align', 'ayecode-connect' ),
936
+		'title'    => __('Text align', 'ayecode-connect'),
937 937
 		'options'  => $options,
938 938
 		'default'  => '',
939 939
 		'desc_tip' => true,
940
-		'group'    => __( 'Typography', 'ayecode-connect' ),
940
+		'group'    => __('Typography', 'ayecode-connect'),
941 941
 	);
942 942
 
943
-	$input = wp_parse_args( $overwrite, $defaults );
943
+	$input = wp_parse_args($overwrite, $defaults);
944 944
 
945 945
 	return $input;
946 946
 }
@@ -953,18 +953,18 @@  discard block
 block discarded – undo
953 953
  *
954 954
  * @return array
955 955
  */
956
-function sd_get_display_input( $type = 'display', $overwrite = array() ) {
956
+function sd_get_display_input($type = 'display', $overwrite = array()) {
957 957
 
958 958
 	$device_size = '';
959
-	if ( ! empty( $overwrite['device_type'] ) ) {
960
-		if ( $overwrite['device_type'] == 'Tablet' ) {
959
+	if (!empty($overwrite['device_type'])) {
960
+		if ($overwrite['device_type'] == 'Tablet') {
961 961
 			$device_size = '-md';
962
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
962
+		} elseif ($overwrite['device_type'] == 'Desktop') {
963 963
 			$device_size = '-lg';
964 964
 		}
965 965
 	}
966 966
 	$options = array(
967
-		''                                   => __( 'Default', 'ayecode-connect' ),
967
+		''                                   => __('Default', 'ayecode-connect'),
968 968
 		'd' . $device_size . '-none'         => 'none',
969 969
 		'd' . $device_size . '-inline'       => 'inline',
970 970
 		'd' . $device_size . '-inline-block' => 'inline-block',
@@ -978,14 +978,14 @@  discard block
 block discarded – undo
978 978
 
979 979
 	$defaults = array(
980 980
 		'type'     => 'select',
981
-		'title'    => __( 'Display', 'ayecode-connect' ),
981
+		'title'    => __('Display', 'ayecode-connect'),
982 982
 		'options'  => $options,
983 983
 		'default'  => '',
984 984
 		'desc_tip' => true,
985
-		'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
985
+		'group'    => __('Wrapper Styles', 'ayecode-connect'),
986 986
 	);
987 987
 
988
-	$input = wp_parse_args( $overwrite, $defaults );
988
+	$input = wp_parse_args($overwrite, $defaults);
989 989
 
990 990
 	return $input;
991 991
 }
@@ -998,17 +998,17 @@  discard block
 block discarded – undo
998 998
  *
999 999
  * @return array
1000 1000
  */
1001
-function sd_get_text_justify_input( $type = 'text_justify', $overwrite = array() ) {
1001
+function sd_get_text_justify_input($type = 'text_justify', $overwrite = array()) {
1002 1002
 
1003 1003
 	$defaults = array(
1004 1004
 		'type'     => 'checkbox',
1005
-		'title'    => __( 'Text justify', 'ayecode-connect' ),
1005
+		'title'    => __('Text justify', 'ayecode-connect'),
1006 1006
 		'default'  => '',
1007 1007
 		'desc_tip' => true,
1008
-		'group'    => __( 'Typography', 'ayecode-connect' ),
1008
+		'group'    => __('Typography', 'ayecode-connect'),
1009 1009
 	);
1010 1010
 
1011
-	$input = wp_parse_args( $overwrite, $defaults );
1011
+	$input = wp_parse_args($overwrite, $defaults);
1012 1012
 
1013 1013
 	return $input;
1014 1014
 }
@@ -1022,115 +1022,115 @@  discard block
 block discarded – undo
1022 1022
  *
1023 1023
  * @return array
1024 1024
  */
1025
-function sd_aui_colors( $include_branding = false, $include_outlines = false, $outline_button_only_text = false, $include_translucent = false, $include_subtle = false, $include_emphasis = false ) {
1025
+function sd_aui_colors($include_branding = false, $include_outlines = false, $outline_button_only_text = false, $include_translucent = false, $include_subtle = false, $include_emphasis = false) {
1026 1026
 	$theme_colors = array();
1027 1027
 
1028
-	$theme_colors['primary']   = __( 'Primary', 'ayecode-connect' );
1029
-	$theme_colors['secondary'] = __( 'Secondary', 'ayecode-connect' );
1030
-	$theme_colors['success']   = __( 'Success', 'ayecode-connect' );
1031
-	$theme_colors['danger']    = __( 'Danger', 'ayecode-connect' );
1032
-	$theme_colors['warning']   = __( 'Warning', 'ayecode-connect' );
1033
-	$theme_colors['info']      = __( 'Info', 'ayecode-connect' );
1034
-	$theme_colors['light']     = __( 'Light', 'ayecode-connect' );
1035
-	$theme_colors['dark']      = __( 'Dark', 'ayecode-connect' );
1036
-	$theme_colors['black']     = __( 'Black', 'ayecode-connect' );
1037
-	$theme_colors['white']     = __( 'White', 'ayecode-connect' );
1038
-	$theme_colors['purple']    = __( 'Purple', 'ayecode-connect' );
1039
-	$theme_colors['salmon']    = __( 'Salmon', 'ayecode-connect' );
1040
-	$theme_colors['cyan']      = __( 'Cyan', 'ayecode-connect' );
1041
-	$theme_colors['gray']      = __( 'Gray', 'ayecode-connect' );
1042
-	$theme_colors['muted']     = __( 'Muted', 'ayecode-connect' );
1043
-	$theme_colors['gray-dark'] = __( 'Gray dark', 'ayecode-connect' );
1044
-	$theme_colors['indigo']    = __( 'Indigo', 'ayecode-connect' );
1045
-	$theme_colors['orange']    = __( 'Orange', 'ayecode-connect' );
1046
-	$theme_colors['body']      = __( 'Body', 'ayecode-connect' );
1028
+	$theme_colors['primary']   = __('Primary', 'ayecode-connect');
1029
+	$theme_colors['secondary'] = __('Secondary', 'ayecode-connect');
1030
+	$theme_colors['success']   = __('Success', 'ayecode-connect');
1031
+	$theme_colors['danger']    = __('Danger', 'ayecode-connect');
1032
+	$theme_colors['warning']   = __('Warning', 'ayecode-connect');
1033
+	$theme_colors['info']      = __('Info', 'ayecode-connect');
1034
+	$theme_colors['light']     = __('Light', 'ayecode-connect');
1035
+	$theme_colors['dark']      = __('Dark', 'ayecode-connect');
1036
+	$theme_colors['black']     = __('Black', 'ayecode-connect');
1037
+	$theme_colors['white']     = __('White', 'ayecode-connect');
1038
+	$theme_colors['purple']    = __('Purple', 'ayecode-connect');
1039
+	$theme_colors['salmon']    = __('Salmon', 'ayecode-connect');
1040
+	$theme_colors['cyan']      = __('Cyan', 'ayecode-connect');
1041
+	$theme_colors['gray']      = __('Gray', 'ayecode-connect');
1042
+	$theme_colors['muted']     = __('Muted', 'ayecode-connect');
1043
+	$theme_colors['gray-dark'] = __('Gray dark', 'ayecode-connect');
1044
+	$theme_colors['indigo']    = __('Indigo', 'ayecode-connect');
1045
+	$theme_colors['orange']    = __('Orange', 'ayecode-connect');
1046
+	$theme_colors['body']      = __('Body', 'ayecode-connect');
1047 1047
 
1048 1048
 
1049 1049
 	// for bg and borders
1050
-	if ( $include_subtle ) {
1051
-		$theme_colors['primary-subtle']   = __( 'Primary Subtle', 'ayecode-connect' );
1052
-		$theme_colors['primary-subtle']   = __( 'Primary Subtle', 'ayecode-connect' );
1053
-		$theme_colors['secondary-subtle'] = __( 'Secondary Subtle', 'ayecode-connect' );
1054
-		$theme_colors['success-subtle']   = __( 'Success Subtle', 'ayecode-connect' );
1055
-		$theme_colors['danger-subtle']    = __( 'Danger Subtle', 'ayecode-connect' );
1056
-		$theme_colors['warning-subtle']   = __( 'Warning Subtle', 'ayecode-connect' );
1057
-		$theme_colors['info-subtle']      = __( 'Info Subtle', 'ayecode-connect' );
1058
-		$theme_colors['light-subtle']     = __( 'Light Subtle', 'ayecode-connect' );
1059
-		$theme_colors['dark-subtle']      = __( 'Dark Subtle', 'ayecode-connect' );
1060
-		$theme_colors['purple-subtle']    = __( 'Purple Subtle', 'ayecode-connect' );
1061
-		$theme_colors['salmon-subtle']    = __( 'Salmon Subtle', 'ayecode-connect' );
1062
-		$theme_colors['cyan-subtle']      = __( 'Cyan Subtle', 'ayecode-connect' );
1063
-		$theme_colors['gray-subtle']      = __( 'Gray Subtle', 'ayecode-connect' );
1064
-		$theme_colors['gray-dark-subtle'] = __( 'Gray dark Subtle', 'ayecode-connect' );
1065
-		$theme_colors['indigo-subtle']    = __( 'Indigo Subtle', 'ayecode-connect' );
1066
-		$theme_colors['orange-subtle']    = __( 'Orange Subtle', 'ayecode-connect' );
1050
+	if ($include_subtle) {
1051
+		$theme_colors['primary-subtle']   = __('Primary Subtle', 'ayecode-connect');
1052
+		$theme_colors['primary-subtle']   = __('Primary Subtle', 'ayecode-connect');
1053
+		$theme_colors['secondary-subtle'] = __('Secondary Subtle', 'ayecode-connect');
1054
+		$theme_colors['success-subtle']   = __('Success Subtle', 'ayecode-connect');
1055
+		$theme_colors['danger-subtle']    = __('Danger Subtle', 'ayecode-connect');
1056
+		$theme_colors['warning-subtle']   = __('Warning Subtle', 'ayecode-connect');
1057
+		$theme_colors['info-subtle']      = __('Info Subtle', 'ayecode-connect');
1058
+		$theme_colors['light-subtle']     = __('Light Subtle', 'ayecode-connect');
1059
+		$theme_colors['dark-subtle']      = __('Dark Subtle', 'ayecode-connect');
1060
+		$theme_colors['purple-subtle']    = __('Purple Subtle', 'ayecode-connect');
1061
+		$theme_colors['salmon-subtle']    = __('Salmon Subtle', 'ayecode-connect');
1062
+		$theme_colors['cyan-subtle']      = __('Cyan Subtle', 'ayecode-connect');
1063
+		$theme_colors['gray-subtle']      = __('Gray Subtle', 'ayecode-connect');
1064
+		$theme_colors['gray-dark-subtle'] = __('Gray dark Subtle', 'ayecode-connect');
1065
+		$theme_colors['indigo-subtle']    = __('Indigo Subtle', 'ayecode-connect');
1066
+		$theme_colors['orange-subtle']    = __('Orange Subtle', 'ayecode-connect');
1067 1067
 	}
1068 1068
 
1069 1069
 	// for texts
1070 1070
 	if ($include_emphasis) {
1071
-		$theme_colors['primary-emphasis']   = __( 'Primary Emphasis', 'ayecode-connect' );
1072
-		$theme_colors['secondary-emphasis'] = __( 'Secondary Emphasis', 'ayecode-connect' );
1073
-		$theme_colors['success-emphasis']   = __( 'Success Emphasis', 'ayecode-connect' );
1074
-		$theme_colors['danger-emphasis']    = __( 'Danger Emphasis', 'ayecode-connect' );
1075
-		$theme_colors['warning-emphasis']   = __( 'Warning Emphasis', 'ayecode-connect' );
1076
-		$theme_colors['info-emphasis']      = __( 'Info Emphasis', 'ayecode-connect' );
1077
-		$theme_colors['light-emphasis']     = __( 'Light Emphasis', 'ayecode-connect' );
1078
-		$theme_colors['dark-emphasis']      = __( 'Dark Emphasis', 'ayecode-connect' );
1079
-		$theme_colors['purple-emphasis']    = __( 'Purple Emphasis', 'ayecode-connect' );
1080
-		$theme_colors['salmon-emphasis']    = __( 'Salmon Emphasis', 'ayecode-connect' );
1081
-		$theme_colors['cyan-emphasis']      = __( 'Cyan Emphasis', 'ayecode-connect' );
1082
-		$theme_colors['gray-emphasis']      = __( 'Gray Emphasis', 'ayecode-connect' );
1083
-		$theme_colors['muted-emphasis']     = __( 'Muted Emphasis', 'ayecode-connect' );
1084
-		$theme_colors['gray-dark-emphasis'] = __( 'Gray dark Emphasis', 'ayecode-connect' );
1085
-		$theme_colors['indigo-emphasis']    = __( 'Indigo Emphasis', 'ayecode-connect' );
1086
-		$theme_colors['orange-emphasis']    = __( 'Orange Emphasis', 'ayecode-connect' );
1087
-	}
1088
-
1089
-	if ( $include_outlines ) {
1090
-		$button_only                       = $outline_button_only_text ? ' ' . __( '(button only)', 'ayecode-connect' ) : '';
1091
-		$theme_colors['outline-primary']   = __( 'Primary outline', 'ayecode-connect' ) . $button_only;
1092
-		$theme_colors['outline-secondary'] = __( 'Secondary outline', 'ayecode-connect' ) . $button_only;
1093
-		$theme_colors['outline-success']   = __( 'Success outline', 'ayecode-connect' ) . $button_only;
1094
-		$theme_colors['outline-danger']    = __( 'Danger outline', 'ayecode-connect' ) . $button_only;
1095
-		$theme_colors['outline-warning']   = __( 'Warning outline', 'ayecode-connect' ) . $button_only;
1096
-		$theme_colors['outline-info']      = __( 'Info outline', 'ayecode-connect' ) . $button_only;
1097
-		$theme_colors['outline-light']     = __( 'Light outline', 'ayecode-connect' ) . $button_only;
1098
-		$theme_colors['outline-dark']      = __( 'Dark outline', 'ayecode-connect' ) . $button_only;
1099
-		$theme_colors['outline-white']     = __( 'White outline', 'ayecode-connect' ) . $button_only;
1100
-		$theme_colors['outline-purple']    = __( 'Purple outline', 'ayecode-connect' ) . $button_only;
1101
-		$theme_colors['outline-salmon']    = __( 'Salmon outline', 'ayecode-connect' ) . $button_only;
1102
-		$theme_colors['outline-cyan']      = __( 'Cyan outline', 'ayecode-connect' ) . $button_only;
1103
-		$theme_colors['outline-gray']      = __( 'Gray outline', 'ayecode-connect' ) . $button_only;
1104
-		$theme_colors['outline-gray-dark'] = __( 'Gray dark outline', 'ayecode-connect' ) . $button_only;
1105
-		$theme_colors['outline-indigo']    = __( 'Indigo outline', 'ayecode-connect' ) . $button_only;
1106
-		$theme_colors['outline-orange']    = __( 'Orange outline', 'ayecode-connect' ) . $button_only;
1107
-	}
1108
-
1109
-	if ( $include_branding ) {
1071
+		$theme_colors['primary-emphasis']   = __('Primary Emphasis', 'ayecode-connect');
1072
+		$theme_colors['secondary-emphasis'] = __('Secondary Emphasis', 'ayecode-connect');
1073
+		$theme_colors['success-emphasis']   = __('Success Emphasis', 'ayecode-connect');
1074
+		$theme_colors['danger-emphasis']    = __('Danger Emphasis', 'ayecode-connect');
1075
+		$theme_colors['warning-emphasis']   = __('Warning Emphasis', 'ayecode-connect');
1076
+		$theme_colors['info-emphasis']      = __('Info Emphasis', 'ayecode-connect');
1077
+		$theme_colors['light-emphasis']     = __('Light Emphasis', 'ayecode-connect');
1078
+		$theme_colors['dark-emphasis']      = __('Dark Emphasis', 'ayecode-connect');
1079
+		$theme_colors['purple-emphasis']    = __('Purple Emphasis', 'ayecode-connect');
1080
+		$theme_colors['salmon-emphasis']    = __('Salmon Emphasis', 'ayecode-connect');
1081
+		$theme_colors['cyan-emphasis']      = __('Cyan Emphasis', 'ayecode-connect');
1082
+		$theme_colors['gray-emphasis']      = __('Gray Emphasis', 'ayecode-connect');
1083
+		$theme_colors['muted-emphasis']     = __('Muted Emphasis', 'ayecode-connect');
1084
+		$theme_colors['gray-dark-emphasis'] = __('Gray dark Emphasis', 'ayecode-connect');
1085
+		$theme_colors['indigo-emphasis']    = __('Indigo Emphasis', 'ayecode-connect');
1086
+		$theme_colors['orange-emphasis']    = __('Orange Emphasis', 'ayecode-connect');
1087
+	}
1088
+
1089
+	if ($include_outlines) {
1090
+		$button_only                       = $outline_button_only_text ? ' ' . __('(button only)', 'ayecode-connect') : '';
1091
+		$theme_colors['outline-primary']   = __('Primary outline', 'ayecode-connect') . $button_only;
1092
+		$theme_colors['outline-secondary'] = __('Secondary outline', 'ayecode-connect') . $button_only;
1093
+		$theme_colors['outline-success']   = __('Success outline', 'ayecode-connect') . $button_only;
1094
+		$theme_colors['outline-danger']    = __('Danger outline', 'ayecode-connect') . $button_only;
1095
+		$theme_colors['outline-warning']   = __('Warning outline', 'ayecode-connect') . $button_only;
1096
+		$theme_colors['outline-info']      = __('Info outline', 'ayecode-connect') . $button_only;
1097
+		$theme_colors['outline-light']     = __('Light outline', 'ayecode-connect') . $button_only;
1098
+		$theme_colors['outline-dark']      = __('Dark outline', 'ayecode-connect') . $button_only;
1099
+		$theme_colors['outline-white']     = __('White outline', 'ayecode-connect') . $button_only;
1100
+		$theme_colors['outline-purple']    = __('Purple outline', 'ayecode-connect') . $button_only;
1101
+		$theme_colors['outline-salmon']    = __('Salmon outline', 'ayecode-connect') . $button_only;
1102
+		$theme_colors['outline-cyan']      = __('Cyan outline', 'ayecode-connect') . $button_only;
1103
+		$theme_colors['outline-gray']      = __('Gray outline', 'ayecode-connect') . $button_only;
1104
+		$theme_colors['outline-gray-dark'] = __('Gray dark outline', 'ayecode-connect') . $button_only;
1105
+		$theme_colors['outline-indigo']    = __('Indigo outline', 'ayecode-connect') . $button_only;
1106
+		$theme_colors['outline-orange']    = __('Orange outline', 'ayecode-connect') . $button_only;
1107
+	}
1108
+
1109
+	if ($include_branding) {
1110 1110
 		$theme_colors = $theme_colors + sd_aui_branding_colors();
1111 1111
 	}
1112 1112
 
1113
-	if ( $include_translucent ) {
1114
-		$button_only                           = $outline_button_only_text ? ' ' . __( '(button only)', 'ayecode-connect' ) : '';
1115
-		$theme_colors['translucent-primary']   = __( 'Primary translucent', 'ayecode-connect' ) . $button_only;
1116
-		$theme_colors['translucent-secondary'] = __( 'Secondary translucent', 'ayecode-connect' ) . $button_only;
1117
-		$theme_colors['translucent-success']   = __( 'Success translucent', 'ayecode-connect' ) . $button_only;
1118
-		$theme_colors['translucent-danger']    = __( 'Danger translucent', 'ayecode-connect' ) . $button_only;
1119
-		$theme_colors['translucent-warning']   = __( 'Warning translucent', 'ayecode-connect' ) . $button_only;
1120
-		$theme_colors['translucent-info']      = __( 'Info translucent', 'ayecode-connect' ) . $button_only;
1121
-		$theme_colors['translucent-light']     = __( 'Light translucent', 'ayecode-connect' ) . $button_only;
1122
-		$theme_colors['translucent-dark']      = __( 'Dark translucent', 'ayecode-connect' ) . $button_only;
1123
-		$theme_colors['translucent-white']     = __( 'White translucent', 'ayecode-connect' ) . $button_only;
1124
-		$theme_colors['translucent-purple']    = __( 'Purple translucent', 'ayecode-connect' ) . $button_only;
1125
-		$theme_colors['translucent-salmon']    = __( 'Salmon translucent', 'ayecode-connect' ) . $button_only;
1126
-		$theme_colors['translucent-cyan']      = __( 'Cyan translucent', 'ayecode-connect' ) . $button_only;
1127
-		$theme_colors['translucent-gray']      = __( 'Gray translucent', 'ayecode-connect' ) . $button_only;
1128
-		$theme_colors['translucent-gray-dark'] = __( 'Gray dark translucent', 'ayecode-connect' ) . $button_only;
1129
-		$theme_colors['translucent-indigo']    = __( 'Indigo translucent', 'ayecode-connect' ) . $button_only;
1130
-		$theme_colors['translucent-orange']    = __( 'Orange translucent', 'ayecode-connect' ) . $button_only;
1113
+	if ($include_translucent) {
1114
+		$button_only                           = $outline_button_only_text ? ' ' . __('(button only)', 'ayecode-connect') : '';
1115
+		$theme_colors['translucent-primary']   = __('Primary translucent', 'ayecode-connect') . $button_only;
1116
+		$theme_colors['translucent-secondary'] = __('Secondary translucent', 'ayecode-connect') . $button_only;
1117
+		$theme_colors['translucent-success']   = __('Success translucent', 'ayecode-connect') . $button_only;
1118
+		$theme_colors['translucent-danger']    = __('Danger translucent', 'ayecode-connect') . $button_only;
1119
+		$theme_colors['translucent-warning']   = __('Warning translucent', 'ayecode-connect') . $button_only;
1120
+		$theme_colors['translucent-info']      = __('Info translucent', 'ayecode-connect') . $button_only;
1121
+		$theme_colors['translucent-light']     = __('Light translucent', 'ayecode-connect') . $button_only;
1122
+		$theme_colors['translucent-dark']      = __('Dark translucent', 'ayecode-connect') . $button_only;
1123
+		$theme_colors['translucent-white']     = __('White translucent', 'ayecode-connect') . $button_only;
1124
+		$theme_colors['translucent-purple']    = __('Purple translucent', 'ayecode-connect') . $button_only;
1125
+		$theme_colors['translucent-salmon']    = __('Salmon translucent', 'ayecode-connect') . $button_only;
1126
+		$theme_colors['translucent-cyan']      = __('Cyan translucent', 'ayecode-connect') . $button_only;
1127
+		$theme_colors['translucent-gray']      = __('Gray translucent', 'ayecode-connect') . $button_only;
1128
+		$theme_colors['translucent-gray-dark'] = __('Gray dark translucent', 'ayecode-connect') . $button_only;
1129
+		$theme_colors['translucent-indigo']    = __('Indigo translucent', 'ayecode-connect') . $button_only;
1130
+		$theme_colors['translucent-orange']    = __('Orange translucent', 'ayecode-connect') . $button_only;
1131 1131
 	}
1132 1132
 
1133
-	return apply_filters( 'sd_aui_colors', $theme_colors, $include_outlines, $include_branding );
1133
+	return apply_filters('sd_aui_colors', $theme_colors, $include_outlines, $include_branding);
1134 1134
 }
1135 1135
 
1136 1136
 /**
@@ -1140,17 +1140,17 @@  discard block
 block discarded – undo
1140 1140
  */
1141 1141
 function sd_aui_branding_colors() {
1142 1142
 	return array(
1143
-		'facebook'  => __( 'Facebook', 'ayecode-connect' ),
1144
-		'twitter'   => __( 'Twitter', 'ayecode-connect' ),
1145
-		'instagram' => __( 'Instagram', 'ayecode-connect' ),
1146
-		'linkedin'  => __( 'Linkedin', 'ayecode-connect' ),
1147
-		'flickr'    => __( 'Flickr', 'ayecode-connect' ),
1148
-		'github'    => __( 'GitHub', 'ayecode-connect' ),
1149
-		'youtube'   => __( 'YouTube', 'ayecode-connect' ),
1150
-		'wordpress' => __( 'WordPress', 'ayecode-connect' ),
1151
-		'google'    => __( 'Google', 'ayecode-connect' ),
1152
-		'yahoo'     => __( 'Yahoo', 'ayecode-connect' ),
1153
-		'vkontakte' => __( 'Vkontakte', 'ayecode-connect' ),
1143
+		'facebook'  => __('Facebook', 'ayecode-connect'),
1144
+		'twitter'   => __('Twitter', 'ayecode-connect'),
1145
+		'instagram' => __('Instagram', 'ayecode-connect'),
1146
+		'linkedin'  => __('Linkedin', 'ayecode-connect'),
1147
+		'flickr'    => __('Flickr', 'ayecode-connect'),
1148
+		'github'    => __('GitHub', 'ayecode-connect'),
1149
+		'youtube'   => __('YouTube', 'ayecode-connect'),
1150
+		'wordpress' => __('WordPress', 'ayecode-connect'),
1151
+		'google'    => __('Google', 'ayecode-connect'),
1152
+		'yahoo'     => __('Yahoo', 'ayecode-connect'),
1153
+		'vkontakte' => __('Vkontakte', 'ayecode-connect'),
1154 1154
 	);
1155 1155
 }
1156 1156
 
@@ -1163,10 +1163,10 @@  discard block
 block discarded – undo
1163 1163
  *
1164 1164
  * @return array
1165 1165
  */
1166
-function sd_get_container_class_input( $type = 'container', $overwrite = array() ) {
1166
+function sd_get_container_class_input($type = 'container', $overwrite = array()) {
1167 1167
 
1168 1168
 	$options = array(
1169
-		'container'       => __( 'container (default)', 'ayecode-connect' ),
1169
+		'container'       => __('container (default)', 'ayecode-connect'),
1170 1170
 		'container-sm'    => 'container-sm',
1171 1171
 		'container-md'    => 'container-md',
1172 1172
 		'container-lg'    => 'container-lg',
@@ -1182,19 +1182,19 @@  discard block
 block discarded – undo
1182 1182
 		'card-footer'     => 'card-footer',
1183 1183
 		'list-group'      => 'list-group',
1184 1184
 		'list-group-item' => 'list-group-item',
1185
-		''                => __( 'no container class', 'ayecode-connect' ),
1185
+		''                => __('no container class', 'ayecode-connect'),
1186 1186
 	);
1187 1187
 
1188 1188
 	$defaults = array(
1189 1189
 		'type'     => 'select',
1190
-		'title'    => __( 'Type', 'ayecode-connect' ),
1190
+		'title'    => __('Type', 'ayecode-connect'),
1191 1191
 		'options'  => $options,
1192 1192
 		'default'  => '',
1193 1193
 		'desc_tip' => true,
1194
-		'group'    => __( 'Container', 'ayecode-connect' ),
1194
+		'group'    => __('Container', 'ayecode-connect'),
1195 1195
 	);
1196 1196
 
1197
-	$input = wp_parse_args( $overwrite, $defaults );
1197
+	$input = wp_parse_args($overwrite, $defaults);
1198 1198
 
1199 1199
 	return $input;
1200 1200
 }
@@ -1207,10 +1207,10 @@  discard block
 block discarded – undo
1207 1207
  *
1208 1208
  * @return array
1209 1209
  */
1210
-function sd_get_position_class_input( $type = 'position', $overwrite = array() ) {
1210
+function sd_get_position_class_input($type = 'position', $overwrite = array()) {
1211 1211
 
1212 1212
 	$options = array(
1213
-		''                  => __( 'Default', 'ayecode-connect' ),
1213
+		''                  => __('Default', 'ayecode-connect'),
1214 1214
 		'position-static'   => 'static',
1215 1215
 		'position-relative' => 'relative',
1216 1216
 		'position-absolute' => 'absolute',
@@ -1223,14 +1223,14 @@  discard block
 block discarded – undo
1223 1223
 
1224 1224
 	$defaults = array(
1225 1225
 		'type'     => 'select',
1226
-		'title'    => __( 'Position', 'ayecode-connect' ),
1226
+		'title'    => __('Position', 'ayecode-connect'),
1227 1227
 		'options'  => $options,
1228 1228
 		'default'  => '',
1229 1229
 		'desc_tip' => true,
1230
-		'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
1230
+		'group'    => __('Wrapper Styles', 'ayecode-connect'),
1231 1231
 	);
1232 1232
 
1233
-	$input = wp_parse_args( $overwrite, $defaults );
1233
+	$input = wp_parse_args($overwrite, $defaults);
1234 1234
 
1235 1235
 	return $input;
1236 1236
 }
@@ -1241,10 +1241,10 @@  discard block
 block discarded – undo
1241 1241
  *
1242 1242
  * @return array
1243 1243
  */
1244
-function sd_get_absolute_position_input( $type = 'absolute_position', $overwrite = array() ) {
1244
+function sd_get_absolute_position_input($type = 'absolute_position', $overwrite = array()) {
1245 1245
 
1246 1246
 	$options = array(
1247
-		''              => __( 'Default', 'ayecode-connect' ),
1247
+		''              => __('Default', 'ayecode-connect'),
1248 1248
 		'top-left'      => 'top-left',
1249 1249
 		'top-center'    => 'top-center',
1250 1250
 		'top-right'     => 'top-right',
@@ -1258,15 +1258,15 @@  discard block
 block discarded – undo
1258 1258
 
1259 1259
 	$defaults = array(
1260 1260
 		'type'            => 'select',
1261
-		'title'           => __( 'Absolute Position', 'ayecode-connect' ),
1261
+		'title'           => __('Absolute Position', 'ayecode-connect'),
1262 1262
 		'options'         => $options,
1263 1263
 		'default'         => '',
1264 1264
 		'desc_tip'        => true,
1265
-		'group'           => __( 'Wrapper Styles', 'ayecode-connect' ),
1265
+		'group'           => __('Wrapper Styles', 'ayecode-connect'),
1266 1266
 		'element_require' => '[%position%]=="position-absolute"',
1267 1267
 	);
1268 1268
 
1269
-	$input = wp_parse_args( $overwrite, $defaults );
1269
+	$input = wp_parse_args($overwrite, $defaults);
1270 1270
 
1271 1271
 	return $input;
1272 1272
 }
@@ -1279,30 +1279,30 @@  discard block
 block discarded – undo
1279 1279
  *
1280 1280
  * @return array
1281 1281
  */
1282
-function sd_get_sticky_offset_input( $type = 'top', $overwrite = array() ) {
1282
+function sd_get_sticky_offset_input($type = 'top', $overwrite = array()) {
1283 1283
 
1284 1284
 	$defaults = array(
1285 1285
 		'type'            => 'number',
1286
-		'title'           => __( 'Sticky offset', 'ayecode-connect' ),
1286
+		'title'           => __('Sticky offset', 'ayecode-connect'),
1287 1287
 		//'desc' =>  __( 'Sticky offset', 'ayecode-connect' ),
1288 1288
 		'default'         => '',
1289 1289
 		'desc_tip'        => true,
1290
-		'group'           => __( 'Wrapper Styles', 'ayecode-connect' ),
1290
+		'group'           => __('Wrapper Styles', 'ayecode-connect'),
1291 1291
 		'element_require' => '[%position%]=="sticky" || [%position%]=="sticky-top"',
1292 1292
 	);
1293 1293
 
1294 1294
 	// title
1295
-	if ( $type == 'top' ) {
1296
-		$defaults['title'] = __( 'Top offset', 'ayecode-connect' );
1295
+	if ($type == 'top') {
1296
+		$defaults['title'] = __('Top offset', 'ayecode-connect');
1297 1297
 		$defaults['icon']  = 'box-top';
1298 1298
 		$defaults['row']   = array(
1299
-			'title' => __( 'Sticky offset', 'ayecode-connect' ),
1299
+			'title' => __('Sticky offset', 'ayecode-connect'),
1300 1300
 			'key'   => 'sticky-offset',
1301 1301
 			'open'  => true,
1302 1302
 			'class' => 'text-center',
1303 1303
 		);
1304
-	} elseif ( $type == 'bottom' ) {
1305
-		$defaults['title'] = __( 'Bottom offset', 'ayecode-connect' );
1304
+	} elseif ($type == 'bottom') {
1305
+		$defaults['title'] = __('Bottom offset', 'ayecode-connect');
1306 1306
 		$defaults['icon']  = 'box-bottom';
1307 1307
 		$defaults['row']   = array(
1308 1308
 			'key'   => 'sticky-offset',
@@ -1310,7 +1310,7 @@  discard block
 block discarded – undo
1310 1310
 		);
1311 1311
 	}
1312 1312
 
1313
-	$input = wp_parse_args( $overwrite, $defaults );
1313
+	$input = wp_parse_args($overwrite, $defaults);
1314 1314
 
1315 1315
 	return $input;
1316 1316
 }
@@ -1323,11 +1323,11 @@  discard block
 block discarded – undo
1323 1323
  *
1324 1324
  * @return array
1325 1325
  */
1326
-function sd_get_font_size_input( $type = 'font_size', $overwrite = array(), $has_custom = false ) {
1326
+function sd_get_font_size_input($type = 'font_size', $overwrite = array(), $has_custom = false) {
1327 1327
 	global $aui_bs5;
1328 1328
 
1329
-	$options[] = __( 'Inherit from parent', 'ayecode-connect' );
1330
-	if ( $aui_bs5 ) {
1329
+	$options[] = __('Inherit from parent', 'ayecode-connect');
1330
+	if ($aui_bs5) {
1331 1331
 		// responsive font sizes
1332 1332
 		$options['fs-base'] = 'fs-base (body default)';
1333 1333
 		$options['fs-6']    = 'fs-6';
@@ -1358,25 +1358,25 @@  discard block
 block discarded – undo
1358 1358
 			'display-4' => 'display-4',
1359 1359
 		);
1360 1360
 
1361
-	if ( $aui_bs5 ) {
1361
+	if ($aui_bs5) {
1362 1362
 		$options['display-5'] = 'display-5';
1363 1363
 		$options['display-6'] = 'display-6';
1364 1364
 	}
1365 1365
 
1366
-	if ( $has_custom ) {
1367
-		$options['custom'] = __( 'Custom size', 'ayecode-connect' );
1366
+	if ($has_custom) {
1367
+		$options['custom'] = __('Custom size', 'ayecode-connect');
1368 1368
 	}
1369 1369
 
1370 1370
 	$defaults = array(
1371 1371
 		'type'     => 'select',
1372
-		'title'    => __( 'Font size', 'ayecode-connect' ),
1372
+		'title'    => __('Font size', 'ayecode-connect'),
1373 1373
 		'options'  => $options,
1374 1374
 		'default'  => '',
1375 1375
 		'desc_tip' => true,
1376
-		'group'    => __( 'Typography', 'ayecode-connect' ),
1376
+		'group'    => __('Typography', 'ayecode-connect'),
1377 1377
 	);
1378 1378
 
1379
-	$input = wp_parse_args( $overwrite, $defaults );
1379
+	$input = wp_parse_args($overwrite, $defaults);
1380 1380
 
1381 1381
 	return $input;
1382 1382
 }
@@ -1389,11 +1389,11 @@  discard block
 block discarded – undo
1389 1389
  *
1390 1390
  * @return array
1391 1391
  */
1392
-function sd_get_font_custom_size_input( $type = 'font_size_custom', $overwrite = array(), $parent_type = '' ) {
1392
+function sd_get_font_custom_size_input($type = 'font_size_custom', $overwrite = array(), $parent_type = '') {
1393 1393
 
1394 1394
 	$defaults = array(
1395 1395
 		'type'              => 'number',
1396
-		'title'             => __( 'Font size (rem)', 'ayecode-connect' ),
1396
+		'title'             => __('Font size (rem)', 'ayecode-connect'),
1397 1397
 		'default'           => '',
1398 1398
 		'placeholder'       => '1.25',
1399 1399
 		'custom_attributes' => array(
@@ -1402,14 +1402,14 @@  discard block
 block discarded – undo
1402 1402
 			'max'  => '100',
1403 1403
 		),
1404 1404
 		'desc_tip'          => true,
1405
-		'group'             => __( 'Typography', 'ayecode-connect' ),
1405
+		'group'             => __('Typography', 'ayecode-connect'),
1406 1406
 	);
1407 1407
 
1408
-	if ( $parent_type ) {
1408
+	if ($parent_type) {
1409 1409
 		$defaults['element_require'] = '[%' . $parent_type . '%]=="custom"';
1410 1410
 	}
1411 1411
 
1412
-	$input = wp_parse_args( $overwrite, $defaults );
1412
+	$input = wp_parse_args($overwrite, $defaults);
1413 1413
 
1414 1414
 	return $input;
1415 1415
 }
@@ -1422,11 +1422,11 @@  discard block
 block discarded – undo
1422 1422
  *
1423 1423
  * @return array
1424 1424
  */
1425
-function sd_get_font_line_height_input( $type = 'font_line_height', $overwrite = array() ) {
1425
+function sd_get_font_line_height_input($type = 'font_line_height', $overwrite = array()) {
1426 1426
 
1427 1427
 	$defaults = array(
1428 1428
 		'type'              => 'number',
1429
-		'title'             => __( 'Font Line Height', 'ayecode-connect' ),
1429
+		'title'             => __('Font Line Height', 'ayecode-connect'),
1430 1430
 		'default'           => '',
1431 1431
 		'placeholder'       => '1.75',
1432 1432
 		'custom_attributes' => array(
@@ -1435,10 +1435,10 @@  discard block
 block discarded – undo
1435 1435
 			'max'  => '100',
1436 1436
 		),
1437 1437
 		'desc_tip'          => true,
1438
-		'group'             => __( 'Typography', 'ayecode-connect' ),
1438
+		'group'             => __('Typography', 'ayecode-connect'),
1439 1439
 	);
1440 1440
 
1441
-	$input = wp_parse_args( $overwrite, $defaults );
1441
+	$input = wp_parse_args($overwrite, $defaults);
1442 1442
 
1443 1443
 	return $input;
1444 1444
 }
@@ -1451,17 +1451,17 @@  discard block
 block discarded – undo
1451 1451
  *
1452 1452
  * @return array
1453 1453
  */
1454
-function sd_get_font_size_input_group( $type = 'font_size', $overwrite = array(), $overwrite_custom = array() ) {
1454
+function sd_get_font_size_input_group($type = 'font_size', $overwrite = array(), $overwrite_custom = array()) {
1455 1455
 
1456 1456
 	$inputs = array();
1457 1457
 
1458
-	if ( $overwrite !== false ) {
1459
-		$inputs[ $type ] = sd_get_font_size_input( $type, $overwrite, true );
1458
+	if ($overwrite !== false) {
1459
+		$inputs[$type] = sd_get_font_size_input($type, $overwrite, true);
1460 1460
 	}
1461 1461
 
1462
-	if ( $overwrite_custom !== false ) {
1462
+	if ($overwrite_custom !== false) {
1463 1463
 		$custom            = $type . '_custom';
1464
-		$inputs[ $custom ] = sd_get_font_custom_size_input( $custom, $overwrite_custom, $type );
1464
+		$inputs[$custom] = sd_get_font_custom_size_input($custom, $overwrite_custom, $type);
1465 1465
 	}
1466 1466
 
1467 1467
 	return $inputs;
@@ -1475,10 +1475,10 @@  discard block
 block discarded – undo
1475 1475
  *
1476 1476
  * @return array
1477 1477
  */
1478
-function sd_get_font_weight_input( $type = 'font_weight', $overwrite = array() ) {
1478
+function sd_get_font_weight_input($type = 'font_weight', $overwrite = array()) {
1479 1479
 
1480 1480
 	$options = array(
1481
-		''                                => __( 'Inherit', 'ayecode-connect' ),
1481
+		''                                => __('Inherit', 'ayecode-connect'),
1482 1482
 		'font-weight-bold'                => 'bold',
1483 1483
 		'font-weight-bolder'              => 'bolder',
1484 1484
 		'font-weight-normal'              => 'normal',
@@ -1494,14 +1494,14 @@  discard block
 block discarded – undo
1494 1494
 
1495 1495
 	$defaults = array(
1496 1496
 		'type'     => 'select',
1497
-		'title'    => __( 'Appearance', 'ayecode-connect' ),
1497
+		'title'    => __('Appearance', 'ayecode-connect'),
1498 1498
 		'options'  => $options,
1499 1499
 		'default'  => '',
1500 1500
 		'desc_tip' => true,
1501
-		'group'    => __( 'Typography', 'ayecode-connect' ),
1501
+		'group'    => __('Typography', 'ayecode-connect'),
1502 1502
 	);
1503 1503
 
1504
-	$input = wp_parse_args( $overwrite, $defaults );
1504
+	$input = wp_parse_args($overwrite, $defaults);
1505 1505
 
1506 1506
 	return $input;
1507 1507
 }
@@ -1514,25 +1514,25 @@  discard block
 block discarded – undo
1514 1514
  *
1515 1515
  * @return array
1516 1516
  */
1517
-function sd_get_font_case_input( $type = 'font_weight', $overwrite = array() ) {
1517
+function sd_get_font_case_input($type = 'font_weight', $overwrite = array()) {
1518 1518
 
1519 1519
 	$options = array(
1520
-		''                => __( 'Default', 'ayecode-connect' ),
1521
-		'text-lowercase'  => __( 'lowercase', 'ayecode-connect' ),
1522
-		'text-uppercase'  => __( 'UPPERCASE', 'ayecode-connect' ),
1523
-		'text-capitalize' => __( 'Capitalize', 'ayecode-connect' ),
1520
+		''                => __('Default', 'ayecode-connect'),
1521
+		'text-lowercase'  => __('lowercase', 'ayecode-connect'),
1522
+		'text-uppercase'  => __('UPPERCASE', 'ayecode-connect'),
1523
+		'text-capitalize' => __('Capitalize', 'ayecode-connect'),
1524 1524
 	);
1525 1525
 
1526 1526
 	$defaults = array(
1527 1527
 		'type'     => 'select',
1528
-		'title'    => __( 'Letter case', 'ayecode-connect' ),
1528
+		'title'    => __('Letter case', 'ayecode-connect'),
1529 1529
 		'options'  => $options,
1530 1530
 		'default'  => '',
1531 1531
 		'desc_tip' => true,
1532
-		'group'    => __( 'Typography', 'ayecode-connect' ),
1532
+		'group'    => __('Typography', 'ayecode-connect'),
1533 1533
 	);
1534 1534
 
1535
-	$input = wp_parse_args( $overwrite, $defaults );
1535
+	$input = wp_parse_args($overwrite, $defaults);
1536 1536
 
1537 1537
 	return $input;
1538 1538
 }
@@ -1546,23 +1546,23 @@  discard block
 block discarded – undo
1546 1546
  * A helper function for font size
1547 1547
  *
1548 1548
  */
1549
-function sd_get_font_italic_input( $type = 'font_italic', $overwrite = array() ) {
1549
+function sd_get_font_italic_input($type = 'font_italic', $overwrite = array()) {
1550 1550
 
1551 1551
 	$options = array(
1552
-		''            => __( 'No', 'ayecode-connect' ),
1553
-		'font-italic' => __( 'Yes', 'ayecode-connect' ),
1552
+		''            => __('No', 'ayecode-connect'),
1553
+		'font-italic' => __('Yes', 'ayecode-connect'),
1554 1554
 	);
1555 1555
 
1556 1556
 	$defaults = array(
1557 1557
 		'type'     => 'select',
1558
-		'title'    => __( 'Font italic', 'ayecode-connect' ),
1558
+		'title'    => __('Font italic', 'ayecode-connect'),
1559 1559
 		'options'  => $options,
1560 1560
 		'default'  => '',
1561 1561
 		'desc_tip' => true,
1562
-		'group'    => __( 'Typography', 'ayecode-connect' ),
1562
+		'group'    => __('Typography', 'ayecode-connect'),
1563 1563
 	);
1564 1564
 
1565
-	$input = wp_parse_args( $overwrite, $defaults );
1565
+	$input = wp_parse_args($overwrite, $defaults);
1566 1566
 
1567 1567
 	return $input;
1568 1568
 }
@@ -1575,18 +1575,18 @@  discard block
 block discarded – undo
1575 1575
  *
1576 1576
  * @return array
1577 1577
  */
1578
-function sd_get_anchor_input( $type = 'anchor', $overwrite = array() ) {
1578
+function sd_get_anchor_input($type = 'anchor', $overwrite = array()) {
1579 1579
 
1580 1580
 	$defaults = array(
1581 1581
 		'type'     => 'text',
1582
-		'title'    => __( 'HTML anchor', 'ayecode-connect' ),
1583
-		'desc'     => __( 'Enter a word or two — without spaces — to make a unique web address just for this block, called an “anchor.” Then, you’ll be able to link directly to this section of your page.', 'ayecode-connect' ),
1582
+		'title'    => __('HTML anchor', 'ayecode-connect'),
1583
+		'desc'     => __('Enter a word or two — without spaces — to make a unique web address just for this block, called an “anchor.” Then, you’ll be able to link directly to this section of your page.', 'ayecode-connect'),
1584 1584
 		'default'  => '',
1585 1585
 		'desc_tip' => true,
1586
-		'group'    => __( 'Advanced', 'ayecode-connect' ),
1586
+		'group'    => __('Advanced', 'ayecode-connect'),
1587 1587
 	);
1588 1588
 
1589
-	$input = wp_parse_args( $overwrite, $defaults );
1589
+	$input = wp_parse_args($overwrite, $defaults);
1590 1590
 
1591 1591
 	return $input;
1592 1592
 }
@@ -1599,18 +1599,18 @@  discard block
 block discarded – undo
1599 1599
  *
1600 1600
  * @return array
1601 1601
  */
1602
-function sd_get_class_input( $type = 'css_class', $overwrite = array() ) {
1602
+function sd_get_class_input($type = 'css_class', $overwrite = array()) {
1603 1603
 
1604 1604
 	$defaults = array(
1605 1605
 		'type'     => 'text',
1606
-		'title'    => __( 'Additional CSS class(es)', 'ayecode-connect' ),
1607
-		'desc'     => __( 'Separate multiple classes with spaces.', 'ayecode-connect' ),
1606
+		'title'    => __('Additional CSS class(es)', 'ayecode-connect'),
1607
+		'desc'     => __('Separate multiple classes with spaces.', 'ayecode-connect'),
1608 1608
 		'default'  => '',
1609 1609
 		'desc_tip' => true,
1610
-		'group'    => __( 'Advanced', 'ayecode-connect' ),
1610
+		'group'    => __('Advanced', 'ayecode-connect'),
1611 1611
 	);
1612 1612
 
1613
-	$input = wp_parse_args( $overwrite, $defaults );
1613
+	$input = wp_parse_args($overwrite, $defaults);
1614 1614
 
1615 1615
 	return $input;
1616 1616
 }
@@ -1623,18 +1623,18 @@  discard block
 block discarded – undo
1623 1623
  *
1624 1624
  * @return array
1625 1625
  */
1626
-function sd_get_custom_name_input( $type = 'metadata_name', $overwrite = array() ) {
1626
+function sd_get_custom_name_input($type = 'metadata_name', $overwrite = array()) {
1627 1627
 
1628 1628
 	$defaults = array(
1629 1629
 		'type'     => 'text',
1630
-		'title'    => __( 'Block Name', 'ayecode-connect' ),
1631
-		'desc'     => __( 'Set a custom name for this block', 'ayecode-connect' ),
1630
+		'title'    => __('Block Name', 'ayecode-connect'),
1631
+		'desc'     => __('Set a custom name for this block', 'ayecode-connect'),
1632 1632
 		'default'  => '',
1633 1633
 		'desc_tip' => true,
1634
-		'group'    => __( 'Advanced', 'ayecode-connect' ),
1634
+		'group'    => __('Advanced', 'ayecode-connect'),
1635 1635
 	);
1636 1636
 
1637
-	$input = wp_parse_args( $overwrite, $defaults );
1637
+	$input = wp_parse_args($overwrite, $defaults);
1638 1638
 
1639 1639
 	return $input;
1640 1640
 }
@@ -1647,45 +1647,45 @@  discard block
 block discarded – undo
1647 1647
  *
1648 1648
  * @return array
1649 1649
  */
1650
-function sd_get_hover_animations_input( $type = 'hover_animations', $overwrite = array() ) {
1650
+function sd_get_hover_animations_input($type = 'hover_animations', $overwrite = array()) {
1651 1651
 
1652 1652
 	$options = array(
1653
-		''                 => __( 'none', 'ayecode-connect' ),
1654
-		'hover-zoom'       => __( 'Zoom', 'ayecode-connect' ),
1655
-		'hover-shadow'     => __( 'Shadow', 'ayecode-connect' ),
1656
-		'hover-move-up'    => __( 'Move up', 'ayecode-connect' ),
1657
-		'hover-move-down'  => __( 'Move down', 'ayecode-connect' ),
1658
-		'hover-move-left'  => __( 'Move left', 'ayecode-connect' ),
1659
-		'hover-move-right' => __( 'Move right', 'ayecode-connect' ),
1653
+		''                 => __('none', 'ayecode-connect'),
1654
+		'hover-zoom'       => __('Zoom', 'ayecode-connect'),
1655
+		'hover-shadow'     => __('Shadow', 'ayecode-connect'),
1656
+		'hover-move-up'    => __('Move up', 'ayecode-connect'),
1657
+		'hover-move-down'  => __('Move down', 'ayecode-connect'),
1658
+		'hover-move-left'  => __('Move left', 'ayecode-connect'),
1659
+		'hover-move-right' => __('Move right', 'ayecode-connect'),
1660 1660
 	);
1661 1661
 
1662 1662
 	$defaults = array(
1663 1663
 		'type'     => 'select',
1664 1664
 		'multiple' => true,
1665
-		'title'    => __( 'Hover Animations', 'ayecode-connect' ),
1665
+		'title'    => __('Hover Animations', 'ayecode-connect'),
1666 1666
 		'options'  => $options,
1667 1667
 		'default'  => '',
1668 1668
 		'desc_tip' => true,
1669
-		'group'    => __( 'Hover Animations', 'ayecode-connect' ),
1669
+		'group'    => __('Hover Animations', 'ayecode-connect'),
1670 1670
 	);
1671 1671
 
1672
-	$input = wp_parse_args( $overwrite, $defaults );
1672
+	$input = wp_parse_args($overwrite, $defaults);
1673 1673
 
1674 1674
 	return $input;
1675 1675
 }
1676 1676
 
1677 1677
 
1678
-function sd_get_flex_align_items_input( $type = 'align-items', $overwrite = array() ) {
1678
+function sd_get_flex_align_items_input($type = 'align-items', $overwrite = array()) {
1679 1679
 	$device_size = '';
1680
-	if ( ! empty( $overwrite['device_type'] ) ) {
1681
-		if ( $overwrite['device_type'] == 'Tablet' ) {
1680
+	if (!empty($overwrite['device_type'])) {
1681
+		if ($overwrite['device_type'] == 'Tablet') {
1682 1682
 			$device_size = '-md';
1683
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
1683
+		} elseif ($overwrite['device_type'] == 'Desktop') {
1684 1684
 			$device_size = '-lg';
1685 1685
 		}
1686 1686
 	}
1687 1687
 	$options = array(
1688
-		''                                         => __( 'Default', 'ayecode-connect' ),
1688
+		''                                         => __('Default', 'ayecode-connect'),
1689 1689
 		'align-items' . $device_size . '-start'    => 'align-items-start',
1690 1690
 		'align-items' . $device_size . '-end'      => 'align-items-end',
1691 1691
 		'align-items' . $device_size . '-center'   => 'align-items-center',
@@ -1695,21 +1695,21 @@  discard block
 block discarded – undo
1695 1695
 
1696 1696
 	$defaults = array(
1697 1697
 		'type'            => 'select',
1698
-		'title'           => __( 'Vertical Align Items', 'ayecode-connect' ),
1698
+		'title'           => __('Vertical Align Items', 'ayecode-connect'),
1699 1699
 		'options'         => $options,
1700 1700
 		'default'         => '',
1701 1701
 		'desc_tip'        => true,
1702
-		'group'           => __( 'Wrapper Styles', 'ayecode-connect' ),
1702
+		'group'           => __('Wrapper Styles', 'ayecode-connect'),
1703 1703
 		'element_require' => ' ( ( [%container%]=="row" ) || ( [%display%]=="d-flex" || [%display_md%]=="d-md-flex" || [%display_lg%]=="d-lg-flex" ) ) ',
1704 1704
 
1705 1705
 	);
1706 1706
 
1707
-	$input = wp_parse_args( $overwrite, $defaults );
1707
+	$input = wp_parse_args($overwrite, $defaults);
1708 1708
 
1709 1709
 	return $input;
1710 1710
 }
1711 1711
 
1712
-function sd_get_flex_align_items_input_group( $type = 'flex_align_items', $overwrite = array() ) {
1712
+function sd_get_flex_align_items_input_group($type = 'flex_align_items', $overwrite = array()) {
1713 1713
 	$inputs = array();
1714 1714
 	$sizes  = array(
1715 1715
 		''    => 'Mobile',
@@ -1717,28 +1717,28 @@  discard block
 block discarded – undo
1717 1717
 		'_lg' => 'Desktop',
1718 1718
 	);
1719 1719
 
1720
-	if ( $overwrite !== false ) {
1720
+	if ($overwrite !== false) {
1721 1721
 
1722
-		foreach ( $sizes as $ds => $dt ) {
1722
+		foreach ($sizes as $ds => $dt) {
1723 1723
 			$overwrite['device_type'] = $dt;
1724
-			$inputs[ $type . $ds ]    = sd_get_flex_align_items_input( $type, $overwrite );
1724
+			$inputs[$type . $ds]    = sd_get_flex_align_items_input($type, $overwrite);
1725 1725
 		}
1726 1726
 	}
1727 1727
 
1728 1728
 	return $inputs;
1729 1729
 }
1730 1730
 
1731
-function sd_get_flex_justify_content_input( $type = 'flex_justify_content', $overwrite = array() ) {
1731
+function sd_get_flex_justify_content_input($type = 'flex_justify_content', $overwrite = array()) {
1732 1732
 	$device_size = '';
1733
-	if ( ! empty( $overwrite['device_type'] ) ) {
1734
-		if ( $overwrite['device_type'] == 'Tablet' ) {
1733
+	if (!empty($overwrite['device_type'])) {
1734
+		if ($overwrite['device_type'] == 'Tablet') {
1735 1735
 			$device_size = '-md';
1736
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
1736
+		} elseif ($overwrite['device_type'] == 'Desktop') {
1737 1737
 			$device_size = '-lg';
1738 1738
 		}
1739 1739
 	}
1740 1740
 	$options = array(
1741
-		''                                            => __( 'Default', 'ayecode-connect' ),
1741
+		''                                            => __('Default', 'ayecode-connect'),
1742 1742
 		'justify-content' . $device_size . '-start'   => 'justify-content-start',
1743 1743
 		'justify-content' . $device_size . '-end'     => 'justify-content-end',
1744 1744
 		'justify-content' . $device_size . '-center'  => 'justify-content-center',
@@ -1748,21 +1748,21 @@  discard block
 block discarded – undo
1748 1748
 
1749 1749
 	$defaults = array(
1750 1750
 		'type'            => 'select',
1751
-		'title'           => __( 'Justify content', 'ayecode-connect' ),
1751
+		'title'           => __('Justify content', 'ayecode-connect'),
1752 1752
 		'options'         => $options,
1753 1753
 		'default'         => '',
1754 1754
 		'desc_tip'        => true,
1755
-		'group'           => __( 'Wrapper Styles', 'ayecode-connect' ),
1755
+		'group'           => __('Wrapper Styles', 'ayecode-connect'),
1756 1756
 		'element_require' => '( ( [%container%]=="row" ) || ( [%display%]=="d-flex" || [%display_md%]=="d-md-flex" || [%display_lg%]=="d-lg-flex" ) ) ',
1757 1757
 
1758 1758
 	);
1759 1759
 
1760
-	$input = wp_parse_args( $overwrite, $defaults );
1760
+	$input = wp_parse_args($overwrite, $defaults);
1761 1761
 
1762 1762
 	return $input;
1763 1763
 }
1764 1764
 
1765
-function sd_get_flex_justify_content_input_group( $type = 'flex_justify_content', $overwrite = array() ) {
1765
+function sd_get_flex_justify_content_input_group($type = 'flex_justify_content', $overwrite = array()) {
1766 1766
 	$inputs = array();
1767 1767
 	$sizes  = array(
1768 1768
 		''    => 'Mobile',
@@ -1770,11 +1770,11 @@  discard block
 block discarded – undo
1770 1770
 		'_lg' => 'Desktop',
1771 1771
 	);
1772 1772
 
1773
-	if ( $overwrite !== false ) {
1773
+	if ($overwrite !== false) {
1774 1774
 
1775
-		foreach ( $sizes as $ds => $dt ) {
1775
+		foreach ($sizes as $ds => $dt) {
1776 1776
 			$overwrite['device_type'] = $dt;
1777
-			$inputs[ $type . $ds ]    = sd_get_flex_justify_content_input( $type, $overwrite );
1777
+			$inputs[$type . $ds]    = sd_get_flex_justify_content_input($type, $overwrite);
1778 1778
 		}
1779 1779
 	}
1780 1780
 
@@ -1782,17 +1782,17 @@  discard block
 block discarded – undo
1782 1782
 }
1783 1783
 
1784 1784
 
1785
-function sd_get_flex_align_self_input( $type = 'flex_align_self', $overwrite = array() ) {
1785
+function sd_get_flex_align_self_input($type = 'flex_align_self', $overwrite = array()) {
1786 1786
 	$device_size = '';
1787
-	if ( ! empty( $overwrite['device_type'] ) ) {
1788
-		if ( $overwrite['device_type'] == 'Tablet' ) {
1787
+	if (!empty($overwrite['device_type'])) {
1788
+		if ($overwrite['device_type'] == 'Tablet') {
1789 1789
 			$device_size = '-md';
1790
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
1790
+		} elseif ($overwrite['device_type'] == 'Desktop') {
1791 1791
 			$device_size = '-lg';
1792 1792
 		}
1793 1793
 	}
1794 1794
 	$options = array(
1795
-		''                                         => __( 'Default', 'ayecode-connect' ),
1795
+		''                                         => __('Default', 'ayecode-connect'),
1796 1796
 		'align-items' . $device_size . '-start'    => 'align-items-start',
1797 1797
 		'align-items' . $device_size . '-end'      => 'align-items-end',
1798 1798
 		'align-items' . $device_size . '-center'   => 'align-items-center',
@@ -1802,21 +1802,21 @@  discard block
 block discarded – undo
1802 1802
 
1803 1803
 	$defaults = array(
1804 1804
 		'type'            => 'select',
1805
-		'title'           => __( 'Align Self', 'ayecode-connect' ),
1805
+		'title'           => __('Align Self', 'ayecode-connect'),
1806 1806
 		'options'         => $options,
1807 1807
 		'default'         => '',
1808 1808
 		'desc_tip'        => true,
1809
-		'group'           => __( 'Wrapper Styles', 'ayecode-connect' ),
1809
+		'group'           => __('Wrapper Styles', 'ayecode-connect'),
1810 1810
 		'element_require' => ' [%container%]=="col" ',
1811 1811
 
1812 1812
 	);
1813 1813
 
1814
-	$input = wp_parse_args( $overwrite, $defaults );
1814
+	$input = wp_parse_args($overwrite, $defaults);
1815 1815
 
1816 1816
 	return $input;
1817 1817
 }
1818 1818
 
1819
-function sd_get_flex_align_self_input_group( $type = 'flex_align_self', $overwrite = array() ) {
1819
+function sd_get_flex_align_self_input_group($type = 'flex_align_self', $overwrite = array()) {
1820 1820
 	$inputs = array();
1821 1821
 	$sizes  = array(
1822 1822
 		''    => 'Mobile',
@@ -1824,53 +1824,53 @@  discard block
 block discarded – undo
1824 1824
 		'_lg' => 'Desktop',
1825 1825
 	);
1826 1826
 
1827
-	if ( $overwrite !== false ) {
1827
+	if ($overwrite !== false) {
1828 1828
 
1829
-		foreach ( $sizes as $ds => $dt ) {
1829
+		foreach ($sizes as $ds => $dt) {
1830 1830
 			$overwrite['device_type'] = $dt;
1831
-			$inputs[ $type . $ds ]    = sd_get_flex_align_self_input( $type, $overwrite );
1831
+			$inputs[$type . $ds]    = sd_get_flex_align_self_input($type, $overwrite);
1832 1832
 		}
1833 1833
 	}
1834 1834
 
1835 1835
 	return $inputs;
1836 1836
 }
1837 1837
 
1838
-function sd_get_flex_order_input( $type = 'flex_order', $overwrite = array() ) {
1838
+function sd_get_flex_order_input($type = 'flex_order', $overwrite = array()) {
1839 1839
 	$device_size = '';
1840
-	if ( ! empty( $overwrite['device_type'] ) ) {
1841
-		if ( $overwrite['device_type'] == 'Tablet' ) {
1840
+	if (!empty($overwrite['device_type'])) {
1841
+		if ($overwrite['device_type'] == 'Tablet') {
1842 1842
 			$device_size = '-md';
1843
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
1843
+		} elseif ($overwrite['device_type'] == 'Desktop') {
1844 1844
 			$device_size = '-lg';
1845 1845
 		}
1846 1846
 	}
1847 1847
 	$options = array(
1848
-		'' => __( 'Default', 'ayecode-connect' ),
1848
+		'' => __('Default', 'ayecode-connect'),
1849 1849
 	);
1850 1850
 
1851 1851
 	$i = 0;
1852
-	while ( $i <= 5 ) {
1853
-		$options[ 'order' . $device_size . '-' . $i ] = $i;
1852
+	while ($i <= 5) {
1853
+		$options['order' . $device_size . '-' . $i] = $i;
1854 1854
 		$i++;
1855 1855
 	}
1856 1856
 
1857 1857
 	$defaults = array(
1858 1858
 		'type'            => 'select',
1859
-		'title'           => __( 'Flex Order', 'ayecode-connect' ),
1859
+		'title'           => __('Flex Order', 'ayecode-connect'),
1860 1860
 		'options'         => $options,
1861 1861
 		'default'         => '',
1862 1862
 		'desc_tip'        => true,
1863
-		'group'           => __( 'Wrapper Styles', 'ayecode-connect' ),
1863
+		'group'           => __('Wrapper Styles', 'ayecode-connect'),
1864 1864
 		'element_require' => ' [%container%]=="col" ',
1865 1865
 
1866 1866
 	);
1867 1867
 
1868
-	$input = wp_parse_args( $overwrite, $defaults );
1868
+	$input = wp_parse_args($overwrite, $defaults);
1869 1869
 
1870 1870
 	return $input;
1871 1871
 }
1872 1872
 
1873
-function sd_get_flex_order_input_group( $type = 'flex_order', $overwrite = array() ) {
1873
+function sd_get_flex_order_input_group($type = 'flex_order', $overwrite = array()) {
1874 1874
 	$inputs = array();
1875 1875
 	$sizes  = array(
1876 1876
 		''    => 'Mobile',
@@ -1878,18 +1878,18 @@  discard block
 block discarded – undo
1878 1878
 		'_lg' => 'Desktop',
1879 1879
 	);
1880 1880
 
1881
-	if ( $overwrite !== false ) {
1881
+	if ($overwrite !== false) {
1882 1882
 
1883
-		foreach ( $sizes as $ds => $dt ) {
1883
+		foreach ($sizes as $ds => $dt) {
1884 1884
 			$overwrite['device_type'] = $dt;
1885
-			$inputs[ $type . $ds ]    = sd_get_flex_order_input( $type, $overwrite );
1885
+			$inputs[$type . $ds]    = sd_get_flex_order_input($type, $overwrite);
1886 1886
 		}
1887 1887
 	}
1888 1888
 
1889 1889
 	return $inputs;
1890 1890
 }
1891 1891
 
1892
-function sd_get_flex_wrap_group( $type = 'flex_wrap', $overwrite = array() ) {
1892
+function sd_get_flex_wrap_group($type = 'flex_wrap', $overwrite = array()) {
1893 1893
 	$inputs = array();
1894 1894
 	$sizes  = array(
1895 1895
 		''    => 'Mobile',
@@ -1897,28 +1897,28 @@  discard block
 block discarded – undo
1897 1897
 		'_lg' => 'Desktop',
1898 1898
 	);
1899 1899
 
1900
-	if ( $overwrite !== false ) {
1900
+	if ($overwrite !== false) {
1901 1901
 
1902
-		foreach ( $sizes as $ds => $dt ) {
1902
+		foreach ($sizes as $ds => $dt) {
1903 1903
 			$overwrite['device_type'] = $dt;
1904
-			$inputs[ $type . $ds ]    = sd_get_flex_wrap_input( $type, $overwrite );
1904
+			$inputs[$type . $ds]    = sd_get_flex_wrap_input($type, $overwrite);
1905 1905
 		}
1906 1906
 	}
1907 1907
 
1908 1908
 	return $inputs;
1909 1909
 }
1910 1910
 
1911
-function sd_get_flex_wrap_input( $type = 'flex_wrap', $overwrite = array() ) {
1911
+function sd_get_flex_wrap_input($type = 'flex_wrap', $overwrite = array()) {
1912 1912
 	$device_size = '';
1913
-	if ( ! empty( $overwrite['device_type'] ) ) {
1914
-		if ( $overwrite['device_type'] == 'Tablet' ) {
1913
+	if (!empty($overwrite['device_type'])) {
1914
+		if ($overwrite['device_type'] == 'Tablet') {
1915 1915
 			$device_size = '-md';
1916
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
1916
+		} elseif ($overwrite['device_type'] == 'Desktop') {
1917 1917
 			$device_size = '-lg';
1918 1918
 		}
1919 1919
 	}
1920 1920
 	$options = array(
1921
-		''                                      => __( 'Default', 'ayecode-connect' ),
1921
+		''                                      => __('Default', 'ayecode-connect'),
1922 1922
 		'flex' . $device_size . '-nowrap'       => 'nowrap',
1923 1923
 		'flex' . $device_size . '-wrap'         => 'wrap',
1924 1924
 		'flex' . $device_size . '-wrap-reverse' => 'wrap-reverse',
@@ -1926,19 +1926,19 @@  discard block
 block discarded – undo
1926 1926
 
1927 1927
 	$defaults = array(
1928 1928
 		'type'     => 'select',
1929
-		'title'    => __( 'Flex wrap', 'ayecode-connect' ),
1929
+		'title'    => __('Flex wrap', 'ayecode-connect'),
1930 1930
 		'options'  => $options,
1931 1931
 		'default'  => '',
1932 1932
 		'desc_tip' => true,
1933
-		'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
1933
+		'group'    => __('Wrapper Styles', 'ayecode-connect'),
1934 1934
 	);
1935 1935
 
1936
-	$input = wp_parse_args( $overwrite, $defaults );
1936
+	$input = wp_parse_args($overwrite, $defaults);
1937 1937
 
1938 1938
 	return $input;
1939 1939
 }
1940 1940
 
1941
-function sd_get_float_group( $type = 'float', $overwrite = array() ) {
1941
+function sd_get_float_group($type = 'float', $overwrite = array()) {
1942 1942
 	$inputs = array();
1943 1943
 	$sizes  = array(
1944 1944
 		''    => 'Mobile',
@@ -1946,27 +1946,27 @@  discard block
 block discarded – undo
1946 1946
 		'_lg' => 'Desktop',
1947 1947
 	);
1948 1948
 
1949
-	if ( $overwrite !== false ) {
1949
+	if ($overwrite !== false) {
1950 1950
 
1951
-		foreach ( $sizes as $ds => $dt ) {
1951
+		foreach ($sizes as $ds => $dt) {
1952 1952
 			$overwrite['device_type'] = $dt;
1953
-			$inputs[ $type . $ds ]    = sd_get_float_input( $type, $overwrite );
1953
+			$inputs[$type . $ds]    = sd_get_float_input($type, $overwrite);
1954 1954
 		}
1955 1955
 	}
1956 1956
 
1957 1957
 	return $inputs;
1958 1958
 }
1959
-function sd_get_float_input( $type = 'float', $overwrite = array() ) {
1959
+function sd_get_float_input($type = 'float', $overwrite = array()) {
1960 1960
 	$device_size = '';
1961
-	if ( ! empty( $overwrite['device_type'] ) ) {
1962
-		if ( $overwrite['device_type'] == 'Tablet' ) {
1961
+	if (!empty($overwrite['device_type'])) {
1962
+		if ($overwrite['device_type'] == 'Tablet') {
1963 1963
 			$device_size = '-md';
1964
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
1964
+		} elseif ($overwrite['device_type'] == 'Desktop') {
1965 1965
 			$device_size = '-lg';
1966 1966
 		}
1967 1967
 	}
1968 1968
 	$options = array(
1969
-		''                                      => __( 'Default', 'ayecode-connect' ),
1969
+		''                                      => __('Default', 'ayecode-connect'),
1970 1970
 		'float' . $device_size . '-start'       => 'left',
1971 1971
 		'float' . $device_size . '-end'         => 'right',
1972 1972
 		'float' . $device_size . '-none' => 'none',
@@ -1974,14 +1974,14 @@  discard block
 block discarded – undo
1974 1974
 
1975 1975
 	$defaults = array(
1976 1976
 		'type'     => 'select',
1977
-		'title'    => __( 'Float', 'ayecode-connect' ),
1977
+		'title'    => __('Float', 'ayecode-connect'),
1978 1978
 		'options'  => $options,
1979 1979
 		'default'  => '',
1980 1980
 		'desc_tip' => true,
1981
-		'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
1981
+		'group'    => __('Wrapper Styles', 'ayecode-connect'),
1982 1982
 	);
1983 1983
 
1984
-	$input = wp_parse_args( $overwrite, $defaults );
1984
+	$input = wp_parse_args($overwrite, $defaults);
1985 1985
 
1986 1986
 	return $input;
1987 1987
 }
@@ -1992,10 +1992,10 @@  discard block
 block discarded – undo
1992 1992
  *
1993 1993
  * @return array
1994 1994
  */
1995
-function sd_get_zindex_input( $type = 'zindex', $overwrite = array() ) {
1995
+function sd_get_zindex_input($type = 'zindex', $overwrite = array()) {
1996 1996
 
1997 1997
 	$options = array(
1998
-		''          => __( 'Default', 'ayecode-connect' ),
1998
+		''          => __('Default', 'ayecode-connect'),
1999 1999
 		'zindex-0'  => '0',
2000 2000
 		'zindex-1'  => '1',
2001 2001
 		'zindex-5'  => '5',
@@ -2004,14 +2004,14 @@  discard block
 block discarded – undo
2004 2004
 
2005 2005
 	$defaults = array(
2006 2006
 		'type'     => 'select',
2007
-		'title'    => __( 'Z-index', 'ayecode-connect' ),
2007
+		'title'    => __('Z-index', 'ayecode-connect'),
2008 2008
 		'options'  => $options,
2009 2009
 		'default'  => '',
2010 2010
 		'desc_tip' => true,
2011
-		'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
2011
+		'group'    => __('Wrapper Styles', 'ayecode-connect'),
2012 2012
 	);
2013 2013
 
2014
-	$input = wp_parse_args( $overwrite, $defaults );
2014
+	$input = wp_parse_args($overwrite, $defaults);
2015 2015
 
2016 2016
 	return $input;
2017 2017
 }
@@ -2022,26 +2022,26 @@  discard block
 block discarded – undo
2022 2022
  *
2023 2023
  * @return array
2024 2024
  */
2025
-function sd_get_overflow_input( $type = 'overflow', $overwrite = array() ) {
2025
+function sd_get_overflow_input($type = 'overflow', $overwrite = array()) {
2026 2026
 
2027 2027
 	$options = array(
2028
-		''                 => __( 'Default', 'ayecode-connect' ),
2029
-		'overflow-auto'    => __( 'Auto', 'ayecode-connect' ),
2030
-		'overflow-hidden'  => __( 'Hidden', 'ayecode-connect' ),
2031
-		'overflow-visible' => __( 'Visible', 'ayecode-connect' ),
2032
-		'overflow-scroll'  => __( 'Scroll', 'ayecode-connect' ),
2028
+		''                 => __('Default', 'ayecode-connect'),
2029
+		'overflow-auto'    => __('Auto', 'ayecode-connect'),
2030
+		'overflow-hidden'  => __('Hidden', 'ayecode-connect'),
2031
+		'overflow-visible' => __('Visible', 'ayecode-connect'),
2032
+		'overflow-scroll'  => __('Scroll', 'ayecode-connect'),
2033 2033
 	);
2034 2034
 
2035 2035
 	$defaults = array(
2036 2036
 		'type'     => 'select',
2037
-		'title'    => __( 'Overflow', 'ayecode-connect' ),
2037
+		'title'    => __('Overflow', 'ayecode-connect'),
2038 2038
 		'options'  => $options,
2039 2039
 		'default'  => '',
2040 2040
 		'desc_tip' => true,
2041
-		'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
2041
+		'group'    => __('Wrapper Styles', 'ayecode-connect'),
2042 2042
 	);
2043 2043
 
2044
-	$input = wp_parse_args( $overwrite, $defaults );
2044
+	$input = wp_parse_args($overwrite, $defaults);
2045 2045
 
2046 2046
 	return $input;
2047 2047
 }
@@ -2052,19 +2052,19 @@  discard block
 block discarded – undo
2052 2052
  *
2053 2053
  * @return array
2054 2054
  */
2055
-function sd_get_max_height_input( $type = 'max_height', $overwrite = array() ) {
2055
+function sd_get_max_height_input($type = 'max_height', $overwrite = array()) {
2056 2056
 
2057 2057
 	$defaults = array(
2058 2058
 		'type'        => 'text',
2059
-		'title'       => __( 'Max height', 'ayecode-connect' ),
2059
+		'title'       => __('Max height', 'ayecode-connect'),
2060 2060
 		'value'       => '',
2061 2061
 		'default'     => '',
2062 2062
 		'placeholder' => '',
2063 2063
 		'desc_tip'    => true,
2064
-		'group'       => __( 'Wrapper Styles', 'ayecode-connect' ),
2064
+		'group'       => __('Wrapper Styles', 'ayecode-connect'),
2065 2065
 	);
2066 2066
 
2067
-	$input = wp_parse_args( $overwrite, $defaults );
2067
+	$input = wp_parse_args($overwrite, $defaults);
2068 2068
 
2069 2069
 	return $input;
2070 2070
 }
@@ -2075,23 +2075,23 @@  discard block
 block discarded – undo
2075 2075
  *
2076 2076
  * @return array
2077 2077
  */
2078
-function sd_get_scrollbars_input( $type = 'scrollbars', $overwrite = array() ) {
2078
+function sd_get_scrollbars_input($type = 'scrollbars', $overwrite = array()) {
2079 2079
 
2080 2080
 	$options = array(
2081
-		''               => __( 'Default', 'ayecode-connect' ),
2082
-		'scrollbars-ios' => __( 'IOS Style', 'ayecode-connect' ),
2081
+		''               => __('Default', 'ayecode-connect'),
2082
+		'scrollbars-ios' => __('IOS Style', 'ayecode-connect'),
2083 2083
 	);
2084 2084
 
2085 2085
 	$defaults = array(
2086 2086
 		'type'     => 'select',
2087
-		'title'    => __( 'Scrollbars', 'ayecode-connect' ),
2087
+		'title'    => __('Scrollbars', 'ayecode-connect'),
2088 2088
 		'options'  => $options,
2089 2089
 		'default'  => '',
2090 2090
 		'desc_tip' => true,
2091
-		'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
2091
+		'group'    => __('Wrapper Styles', 'ayecode-connect'),
2092 2092
 	);
2093 2093
 
2094
-	$input = wp_parse_args( $overwrite, $defaults );
2094
+	$input = wp_parse_args($overwrite, $defaults);
2095 2095
 
2096 2096
 	return $input;
2097 2097
 }
@@ -2102,17 +2102,17 @@  discard block
 block discarded – undo
2102 2102
  *
2103 2103
  * @return array
2104 2104
  */
2105
-function sd_get_new_window_input( $type = 'target', $overwrite = array() ) {
2105
+function sd_get_new_window_input($type = 'target', $overwrite = array()) {
2106 2106
 
2107 2107
 	$defaults = array(
2108 2108
 		'type'     => 'checkbox',
2109
-		'title'    => __( 'Open in new window', 'ayecode-connect' ),
2109
+		'title'    => __('Open in new window', 'ayecode-connect'),
2110 2110
 		'default'  => '',
2111 2111
 		'desc_tip' => true,
2112
-		'group'    => __( 'Link', 'ayecode-connect' ),
2112
+		'group'    => __('Link', 'ayecode-connect'),
2113 2113
 	);
2114 2114
 
2115
-	$input = wp_parse_args( $overwrite, $defaults );
2115
+	$input = wp_parse_args($overwrite, $defaults);
2116 2116
 
2117 2117
 	return $input;
2118 2118
 }
@@ -2123,17 +2123,17 @@  discard block
 block discarded – undo
2123 2123
  *
2124 2124
  * @return array
2125 2125
  */
2126
-function sd_get_nofollow_input( $type = 'nofollow', $overwrite = array() ) {
2126
+function sd_get_nofollow_input($type = 'nofollow', $overwrite = array()) {
2127 2127
 
2128 2128
 	$defaults = array(
2129 2129
 		'type'     => 'checkbox',
2130
-		'title'    => __( 'Add nofollow', 'ayecode-connect' ),
2130
+		'title'    => __('Add nofollow', 'ayecode-connect'),
2131 2131
 		'default'  => '',
2132 2132
 		'desc_tip' => true,
2133
-		'group'    => __( 'Link', 'ayecode-connect' ),
2133
+		'group'    => __('Link', 'ayecode-connect'),
2134 2134
 	);
2135 2135
 
2136
-	$input = wp_parse_args( $overwrite, $defaults );
2136
+	$input = wp_parse_args($overwrite, $defaults);
2137 2137
 
2138 2138
 	return $input;
2139 2139
 }
@@ -2146,13 +2146,13 @@  discard block
 block discarded – undo
2146 2146
  *
2147 2147
  * @return array
2148 2148
  */
2149
-function sd_get_width_input( $type = 'width', $overwrite = array() ) {
2149
+function sd_get_width_input($type = 'width', $overwrite = array()) {
2150 2150
 
2151 2151
 	$device_size = '';
2152
-	if ( ! empty( $overwrite['device_type'] ) ) {
2153
-		if ( $overwrite['device_type'] == 'Tablet' ) {
2152
+	if (!empty($overwrite['device_type'])) {
2153
+		if ($overwrite['device_type'] == 'Tablet') {
2154 2154
 			$device_size = '-md';
2155
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
2155
+		} elseif ($overwrite['device_type'] == 'Desktop') {
2156 2156
 			$device_size = '-lg';
2157 2157
 		}
2158 2158
 	}
@@ -2167,14 +2167,14 @@  discard block
 block discarded – undo
2167 2167
 
2168 2168
 	$defaults = array(
2169 2169
 		'type'     => 'select',
2170
-		'title'    => __( 'Width', 'ayecode-connect' ),
2170
+		'title'    => __('Width', 'ayecode-connect'),
2171 2171
 		'options'  => $options,
2172 2172
 		'default'  => '',
2173 2173
 		'desc_tip' => true,
2174
-		'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
2174
+		'group'    => __('Wrapper Styles', 'ayecode-connect'),
2175 2175
 	);
2176 2176
 
2177
-	$input = wp_parse_args( $overwrite, $defaults );
2177
+	$input = wp_parse_args($overwrite, $defaults);
2178 2178
 
2179 2179
 	return $input;
2180 2180
 }
@@ -2187,13 +2187,13 @@  discard block
 block discarded – undo
2187 2187
  *
2188 2188
  * @return array
2189 2189
  */
2190
-function sd_get_height_input( $type = 'height', $overwrite = array() ) {
2190
+function sd_get_height_input($type = 'height', $overwrite = array()) {
2191 2191
 
2192 2192
 	$device_size = '';
2193
-	if ( ! empty( $overwrite['device_type'] ) ) {
2194
-		if ( $overwrite['device_type'] == 'Tablet' ) {
2193
+	if (!empty($overwrite['device_type'])) {
2194
+		if ($overwrite['device_type'] == 'Tablet') {
2195 2195
 			$device_size = '-md';
2196
-		} elseif ( $overwrite['device_type'] == 'Desktop' ) {
2196
+		} elseif ($overwrite['device_type'] == 'Desktop') {
2197 2197
 			$device_size = '-lg';
2198 2198
 		}
2199 2199
 	}
@@ -2208,14 +2208,14 @@  discard block
 block discarded – undo
2208 2208
 
2209 2209
 	$defaults = array(
2210 2210
 		'type'     => 'select',
2211
-		'title'    => __( 'Height', 'ayecode-connect' ),
2211
+		'title'    => __('Height', 'ayecode-connect'),
2212 2212
 		'options'  => $options,
2213 2213
 		'default'  => '',
2214 2214
 		'desc_tip' => true,
2215
-		'group'    => __( 'Wrapper Styles', 'ayecode-connect' ),
2215
+		'group'    => __('Wrapper Styles', 'ayecode-connect'),
2216 2216
 	);
2217 2217
 
2218
-	$input = wp_parse_args( $overwrite, $defaults );
2218
+	$input = wp_parse_args($overwrite, $defaults);
2219 2219
 
2220 2220
 	return $input;
2221 2221
 }
@@ -2226,19 +2226,19 @@  discard block
 block discarded – undo
2226 2226
  *
2227 2227
  * @return array
2228 2228
  */
2229
-function sd_get_attributes_input( $type = 'attributes', $overwrite = array() ) {
2229
+function sd_get_attributes_input($type = 'attributes', $overwrite = array()) {
2230 2230
 
2231 2231
 	$defaults = array(
2232 2232
 		'type'        => 'text',
2233
-		'title'       => __( 'Custom Attributes', 'ayecode-connect' ),
2233
+		'title'       => __('Custom Attributes', 'ayecode-connect'),
2234 2234
 		'value'       => '',
2235 2235
 		'default'     => '',
2236 2236
 		'placeholder' => 'key|value,key2|value2',
2237 2237
 		'desc_tip'    => true,
2238
-		'group'       => __( 'Link', 'ayecode-connect' ),
2238
+		'group'       => __('Link', 'ayecode-connect'),
2239 2239
 	);
2240 2240
 
2241
-	$input = wp_parse_args( $overwrite, $defaults );
2241
+	$input = wp_parse_args($overwrite, $defaults);
2242 2242
 
2243 2243
 	return $input;
2244 2244
 }
@@ -2248,28 +2248,28 @@  discard block
 block discarded – undo
2248 2248
  *
2249 2249
  * @return string
2250 2250
  */
2251
-function sd_build_attributes_string_escaped( $args ) {
2251
+function sd_build_attributes_string_escaped($args) {
2252 2252
 	global $aui_bs5;
2253 2253
 
2254 2254
 	$attributes = array();
2255 2255
 	$string_escaped = '';
2256 2256
 
2257
-	if ( ! empty( $args['custom'] ) ) {
2257
+	if (!empty($args['custom'])) {
2258 2258
 		$attributes = sd_parse_custom_attributes($args['custom']);
2259 2259
 	}
2260 2260
 
2261 2261
 	// new window
2262
-	if ( ! empty( $args['new_window'] ) ) {
2262
+	if (!empty($args['new_window'])) {
2263 2263
 		$attributes['target'] = '_blank';
2264 2264
 	}
2265 2265
 
2266 2266
 	// nofollow
2267
-	if ( ! empty( $args['nofollow'] ) ) {
2267
+	if (!empty($args['nofollow'])) {
2268 2268
 		$attributes['rel'] = isset($attributes['rel']) ? $attributes['rel'] . ' nofollow' : 'nofollow';
2269 2269
 	}
2270 2270
 
2271
-	if(!empty($attributes )){
2272
-		foreach ( $attributes as $key => $val ) {
2271
+	if (!empty($attributes)) {
2272
+		foreach ($attributes as $key => $val) {
2273 2273
 			$string_escaped .= esc_attr($key) . '="' . esc_attr($val) . '" ';
2274 2274
 		}
2275 2275
 	}
@@ -2285,36 +2285,36 @@  discard block
 block discarded – undo
2285 2285
  *
2286 2286
  * @return array
2287 2287
  */
2288
-function sd_parse_custom_attributes( $attributes_string, $delimiter = ',' ) {
2289
-	$attributes = explode( $delimiter, $attributes_string );
2288
+function sd_parse_custom_attributes($attributes_string, $delimiter = ',') {
2289
+	$attributes = explode($delimiter, $attributes_string);
2290 2290
 	$result = [];
2291 2291
 
2292
-	foreach ( $attributes as $attribute ) {
2293
-		$attr_key_value = explode( '|', $attribute );
2292
+	foreach ($attributes as $attribute) {
2293
+		$attr_key_value = explode('|', $attribute);
2294 2294
 
2295
-		$attr_key = mb_strtolower( $attr_key_value[0] );
2295
+		$attr_key = mb_strtolower($attr_key_value[0]);
2296 2296
 
2297 2297
 		// Remove any not allowed characters.
2298
-		preg_match( '/[-_a-z0-9]+/', $attr_key, $attr_key_matches );
2298
+		preg_match('/[-_a-z0-9]+/', $attr_key, $attr_key_matches);
2299 2299
 
2300
-		if ( empty( $attr_key_matches[0] ) ) {
2300
+		if (empty($attr_key_matches[0])) {
2301 2301
 			continue;
2302 2302
 		}
2303 2303
 
2304 2304
 		$attr_key = $attr_key_matches[0];
2305 2305
 
2306 2306
 		// Avoid Javascript events and unescaped href.
2307
-		if ( 'href' === $attr_key || 'on' === substr( $attr_key, 0, 2 ) ) {
2307
+		if ('href' === $attr_key || 'on' === substr($attr_key, 0, 2)) {
2308 2308
 			continue;
2309 2309
 		}
2310 2310
 
2311
-		if ( isset( $attr_key_value[1] ) ) {
2312
-			$attr_value = trim( $attr_key_value[1] );
2311
+		if (isset($attr_key_value[1])) {
2312
+			$attr_value = trim($attr_key_value[1]);
2313 2313
 		} else {
2314 2314
 			$attr_value = '';
2315 2315
 		}
2316 2316
 
2317
-		$result[ $attr_key ] = $attr_value;
2317
+		$result[$attr_key] = $attr_value;
2318 2318
 	}
2319 2319
 
2320 2320
 	return $result;
@@ -2328,12 +2328,12 @@  discard block
 block discarded – undo
2328 2328
  * @return string
2329 2329
  * @todo find best way to use px- py- or general p-
2330 2330
  */
2331
-function sd_build_aui_class( $args ) {
2331
+function sd_build_aui_class($args) {
2332 2332
 	global $aui_bs5;
2333 2333
 
2334 2334
 	$classes = array();
2335 2335
 
2336
-	if ( $aui_bs5 ) {
2336
+	if ($aui_bs5) {
2337 2337
 		$p_ml = 'ms-';
2338 2338
 		$p_mr = 'me-';
2339 2339
 
@@ -2348,254 +2348,254 @@  discard block
 block discarded – undo
2348 2348
 	}
2349 2349
 
2350 2350
 	// margins.
2351
-	if ( isset( $args['mt'] ) && $args['mt'] !== '' ) {
2352
-		$classes[] = 'mt-' . sanitize_html_class( $args['mt'] );
2351
+	if (isset($args['mt']) && $args['mt'] !== '') {
2352
+		$classes[] = 'mt-' . sanitize_html_class($args['mt']);
2353 2353
 		$mt        = $args['mt'];
2354 2354
 	} else {
2355 2355
 		$mt = null;
2356 2356
 	}
2357
-	if ( isset( $args['mr'] ) && $args['mr'] !== '' ) {
2358
-		$classes[] = $p_mr . sanitize_html_class( $args['mr'] );
2357
+	if (isset($args['mr']) && $args['mr'] !== '') {
2358
+		$classes[] = $p_mr . sanitize_html_class($args['mr']);
2359 2359
 		$mr        = $args['mr'];
2360 2360
 	} else {
2361 2361
 		$mr = null;
2362 2362
 	}
2363
-	if ( isset( $args['mb'] ) && $args['mb'] !== '' ) {
2364
-		$classes[] = 'mb-' . sanitize_html_class( $args['mb'] );
2363
+	if (isset($args['mb']) && $args['mb'] !== '') {
2364
+		$classes[] = 'mb-' . sanitize_html_class($args['mb']);
2365 2365
 		$mb        = $args['mb'];
2366 2366
 	} else {
2367 2367
 		$mb = null;
2368 2368
 	}
2369
-	if ( isset( $args['ml'] ) && $args['ml'] !== '' ) {
2370
-		$classes[] = $p_ml . sanitize_html_class( $args['ml'] );
2369
+	if (isset($args['ml']) && $args['ml'] !== '') {
2370
+		$classes[] = $p_ml . sanitize_html_class($args['ml']);
2371 2371
 		$ml        = $args['ml'];
2372 2372
 	} else {
2373 2373
 		$ml = null;
2374 2374
 	}
2375 2375
 
2376 2376
 	// margins tablet.
2377
-	if ( isset( $args['mt_md'] ) && $args['mt_md'] !== '' ) {
2378
-		$classes[] = 'mt-md-' . sanitize_html_class( $args['mt_md'] );
2377
+	if (isset($args['mt_md']) && $args['mt_md'] !== '') {
2378
+		$classes[] = 'mt-md-' . sanitize_html_class($args['mt_md']);
2379 2379
 		$mt_md     = $args['mt_md'];
2380 2380
 	} else {
2381 2381
 		$mt_md = null;
2382 2382
 	}
2383
-	if ( isset( $args['mr_md'] ) && $args['mr_md'] !== '' ) {
2384
-		$classes[] = $p_mr . 'md-' . sanitize_html_class( $args['mr_md'] );
2383
+	if (isset($args['mr_md']) && $args['mr_md'] !== '') {
2384
+		$classes[] = $p_mr . 'md-' . sanitize_html_class($args['mr_md']);
2385 2385
 		$mt_md     = $args['mr_md'];
2386 2386
 	} else {
2387 2387
 		$mr_md = null;
2388 2388
 	}
2389
-	if ( isset( $args['mb_md'] ) && $args['mb_md'] !== '' ) {
2390
-		$classes[] = 'mb-md-' . sanitize_html_class( $args['mb_md'] );
2389
+	if (isset($args['mb_md']) && $args['mb_md'] !== '') {
2390
+		$classes[] = 'mb-md-' . sanitize_html_class($args['mb_md']);
2391 2391
 		$mt_md     = $args['mb_md'];
2392 2392
 	} else {
2393 2393
 		$mb_md = null;
2394 2394
 	}
2395
-	if ( isset( $args['ml_md'] ) && $args['ml_md'] !== '' ) {
2396
-		$classes[] = $p_ml . 'md-' . sanitize_html_class( $args['ml_md'] );
2395
+	if (isset($args['ml_md']) && $args['ml_md'] !== '') {
2396
+		$classes[] = $p_ml . 'md-' . sanitize_html_class($args['ml_md']);
2397 2397
 		$mt_md     = $args['ml_md'];
2398 2398
 	} else {
2399 2399
 		$ml_md = null;
2400 2400
 	}
2401 2401
 
2402 2402
 	// margins desktop.
2403
-	if ( isset( $args['mt_lg'] ) && $args['mt_lg'] !== '' ) {
2404
-		if ( $mt == null && $mt_md == null ) {
2405
-			$classes[] = 'mt-' . sanitize_html_class( $args['mt_lg'] );
2403
+	if (isset($args['mt_lg']) && $args['mt_lg'] !== '') {
2404
+		if ($mt == null && $mt_md == null) {
2405
+			$classes[] = 'mt-' . sanitize_html_class($args['mt_lg']);
2406 2406
 		} else {
2407
-			$classes[] = 'mt-lg-' . sanitize_html_class( $args['mt_lg'] );
2407
+			$classes[] = 'mt-lg-' . sanitize_html_class($args['mt_lg']);
2408 2408
 		}
2409 2409
 	}
2410
-	if ( isset( $args['mr_lg'] ) && $args['mr_lg'] !== '' ) {
2411
-		if ( $mr == null && $mr_md == null ) {
2412
-			$classes[] = $p_mr . sanitize_html_class( $args['mr_lg'] );
2410
+	if (isset($args['mr_lg']) && $args['mr_lg'] !== '') {
2411
+		if ($mr == null && $mr_md == null) {
2412
+			$classes[] = $p_mr . sanitize_html_class($args['mr_lg']);
2413 2413
 		} else {
2414
-			$classes[] = $p_mr . 'lg-' . sanitize_html_class( $args['mr_lg'] );
2414
+			$classes[] = $p_mr . 'lg-' . sanitize_html_class($args['mr_lg']);
2415 2415
 		}
2416 2416
 	}
2417
-	if ( isset( $args['mb_lg'] ) && $args['mb_lg'] !== '' ) {
2418
-		if ( $mb == null && $mb_md == null ) {
2419
-			$classes[] = 'mb-' . sanitize_html_class( $args['mb_lg'] );
2417
+	if (isset($args['mb_lg']) && $args['mb_lg'] !== '') {
2418
+		if ($mb == null && $mb_md == null) {
2419
+			$classes[] = 'mb-' . sanitize_html_class($args['mb_lg']);
2420 2420
 		} else {
2421
-			$classes[] = 'mb-lg-' . sanitize_html_class( $args['mb_lg'] );
2421
+			$classes[] = 'mb-lg-' . sanitize_html_class($args['mb_lg']);
2422 2422
 		}
2423 2423
 	}
2424
-	if ( isset( $args['ml_lg'] ) && $args['ml_lg'] !== '' ) {
2425
-		if ( $ml == null && $ml_md == null ) {
2426
-			$classes[] = $p_ml . sanitize_html_class( $args['ml_lg'] );
2424
+	if (isset($args['ml_lg']) && $args['ml_lg'] !== '') {
2425
+		if ($ml == null && $ml_md == null) {
2426
+			$classes[] = $p_ml . sanitize_html_class($args['ml_lg']);
2427 2427
 		} else {
2428
-			$classes[] = $p_ml . 'lg-' . sanitize_html_class( $args['ml_lg'] );
2428
+			$classes[] = $p_ml . 'lg-' . sanitize_html_class($args['ml_lg']);
2429 2429
 		}
2430 2430
 	}
2431 2431
 
2432 2432
 	// padding.
2433
-	if ( isset( $args['pt'] ) && $args['pt'] !== '' ) {
2434
-		$classes[] = 'pt-' . sanitize_html_class( $args['pt'] );
2433
+	if (isset($args['pt']) && $args['pt'] !== '') {
2434
+		$classes[] = 'pt-' . sanitize_html_class($args['pt']);
2435 2435
 		$pt        = $args['pt'];
2436 2436
 	} else {
2437 2437
 		$pt = null;
2438 2438
 	}
2439
-	if ( isset( $args['pr'] ) && $args['pr'] !== '' ) {
2440
-		$classes[] = $p_pr . sanitize_html_class( $args['pr'] );
2439
+	if (isset($args['pr']) && $args['pr'] !== '') {
2440
+		$classes[] = $p_pr . sanitize_html_class($args['pr']);
2441 2441
 		$pr        = $args['pr'];
2442 2442
 	} else {
2443 2443
 		$pr = null;
2444 2444
 	}
2445
-	if ( isset( $args['pb'] ) && $args['pb'] !== '' ) {
2446
-		$classes[] = 'pb-' . sanitize_html_class( $args['pb'] );
2445
+	if (isset($args['pb']) && $args['pb'] !== '') {
2446
+		$classes[] = 'pb-' . sanitize_html_class($args['pb']);
2447 2447
 		$pb        = $args['pb'];
2448 2448
 	} else {
2449 2449
 		$pb = null;
2450 2450
 	}
2451
-	if ( isset( $args['pl'] ) && $args['pl'] !== '' ) {
2452
-		$classes[] = $p_pl . sanitize_html_class( $args['pl'] );
2451
+	if (isset($args['pl']) && $args['pl'] !== '') {
2452
+		$classes[] = $p_pl . sanitize_html_class($args['pl']);
2453 2453
 		$pl        = $args['pl'];
2454 2454
 	} else {
2455 2455
 		$pl = null;
2456 2456
 	}
2457 2457
 
2458 2458
 	// padding tablet.
2459
-	if ( isset( $args['pt_md'] ) && $args['pt_md'] !== '' ) {
2460
-		$classes[] = 'pt-md-' . sanitize_html_class( $args['pt_md'] );
2459
+	if (isset($args['pt_md']) && $args['pt_md'] !== '') {
2460
+		$classes[] = 'pt-md-' . sanitize_html_class($args['pt_md']);
2461 2461
 		$pt_md     = $args['pt_md'];
2462 2462
 	} else {
2463 2463
 		$pt_md = null;
2464 2464
 	}
2465
-	if ( isset( $args['pr_md'] ) && $args['pr_md'] !== '' ) {
2466
-		$classes[] = $p_pr . 'md-' . sanitize_html_class( $args['pr_md'] );
2465
+	if (isset($args['pr_md']) && $args['pr_md'] !== '') {
2466
+		$classes[] = $p_pr . 'md-' . sanitize_html_class($args['pr_md']);
2467 2467
 		$pr_md     = $args['pr_md'];
2468 2468
 	} else {
2469 2469
 		$pr_md = null;
2470 2470
 	}
2471
-	if ( isset( $args['pb_md'] ) && $args['pb_md'] !== '' ) {
2472
-		$classes[] = 'pb-md-' . sanitize_html_class( $args['pb_md'] );
2471
+	if (isset($args['pb_md']) && $args['pb_md'] !== '') {
2472
+		$classes[] = 'pb-md-' . sanitize_html_class($args['pb_md']);
2473 2473
 		$pb_md     = $args['pb_md'];
2474 2474
 	} else {
2475 2475
 		$pb_md = null;
2476 2476
 	}
2477
-	if ( isset( $args['pl_md'] ) && $args['pl_md'] !== '' ) {
2478
-		$classes[] = $p_pl . 'md-' . sanitize_html_class( $args['pl_md'] );
2477
+	if (isset($args['pl_md']) && $args['pl_md'] !== '') {
2478
+		$classes[] = $p_pl . 'md-' . sanitize_html_class($args['pl_md']);
2479 2479
 		$pl_md     = $args['pl_md'];
2480 2480
 	} else {
2481 2481
 		$pl_md = null;
2482 2482
 	}
2483 2483
 
2484 2484
 	// padding desktop.
2485
-	if ( isset( $args['pt_lg'] ) && $args['pt_lg'] !== '' ) {
2486
-		if ( $pt == null && $pt_md == null ) {
2487
-			$classes[] = 'pt-' . sanitize_html_class( $args['pt_lg'] );
2485
+	if (isset($args['pt_lg']) && $args['pt_lg'] !== '') {
2486
+		if ($pt == null && $pt_md == null) {
2487
+			$classes[] = 'pt-' . sanitize_html_class($args['pt_lg']);
2488 2488
 		} else {
2489
-			$classes[] = 'pt-lg-' . sanitize_html_class( $args['pt_lg'] );
2489
+			$classes[] = 'pt-lg-' . sanitize_html_class($args['pt_lg']);
2490 2490
 		}
2491 2491
 	}
2492
-	if ( isset( $args['pr_lg'] ) && $args['pr_lg'] !== '' ) {
2493
-		if ( $pr == null && $pr_md == null ) {
2494
-			$classes[] = $p_pr . sanitize_html_class( $args['pr_lg'] );
2492
+	if (isset($args['pr_lg']) && $args['pr_lg'] !== '') {
2493
+		if ($pr == null && $pr_md == null) {
2494
+			$classes[] = $p_pr . sanitize_html_class($args['pr_lg']);
2495 2495
 		} else {
2496
-			$classes[] = $p_pr . 'lg-' . sanitize_html_class( $args['pr_lg'] );
2496
+			$classes[] = $p_pr . 'lg-' . sanitize_html_class($args['pr_lg']);
2497 2497
 		}
2498 2498
 	}
2499
-	if ( isset( $args['pb_lg'] ) && $args['pb_lg'] !== '' ) {
2500
-		if ( $pb == null && $pb_md == null ) {
2501
-			$classes[] = 'pb-' . sanitize_html_class( $args['pb_lg'] );
2499
+	if (isset($args['pb_lg']) && $args['pb_lg'] !== '') {
2500
+		if ($pb == null && $pb_md == null) {
2501
+			$classes[] = 'pb-' . sanitize_html_class($args['pb_lg']);
2502 2502
 		} else {
2503
-			$classes[] = 'pb-lg-' . sanitize_html_class( $args['pb_lg'] );
2503
+			$classes[] = 'pb-lg-' . sanitize_html_class($args['pb_lg']);
2504 2504
 		}
2505 2505
 	}
2506
-	if ( isset( $args['pl_lg'] ) && $args['pl_lg'] !== '' ) {
2507
-		if ( $pl == null && $pl_md == null ) {
2508
-			$classes[] = $p_pl . sanitize_html_class( $args['pl_lg'] );
2506
+	if (isset($args['pl_lg']) && $args['pl_lg'] !== '') {
2507
+		if ($pl == null && $pl_md == null) {
2508
+			$classes[] = $p_pl . sanitize_html_class($args['pl_lg']);
2509 2509
 		} else {
2510
-			$classes[] = $p_pl . 'lg-' . sanitize_html_class( $args['pl_lg'] );
2510
+			$classes[] = $p_pl . 'lg-' . sanitize_html_class($args['pl_lg']);
2511 2511
 		}
2512 2512
 	}
2513 2513
 
2514 2514
 	// row cols, mobile, tablet, desktop
2515
-	if ( ! empty( $args['row_cols'] ) && $args['row_cols'] !== '' ) {
2516
-		$classes[] = sanitize_html_class( 'row-cols-' . $args['row_cols'] );
2515
+	if (!empty($args['row_cols']) && $args['row_cols'] !== '') {
2516
+		$classes[] = sanitize_html_class('row-cols-' . $args['row_cols']);
2517 2517
 		$row_cols  = $args['row_cols'];
2518 2518
 	} else {
2519 2519
 		$row_cols = null;
2520 2520
 	}
2521
-	if ( ! empty( $args['row_cols_md'] ) && $args['row_cols_md'] !== '' ) {
2522
-		$classes[]   = sanitize_html_class( 'row-cols-md-' . $args['row_cols_md'] );
2521
+	if (!empty($args['row_cols_md']) && $args['row_cols_md'] !== '') {
2522
+		$classes[]   = sanitize_html_class('row-cols-md-' . $args['row_cols_md']);
2523 2523
 		$row_cols_md = $args['row_cols_md'];
2524 2524
 	} else {
2525 2525
 		$row_cols_md = null;
2526 2526
 	}
2527
-	if ( ! empty( $args['row_cols_lg'] ) && $args['row_cols_lg'] !== '' ) {
2528
-		if ( $row_cols == null && $row_cols_md == null ) {
2529
-			$classes[] = sanitize_html_class( 'row-cols-' . $args['row_cols_lg'] );
2527
+	if (!empty($args['row_cols_lg']) && $args['row_cols_lg'] !== '') {
2528
+		if ($row_cols == null && $row_cols_md == null) {
2529
+			$classes[] = sanitize_html_class('row-cols-' . $args['row_cols_lg']);
2530 2530
 		} else {
2531
-			$classes[] = sanitize_html_class( 'row-cols-lg-' . $args['row_cols_lg'] );
2531
+			$classes[] = sanitize_html_class('row-cols-lg-' . $args['row_cols_lg']);
2532 2532
 		}
2533 2533
 	}
2534 2534
 
2535 2535
 	// columns , mobile, tablet, desktop
2536
-	if ( ! empty( $args['col'] ) && $args['col'] !== '' ) {
2537
-		$classes[] = sanitize_html_class( 'col-' . $args['col'] );
2536
+	if (!empty($args['col']) && $args['col'] !== '') {
2537
+		$classes[] = sanitize_html_class('col-' . $args['col']);
2538 2538
 		$col       = $args['col'];
2539 2539
 	} else {
2540 2540
 		$col = null;
2541 2541
 	}
2542
-	if ( ! empty( $args['col_md'] ) && $args['col_md'] !== '' ) {
2543
-		$classes[] = sanitize_html_class( 'col-md-' . $args['col_md'] );
2542
+	if (!empty($args['col_md']) && $args['col_md'] !== '') {
2543
+		$classes[] = sanitize_html_class('col-md-' . $args['col_md']);
2544 2544
 		$col_md    = $args['col_md'];
2545 2545
 	} else {
2546 2546
 		$col_md = null;
2547 2547
 	}
2548
-	if ( ! empty( $args['col_lg'] ) && $args['col_lg'] !== '' ) {
2549
-		if ( $col == null && $col_md == null ) {
2550
-			$classes[] = sanitize_html_class( 'col-' . $args['col_lg'] );
2548
+	if (!empty($args['col_lg']) && $args['col_lg'] !== '') {
2549
+		if ($col == null && $col_md == null) {
2550
+			$classes[] = sanitize_html_class('col-' . $args['col_lg']);
2551 2551
 		} else {
2552
-			$classes[] = sanitize_html_class( 'col-lg-' . $args['col_lg'] );
2552
+			$classes[] = sanitize_html_class('col-lg-' . $args['col_lg']);
2553 2553
 		}
2554 2554
 	}
2555 2555
 
2556 2556
 	// border
2557
-	if ( isset( $args['border'] ) && ( $args['border'] == 'none' || $args['border'] === '0' || $args['border'] === 0 ) ) {
2557
+	if (isset($args['border']) && ($args['border'] == 'none' || $args['border'] === '0' || $args['border'] === 0)) {
2558 2558
 		$classes[] = 'border-0';
2559
-	} elseif ( ! empty( $args['border'] ) ) {
2559
+	} elseif (!empty($args['border'])) {
2560 2560
 		$border_class = 'border';
2561
-		if ( ! empty( $args['border_type'] ) && strpos( $args['border_type'], '-0' ) === false ) {
2561
+		if (!empty($args['border_type']) && strpos($args['border_type'], '-0') === false) {
2562 2562
 			$border_class = '';
2563 2563
 		}
2564
-		$classes[] = $border_class . ' border-' . sanitize_html_class( $args['border'] );
2564
+		$classes[] = $border_class . ' border-' . sanitize_html_class($args['border']);
2565 2565
 	}
2566 2566
 
2567 2567
 	// border radius type
2568
-	if ( ! empty( $args['rounded'] ) ) {
2569
-		$classes[] = sanitize_html_class( $args['rounded'] );
2568
+	if (!empty($args['rounded'])) {
2569
+		$classes[] = sanitize_html_class($args['rounded']);
2570 2570
 	}
2571 2571
 
2572 2572
 	// border radius size BS4
2573
-	if ( isset( $args['rounded_size'] ) && in_array( $args['rounded_size'], array( 'sm', 'lg' ) ) ) {
2574
-		$classes[] = 'rounded-' . sanitize_html_class( $args['rounded_size'] );
2573
+	if (isset($args['rounded_size']) && in_array($args['rounded_size'], array('sm', 'lg'))) {
2574
+		$classes[] = 'rounded-' . sanitize_html_class($args['rounded_size']);
2575 2575
 		// if we set a size then we need to remove "rounded" if set
2576
-		if ( ( $key = array_search( 'rounded', $classes ) ) !== false ) {
2577
-			unset( $classes[ $key ] );
2576
+		if (($key = array_search('rounded', $classes)) !== false) {
2577
+			unset($classes[$key]);
2578 2578
 		}
2579 2579
 	} else {
2580 2580
 
2581 2581
 		// border radius size , mobile, tablet, desktop
2582
-		if ( isset( $args['rounded_size'] ) && $args['rounded_size'] !== '' ) {
2583
-			$classes[]    = sanitize_html_class( 'rounded-' . $args['rounded_size'] );
2582
+		if (isset($args['rounded_size']) && $args['rounded_size'] !== '') {
2583
+			$classes[]    = sanitize_html_class('rounded-' . $args['rounded_size']);
2584 2584
 			$rounded_size = $args['rounded_size'];
2585 2585
 		} else {
2586 2586
 			$rounded_size = null;
2587 2587
 		}
2588
-		if ( isset( $args['rounded_size_md'] ) && $args['rounded_size_md'] !== '' ) {
2589
-			$classes[]       = sanitize_html_class( 'rounded-md-' . $args['rounded_size_md'] );
2588
+		if (isset($args['rounded_size_md']) && $args['rounded_size_md'] !== '') {
2589
+			$classes[]       = sanitize_html_class('rounded-md-' . $args['rounded_size_md']);
2590 2590
 			$rounded_size_md = $args['rounded_size_md'];
2591 2591
 		} else {
2592 2592
 			$rounded_size_md = null;
2593 2593
 		}
2594
-		if ( isset( $args['rounded_size_lg'] ) && $args['rounded_size_lg'] !== '' ) {
2595
-			if ( $rounded_size == null && $rounded_size_md == null ) {
2596
-				$classes[] = sanitize_html_class( 'rounded-' . $args['rounded_size_lg'] );
2594
+		if (isset($args['rounded_size_lg']) && $args['rounded_size_lg'] !== '') {
2595
+			if ($rounded_size == null && $rounded_size_md == null) {
2596
+				$classes[] = sanitize_html_class('rounded-' . $args['rounded_size_lg']);
2597 2597
 			} else {
2598
-				$classes[] = sanitize_html_class( 'rounded-lg-' . $args['rounded_size_lg'] );
2598
+				$classes[] = sanitize_html_class('rounded-lg-' . $args['rounded_size_lg']);
2599 2599
 			}
2600 2600
 		}
2601 2601
 	}
@@ -2604,149 +2604,149 @@  discard block
 block discarded – undo
2604 2604
 	//if ( !empty( $args['shadow'] ) ) { $classes[] = sanitize_html_class($args['shadow']); }
2605 2605
 
2606 2606
 	// background
2607
-	if ( ! empty( $args['bg'] ) ) {
2608
-		$classes[] = 'bg-' . sanitize_html_class( $args['bg'] );
2607
+	if (!empty($args['bg'])) {
2608
+		$classes[] = 'bg-' . sanitize_html_class($args['bg']);
2609 2609
 	}
2610 2610
 
2611 2611
 	// background image fixed bg_image_fixed this helps fix a iOS bug
2612
-	if ( ! empty( $args['bg_image_fixed'] ) ) {
2612
+	if (!empty($args['bg_image_fixed'])) {
2613 2613
 		$classes[] = 'bg-image-fixed';
2614 2614
 	}
2615 2615
 
2616 2616
 	// text_color
2617
-	if ( ! empty( $args['text_color'] ) ) {
2618
-		$classes[] = 'text-' . sanitize_html_class( $args['text_color'] );
2617
+	if (!empty($args['text_color'])) {
2618
+		$classes[] = 'text-' . sanitize_html_class($args['text_color']);
2619 2619
 	}
2620 2620
 
2621 2621
 	// text_align
2622
-	if ( ! empty( $args['text_justify'] ) ) {
2622
+	if (!empty($args['text_justify'])) {
2623 2623
 		$classes[] = 'text-justify';
2624 2624
 	} else {
2625
-		if ( ! empty( $args['text_align'] ) ) {
2626
-			$classes[]  = sanitize_html_class( $args['text_align'] );
2625
+		if (!empty($args['text_align'])) {
2626
+			$classes[]  = sanitize_html_class($args['text_align']);
2627 2627
 			$text_align = $args['text_align'];
2628 2628
 		} else {
2629 2629
 			$text_align = null;
2630 2630
 		}
2631
-		if ( ! empty( $args['text_align_md'] ) && $args['text_align_md'] !== '' ) {
2632
-			$classes[]     = sanitize_html_class( $args['text_align_md'] );
2631
+		if (!empty($args['text_align_md']) && $args['text_align_md'] !== '') {
2632
+			$classes[]     = sanitize_html_class($args['text_align_md']);
2633 2633
 			$text_align_md = $args['text_align_md'];
2634 2634
 		} else {
2635 2635
 			$text_align_md = null;
2636 2636
 		}
2637
-		if ( ! empty( $args['text_align_lg'] ) && $args['text_align_lg'] !== '' ) {
2638
-			if ( $text_align == null && $text_align_md == null ) {
2639
-				$classes[] = sanitize_html_class( str_replace( '-lg', '', $args['text_align_lg'] ) );
2637
+		if (!empty($args['text_align_lg']) && $args['text_align_lg'] !== '') {
2638
+			if ($text_align == null && $text_align_md == null) {
2639
+				$classes[] = sanitize_html_class(str_replace('-lg', '', $args['text_align_lg']));
2640 2640
 			} else {
2641
-				$classes[] = sanitize_html_class( $args['text_align_lg'] );
2641
+				$classes[] = sanitize_html_class($args['text_align_lg']);
2642 2642
 			}
2643 2643
 		}
2644 2644
 	}
2645 2645
 
2646 2646
 	// display
2647
-	if ( ! empty( $args['display'] ) ) {
2648
-		$classes[] = sanitize_html_class( $args['display'] );
2647
+	if (!empty($args['display'])) {
2648
+		$classes[] = sanitize_html_class($args['display']);
2649 2649
 		$display   = $args['display'];
2650 2650
 	} else {
2651 2651
 		$display = null;
2652 2652
 	}
2653
-	if ( ! empty( $args['display_md'] ) && $args['display_md'] !== '' ) {
2654
-		$classes[]  = sanitize_html_class( $args['display_md'] );
2653
+	if (!empty($args['display_md']) && $args['display_md'] !== '') {
2654
+		$classes[]  = sanitize_html_class($args['display_md']);
2655 2655
 		$display_md = $args['display_md'];
2656 2656
 	} else {
2657 2657
 		$display_md = null;
2658 2658
 	}
2659
-	if ( ! empty( $args['display_lg'] ) && $args['display_lg'] !== '' ) {
2660
-		if ( $display == null && $display_md == null ) {
2661
-			$classes[] = sanitize_html_class( str_replace( '-lg', '', $args['display_lg'] ) );
2659
+	if (!empty($args['display_lg']) && $args['display_lg'] !== '') {
2660
+		if ($display == null && $display_md == null) {
2661
+			$classes[] = sanitize_html_class(str_replace('-lg', '', $args['display_lg']));
2662 2662
 		} else {
2663
-			$classes[] = sanitize_html_class( $args['display_lg'] );
2663
+			$classes[] = sanitize_html_class($args['display_lg']);
2664 2664
 		}
2665 2665
 	}
2666 2666
 
2667 2667
 	// bgtus - background transparent until scroll
2668
-	if ( ! empty( $args['bgtus'] ) ) {
2669
-		$classes[] = sanitize_html_class( 'bg-transparent-until-scroll' );
2668
+	if (!empty($args['bgtus'])) {
2669
+		$classes[] = sanitize_html_class('bg-transparent-until-scroll');
2670 2670
 	}
2671 2671
 
2672 2672
 	// cscos - change color scheme on scroll
2673
-	if ( ! empty( $args['bgtus'] ) && ! empty( $args['cscos'] ) ) {
2674
-		$classes[] = sanitize_html_class( 'color-scheme-flip-on-scroll' );
2673
+	if (!empty($args['bgtus']) && !empty($args['cscos'])) {
2674
+		$classes[] = sanitize_html_class('color-scheme-flip-on-scroll');
2675 2675
 	}
2676 2676
 
2677 2677
 	// hover animations
2678
-	if ( ! empty( $args['hover_animations'] ) ) {
2679
-		$classes[] = sd_sanitize_html_classes( str_replace( ',', ' ', $args['hover_animations'] ) );
2678
+	if (!empty($args['hover_animations'])) {
2679
+		$classes[] = sd_sanitize_html_classes(str_replace(',', ' ', $args['hover_animations']));
2680 2680
 	}
2681 2681
 
2682 2682
 	// absolute_position
2683
-	if ( ! empty( $args['absolute_position'] ) ) {
2684
-		if ( 'top-left' === $args['absolute_position'] ) {
2683
+	if (!empty($args['absolute_position'])) {
2684
+		if ('top-left' === $args['absolute_position']) {
2685 2685
 			$classes[] = 'start-0 top-0';
2686
-		} elseif ( 'top-center' === $args['absolute_position'] ) {
2686
+		} elseif ('top-center' === $args['absolute_position']) {
2687 2687
 			$classes[] = 'start-50 top-0 translate-middle';
2688
-		} elseif ( 'top-right' === $args['absolute_position'] ) {
2688
+		} elseif ('top-right' === $args['absolute_position']) {
2689 2689
 			$classes[] = 'end-0 top-0';
2690
-		} elseif ( 'center-left' === $args['absolute_position'] ) {
2690
+		} elseif ('center-left' === $args['absolute_position']) {
2691 2691
 			$classes[] = 'start-0 top-50';
2692
-		} elseif ( 'center' === $args['absolute_position'] ) {
2692
+		} elseif ('center' === $args['absolute_position']) {
2693 2693
 			$classes[] = 'start-50 top-50 translate-middle';
2694
-		} elseif ( 'center-right' === $args['absolute_position'] ) {
2694
+		} elseif ('center-right' === $args['absolute_position']) {
2695 2695
 			$classes[] = 'end-0 top-50';
2696
-		} elseif ( 'bottom-left' === $args['absolute_position'] ) {
2696
+		} elseif ('bottom-left' === $args['absolute_position']) {
2697 2697
 			$classes[] = 'start-0 bottom-0';
2698
-		} elseif ( 'bottom-center' === $args['absolute_position'] ) {
2698
+		} elseif ('bottom-center' === $args['absolute_position']) {
2699 2699
 			$classes[] = 'start-50 bottom-0 translate-middle';
2700
-		} elseif ( 'bottom-right' === $args['absolute_position'] ) {
2700
+		} elseif ('bottom-right' === $args['absolute_position']) {
2701 2701
 			$classes[] = 'end-0 bottom-0';
2702 2702
 		}
2703 2703
 	}
2704 2704
 
2705 2705
 	// build classes from build keys
2706 2706
 	$build_keys = sd_get_class_build_keys();
2707
-	if ( ! empty( $build_keys ) ) {
2708
-		foreach ( $build_keys as $key ) {
2707
+	if (!empty($build_keys)) {
2708
+		foreach ($build_keys as $key) {
2709 2709
 
2710
-			if ( substr( $key, -4 ) == '-MTD' ) {
2710
+			if (substr($key, -4) == '-MTD') {
2711 2711
 
2712
-				$k = str_replace( '-MTD', '', $key );
2712
+				$k = str_replace('-MTD', '', $key);
2713 2713
 
2714 2714
 				// Mobile, Tablet, Desktop
2715
-				if ( ! empty( $args[ $k ] ) && $args[ $k ] !== '' ) {
2716
-					$classes[] = sanitize_html_class( $args[ $k ] );
2717
-					$v         = $args[ $k ];
2715
+				if (!empty($args[$k]) && $args[$k] !== '') {
2716
+					$classes[] = sanitize_html_class($args[$k]);
2717
+					$v         = $args[$k];
2718 2718
 				} else {
2719 2719
 					$v = null;
2720 2720
 				}
2721
-				if ( ! empty( $args[ $k . '_md' ] ) && $args[ $k . '_md' ] !== '' ) {
2722
-					$classes[] = sanitize_html_class( $args[ $k . '_md' ] );
2723
-					$v_md      = $args[ $k . '_md' ];
2721
+				if (!empty($args[$k . '_md']) && $args[$k . '_md'] !== '') {
2722
+					$classes[] = sanitize_html_class($args[$k . '_md']);
2723
+					$v_md      = $args[$k . '_md'];
2724 2724
 				} else {
2725 2725
 					$v_md = null;
2726 2726
 				}
2727
-				if ( ! empty( $args[ $k . '_lg' ] ) && $args[ $k . '_lg' ] !== '' ) {
2728
-					if ( $v == null && $v_md == null ) {
2729
-						$classes[] = sanitize_html_class( str_replace( '-lg', '', $args[ $k . '_lg' ] ) );
2727
+				if (!empty($args[$k . '_lg']) && $args[$k . '_lg'] !== '') {
2728
+					if ($v == null && $v_md == null) {
2729
+						$classes[] = sanitize_html_class(str_replace('-lg', '', $args[$k . '_lg']));
2730 2730
 					} else {
2731
-						$classes[] = sanitize_html_class( $args[ $k . '_lg' ] );
2731
+						$classes[] = sanitize_html_class($args[$k . '_lg']);
2732 2732
 					}
2733 2733
 				}
2734 2734
 			} else {
2735
-				if ( $key == 'font_size' && ! empty( $args[ $key ] ) && $args[ $key ] == 'custom' ) {
2735
+				if ($key == 'font_size' && !empty($args[$key]) && $args[$key] == 'custom') {
2736 2736
 					continue;
2737 2737
 				}
2738
-				if ( ! empty( $args[ $key ] ) ) {
2739
-					$classes[] = sd_sanitize_html_classes( $args[ $key ] );
2738
+				if (!empty($args[$key])) {
2739
+					$classes[] = sd_sanitize_html_classes($args[$key]);
2740 2740
 				}
2741 2741
 			}
2742 2742
 		}
2743 2743
 	}
2744 2744
 
2745
-	if ( ! empty( $classes ) ) {
2746
-		$classes = array_unique( array_filter( array_map( 'trim', $classes ) ) );
2745
+	if (!empty($classes)) {
2746
+		$classes = array_unique(array_filter(array_map('trim', $classes)));
2747 2747
 	}
2748 2748
 
2749
-	return implode( ' ', $classes );
2749
+	return implode(' ', $classes);
2750 2750
 }
2751 2751
 
2752 2752
 /**
@@ -2756,19 +2756,19 @@  discard block
 block discarded – undo
2756 2756
  *
2757 2757
  * @return array
2758 2758
  */
2759
-function sd_build_aui_styles( $args ) {
2759
+function sd_build_aui_styles($args) {
2760 2760
 
2761 2761
 	$styles = array();
2762 2762
 
2763 2763
 	// background color
2764
-	if ( ! empty( $args['bg'] ) && $args['bg'] !== '' ) {
2765
-		if ( $args['bg'] == 'custom-color' ) {
2764
+	if (!empty($args['bg']) && $args['bg'] !== '') {
2765
+		if ($args['bg'] == 'custom-color') {
2766 2766
 			$styles['background-color'] = $args['bg_color'];
2767
-		} elseif ( $args['bg'] == 'custom-gradient' ) {
2767
+		} elseif ($args['bg'] == 'custom-gradient') {
2768 2768
 			$styles['background-image'] = $args['bg_gradient'];
2769 2769
 
2770 2770
 			// use background on text.
2771
-			if ( ! empty( $args['bg_on_text'] ) && $args['bg_on_text'] ) {
2771
+			if (!empty($args['bg_on_text']) && $args['bg_on_text']) {
2772 2772
 				$styles['background-clip']         = 'text';
2773 2773
 				$styles['-webkit-background-clip'] = 'text';
2774 2774
 				$styles['text-fill-color']         = 'transparent';
@@ -2777,67 +2777,67 @@  discard block
 block discarded – undo
2777 2777
 		}
2778 2778
 	}
2779 2779
 
2780
-	if ( ! empty( $args['bg_image'] ) && $args['bg_image'] !== '' ) {
2780
+	if (!empty($args['bg_image']) && $args['bg_image'] !== '') {
2781 2781
 		$hasImage = true;
2782
-		if ( ! empty( $styles['background-color'] ) && $args['bg'] == 'custom-color' ) {
2782
+		if (!empty($styles['background-color']) && $args['bg'] == 'custom-color') {
2783 2783
 			$styles['background-image']      = 'url(' . $args['bg_image'] . ')';
2784 2784
 			$styles['background-blend-mode'] = 'overlay';
2785
-		} elseif ( ! empty( $styles['background-image'] ) && $args['bg'] == 'custom-gradient' ) {
2785
+		} elseif (!empty($styles['background-image']) && $args['bg'] == 'custom-gradient') {
2786 2786
 			$styles['background-image'] .= ',url(' . $args['bg_image'] . ')';
2787
-		} elseif ( ! empty( $args['bg'] ) && $args['bg'] != '' && $args['bg'] != 'transparent' ) {
2787
+		} elseif (!empty($args['bg']) && $args['bg'] != '' && $args['bg'] != 'transparent') {
2788 2788
 			// do nothing as we alreay have a preset
2789 2789
 			$hasImage = false;
2790 2790
 		} else {
2791 2791
 			$styles['background-image'] = 'url(' . $args['bg_image'] . ')';
2792 2792
 		}
2793 2793
 
2794
-		if ( $hasImage ) {
2794
+		if ($hasImage) {
2795 2795
 			$styles['background-size'] = 'cover';
2796 2796
 
2797
-			if ( ! empty( $args['bg_image_fixed'] ) && $args['bg_image_fixed'] ) {
2797
+			if (!empty($args['bg_image_fixed']) && $args['bg_image_fixed']) {
2798 2798
 				$styles['background-attachment'] = 'fixed';
2799 2799
 			}
2800 2800
 		}
2801 2801
 
2802
-		if ( $hasImage && ! empty( $args['bg_image_xy'] ) && ! empty( $args['bg_image_xy']['x'] ) ) {
2803
-			$styles['background-position'] = ( $args['bg_image_xy']['x'] * 100 ) . '% ' . ( $args['bg_image_xy']['y'] * 100 ) . '%';
2802
+		if ($hasImage && !empty($args['bg_image_xy']) && !empty($args['bg_image_xy']['x'])) {
2803
+			$styles['background-position'] = ($args['bg_image_xy']['x'] * 100) . '% ' . ($args['bg_image_xy']['y'] * 100) . '%';
2804 2804
 		}
2805 2805
 	}
2806 2806
 
2807 2807
 	// sticky offset top
2808
-	if ( ! empty( $args['sticky_offset_top'] ) && $args['sticky_offset_top'] !== '' ) {
2809
-		$styles['top'] = absint( $args['sticky_offset_top'] );
2808
+	if (!empty($args['sticky_offset_top']) && $args['sticky_offset_top'] !== '') {
2809
+		$styles['top'] = absint($args['sticky_offset_top']);
2810 2810
 	}
2811 2811
 
2812 2812
 	// sticky offset bottom
2813
-	if ( ! empty( $args['sticky_offset_bottom'] ) && $args['sticky_offset_bottom'] !== '' ) {
2814
-		$styles['bottom'] = absint( $args['sticky_offset_bottom'] );
2813
+	if (!empty($args['sticky_offset_bottom']) && $args['sticky_offset_bottom'] !== '') {
2814
+		$styles['bottom'] = absint($args['sticky_offset_bottom']);
2815 2815
 	}
2816 2816
 
2817 2817
 	// font size
2818
-	if ( ! empty( $args['font_size_custom'] ) && $args['font_size_custom'] !== '' ) {
2818
+	if (!empty($args['font_size_custom']) && $args['font_size_custom'] !== '') {
2819 2819
 		$styles['font-size'] = (float) $args['font_size_custom'] . 'rem';
2820 2820
 	}
2821 2821
 
2822 2822
 	// font color
2823
-	if ( ! empty( $args['text_color_custom'] ) && $args['text_color_custom'] !== '' ) {
2824
-		$styles['color'] = esc_attr( $args['text_color_custom'] );
2823
+	if (!empty($args['text_color_custom']) && $args['text_color_custom'] !== '') {
2824
+		$styles['color'] = esc_attr($args['text_color_custom']);
2825 2825
 	}
2826 2826
 
2827 2827
 	// font line height
2828
-	if ( ! empty( $args['font_line_height'] ) && $args['font_line_height'] !== '' ) {
2829
-		$styles['line-height'] = esc_attr( $args['font_line_height'] );
2828
+	if (!empty($args['font_line_height']) && $args['font_line_height'] !== '') {
2829
+		$styles['line-height'] = esc_attr($args['font_line_height']);
2830 2830
 	}
2831 2831
 
2832 2832
 	// max height
2833
-	if ( ! empty( $args['max_height'] ) && $args['max_height'] !== '' ) {
2834
-		$styles['max-height'] = esc_attr( $args['max_height'] );
2833
+	if (!empty($args['max_height']) && $args['max_height'] !== '') {
2834
+		$styles['max-height'] = esc_attr($args['max_height']);
2835 2835
 	}
2836 2836
 
2837 2837
 	$style_string = '';
2838
-	if ( ! empty( $styles ) ) {
2839
-		foreach ( $styles as $key => $val ) {
2840
-			$style_string .= esc_attr( $key ) . ':' . esc_attr( $val ) . ';';
2838
+	if (!empty($styles)) {
2839
+		foreach ($styles as $key => $val) {
2840
+			$style_string .= esc_attr($key) . ':' . esc_attr($val) . ';';
2841 2841
 		}
2842 2842
 	}
2843 2843
 
@@ -2853,28 +2853,28 @@  discard block
 block discarded – undo
2853 2853
  *
2854 2854
  * @return string
2855 2855
  */
2856
-function sd_build_hover_styles( $args, $is_preview = false ) {
2856
+function sd_build_hover_styles($args, $is_preview = false) {
2857 2857
 	$rules = '';
2858 2858
 	// text color
2859
-	if ( ! empty( $args['styleid'] ) ) {
2860
-		$styleid = $is_preview ? 'html .editor-styles-wrapper .' . esc_attr( $args['styleid'] ) : 'html .' . esc_attr( $args['styleid'] );
2859
+	if (!empty($args['styleid'])) {
2860
+		$styleid = $is_preview ? 'html .editor-styles-wrapper .' . esc_attr($args['styleid']) : 'html .' . esc_attr($args['styleid']);
2861 2861
 
2862 2862
 		// text
2863
-		if ( ! empty( $args['text_color_hover'] ) ) {
2864
-			$key    = 'custom' === $args['text_color_hover'] && ! empty( $args['text_color_hover_custom'] ) ? 'text_color_hover_custom' : 'text_color_hover';
2865
-			$color  = sd_get_color_from_var( $args[ $key ] );
2863
+		if (!empty($args['text_color_hover'])) {
2864
+			$key    = 'custom' === $args['text_color_hover'] && !empty($args['text_color_hover_custom']) ? 'text_color_hover_custom' : 'text_color_hover';
2865
+			$color  = sd_get_color_from_var($args[$key]);
2866 2866
 			$rules .= $styleid . ':hover {color: ' . $color . ' !important;} ';
2867 2867
 		}
2868 2868
 
2869 2869
 		// bg
2870
-		if ( ! empty( $args['bg_hover'] ) ) {
2871
-			if ( 'custom-gradient' === $args['bg_hover'] ) {
2870
+		if (!empty($args['bg_hover'])) {
2871
+			if ('custom-gradient' === $args['bg_hover']) {
2872 2872
 				$color  = $args['bg_hover_gradient'];
2873 2873
 				$rules .= $styleid . ':hover {background-image: ' . $color . ' !important;} ';
2874 2874
 				$rules .= $styleid . '.btn:hover {border-color: transparent !important;} ';
2875 2875
 			} else {
2876 2876
 				$key    = 'custom-color' === $args['bg_hover'] ? 'bg_hover_color' : 'bg_hover';
2877
-				$color  = sd_get_color_from_var( $args[ $key ] );
2877
+				$color  = sd_get_color_from_var($args[$key]);
2878 2878
 				$rules .= $styleid . ':hover {background: ' . $color . ' !important;} ';
2879 2879
 				$rules .= $styleid . '.btn:hover {border-color: ' . $color . ' !important;} ';
2880 2880
 			}
@@ -2891,11 +2891,11 @@  discard block
 block discarded – undo
2891 2891
  *
2892 2892
  * @return mixed|string
2893 2893
  */
2894
-function sd_get_color_from_var( $var ) {
2894
+function sd_get_color_from_var($var) {
2895 2895
 
2896 2896
 	//sanitize_hex_color() @todo this does not cover transparency
2897
-	if ( strpos( $var, '#' ) === false ) {
2898
-		$var = defined( 'BLOCKSTRAP_BLOCKS_VERSION' ) ? 'var(--wp--preset--color--' . esc_attr( $var ) . ')' : 'var(--' . esc_attr( $var ) . ')';
2897
+	if (strpos($var, '#') === false) {
2898
+		$var = defined('BLOCKSTRAP_BLOCKS_VERSION') ? 'var(--wp--preset--color--' . esc_attr($var) . ')' : 'var(--' . esc_attr($var) . ')';
2899 2899
 	}
2900 2900
 
2901 2901
 	return $var;
@@ -2909,16 +2909,16 @@  discard block
 block discarded – undo
2909 2909
  *
2910 2910
  * @return string
2911 2911
  */
2912
-function sd_sanitize_html_classes( $classes, $sep = ' ' ) {
2912
+function sd_sanitize_html_classes($classes, $sep = ' ') {
2913 2913
 	$return = '';
2914 2914
 
2915
-	if ( ! is_array( $classes ) ) {
2916
-		$classes = explode( $sep, $classes );
2915
+	if (!is_array($classes)) {
2916
+		$classes = explode($sep, $classes);
2917 2917
 	}
2918 2918
 
2919
-	if ( ! empty( $classes ) ) {
2920
-		foreach ( $classes as $class ) {
2921
-			$return .= sanitize_html_class( $class ) . ' ';
2919
+	if (!empty($classes)) {
2920
+		foreach ($classes as $class) {
2921
+			$return .= sanitize_html_class($class) . ' ';
2922 2922
 		}
2923 2923
 	}
2924 2924
 
@@ -2965,7 +2965,7 @@  discard block
 block discarded – undo
2965 2965
 		'width-MTD'
2966 2966
 	);
2967 2967
 
2968
-	return apply_filters( 'sd_class_build_keys', $keys );
2968
+	return apply_filters('sd_class_build_keys', $keys);
2969 2969
 }
2970 2970
 
2971 2971
 /**
@@ -2976,17 +2976,17 @@  discard block
 block discarded – undo
2976 2976
  *
2977 2977
  * @return array
2978 2978
  */
2979
-function sd_get_visibility_conditions_input( $type = 'visibility_conditions', $overwrite = array() ) {
2979
+function sd_get_visibility_conditions_input($type = 'visibility_conditions', $overwrite = array()) {
2980 2980
 	$defaults = array(
2981 2981
 		'type'         => 'visibility_conditions',
2982
-		'title'        => __( 'Block Visibility', 'ayecode-connect' ),
2983
-		'button_title' => __( 'Set Block Visibility', 'ayecode-connect' ),
2982
+		'title'        => __('Block Visibility', 'ayecode-connect'),
2983
+		'button_title' => __('Set Block Visibility', 'ayecode-connect'),
2984 2984
 		'default'      => '',
2985 2985
 		'desc_tip'     => true,
2986
-		'group'        => __( 'Visibility Conditions', 'ayecode-connect' ),
2986
+		'group'        => __('Visibility Conditions', 'ayecode-connect'),
2987 2987
 	);
2988 2988
 
2989
-	$input = wp_parse_args( $overwrite, $defaults );
2989
+	$input = wp_parse_args($overwrite, $defaults);
2990 2990
 
2991 2991
 	return $input;
2992 2992
 }
@@ -2999,22 +2999,22 @@  discard block
 block discarded – undo
2999 2999
  * @param array $exclude An array of roles to exclude from the return array.
3000 3000
  * @return array An array of roles.
3001 3001
  */
3002
-function sd_user_roles_options( $exclude = array() ) {
3002
+function sd_user_roles_options($exclude = array()) {
3003 3003
 	$user_roles = array();
3004 3004
 
3005
-	if ( !function_exists('get_editable_roles') ) {
3006
-		require_once( ABSPATH . '/wp-admin/includes/user.php' );
3005
+	if (!function_exists('get_editable_roles')) {
3006
+		require_once(ABSPATH . '/wp-admin/includes/user.php');
3007 3007
 	}
3008 3008
 
3009 3009
 	$roles = get_editable_roles();
3010 3010
 
3011
-	foreach ( $roles as $role => $data ) {
3012
-		if ( ! ( ! empty( $exclude ) && in_array( $role, $exclude ) ) ) {
3013
-			$user_roles[ esc_attr( $role ) ] = translate_user_role( $data['name'] );
3011
+	foreach ($roles as $role => $data) {
3012
+		if (!(!empty($exclude) && in_array($role, $exclude))) {
3013
+			$user_roles[esc_attr($role)] = translate_user_role($data['name']);
3014 3014
 		}
3015 3015
 	}
3016 3016
 
3017
-	return apply_filters( 'sd_user_roles_options', $user_roles );
3017
+	return apply_filters('sd_user_roles_options', $user_roles);
3018 3018
 }
3019 3019
 
3020 3020
 /**
@@ -3026,17 +3026,17 @@  discard block
 block discarded – undo
3026 3026
  */
3027 3027
 function sd_visibility_rules_options() {
3028 3028
 	$options = array(
3029
-		'logged_in'  => __( 'Logged In', 'ayecode-connect' ),
3030
-		'logged_out' => __( 'Logged Out', 'ayecode-connect' ),
3031
-		'post_author'  => __( 'Post Author', 'ayecode-connect' ),
3032
-		'user_roles' => __( 'Specific User Roles', 'ayecode-connect' )
3029
+		'logged_in'  => __('Logged In', 'ayecode-connect'),
3030
+		'logged_out' => __('Logged Out', 'ayecode-connect'),
3031
+		'post_author'  => __('Post Author', 'ayecode-connect'),
3032
+		'user_roles' => __('Specific User Roles', 'ayecode-connect')
3033 3033
 	);
3034 3034
 
3035
-	if ( class_exists( 'GeoDirectory' ) ) {
3036
-		$options['gd_field'] = __( 'GD Field', 'ayecode-connect' );
3035
+	if (class_exists('GeoDirectory')) {
3036
+		$options['gd_field'] = __('GD Field', 'ayecode-connect');
3037 3037
 	}
3038 3038
 
3039
-	return apply_filters( 'sd_visibility_rules_options', $options );
3039
+	return apply_filters('sd_visibility_rules_options', $options);
3040 3040
 }
3041 3041
 
3042 3042
 /**
@@ -3045,22 +3045,22 @@  discard block
 block discarded – undo
3045 3045
  * @return array
3046 3046
  */
3047 3047
 function sd_visibility_gd_field_options() {
3048
-	$fields = geodir_post_custom_fields( '', 'all', 'all', 'none' );
3048
+	$fields = geodir_post_custom_fields('', 'all', 'all', 'none');
3049 3049
 
3050 3050
 	$keys = array();
3051
-	if ( ! empty( $fields ) ) {
3052
-		foreach( $fields as $field ) {
3053
-			if ( apply_filters( 'geodir_badge_field_skip_key', false, $field ) ) {
3051
+	if (!empty($fields)) {
3052
+		foreach ($fields as $field) {
3053
+			if (apply_filters('geodir_badge_field_skip_key', false, $field)) {
3054 3054
 				continue;
3055 3055
 			}
3056 3056
 
3057
-			$keys[ $field['htmlvar_name'] ] = $field['htmlvar_name'] . ' ( ' . __( $field['admin_title'], 'geodirectory' ) . ' )';
3057
+			$keys[$field['htmlvar_name']] = $field['htmlvar_name'] . ' ( ' . __($field['admin_title'], 'geodirectory') . ' )';
3058 3058
 
3059 3059
 			// Extra address fields
3060
-			if ( $field['htmlvar_name'] == 'address' && ( $address_fields = geodir_post_meta_address_fields( '' ) ) ) {
3061
-				foreach ( $address_fields as $_field => $args ) {
3062
-					if ( $_field != 'map_directions' && $_field != 'street' ) {
3063
-						$keys[ $_field ] = $_field . ' ( ' . $args['frontend_title'] . ' )';
3060
+			if ($field['htmlvar_name'] == 'address' && ($address_fields = geodir_post_meta_address_fields(''))) {
3061
+				foreach ($address_fields as $_field => $args) {
3062
+					if ($_field != 'map_directions' && $_field != 'street') {
3063
+						$keys[$_field] = $_field . ' ( ' . $args['frontend_title'] . ' )';
3064 3064
 					}
3065 3065
 				}
3066 3066
 			}
@@ -3069,15 +3069,15 @@  discard block
 block discarded – undo
3069 3069
 
3070 3070
 	$standard_fields = sd_visibility_gd_standard_field_options();
3071 3071
 
3072
-	if ( ! empty( $standard_fields ) ) {
3073
-		foreach ( $standard_fields as $key => $option ) {
3074
-			$keys[ $key ] = $option;
3072
+	if (!empty($standard_fields)) {
3073
+		foreach ($standard_fields as $key => $option) {
3074
+			$keys[$key] = $option;
3075 3075
 		}
3076 3076
 	}
3077 3077
 
3078
-	$options = apply_filters( 'geodir_badge_field_keys', $keys );
3078
+	$options = apply_filters('geodir_badge_field_keys', $keys);
3079 3079
 
3080
-	return apply_filters( 'sd_visibility_gd_field_options', $options );
3080
+	return apply_filters('sd_visibility_gd_field_options', $options);
3081 3081
 }
3082 3082
 
3083 3083
 /**
@@ -3085,18 +3085,18 @@  discard block
 block discarded – undo
3085 3085
  *
3086 3086
  * @return array
3087 3087
  */
3088
-function sd_visibility_gd_standard_field_options( $post_type = '' ) {
3089
-	$fields = sd_visibility_gd_standard_fields( $post_type );
3088
+function sd_visibility_gd_standard_field_options($post_type = '') {
3089
+	$fields = sd_visibility_gd_standard_fields($post_type);
3090 3090
 
3091 3091
 	$options = array();
3092 3092
 
3093
-	foreach ( $fields as $key => $field ) {
3094
-		if ( ! empty( $field['frontend_title'] ) ) {
3095
-			$options[ $key ] = $key . ' ( ' . $field['frontend_title'] . ' )';
3093
+	foreach ($fields as $key => $field) {
3094
+		if (!empty($field['frontend_title'])) {
3095
+			$options[$key] = $key . ' ( ' . $field['frontend_title'] . ' )';
3096 3096
 		}
3097 3097
 	}
3098 3098
 
3099
-	return apply_filters( 'sd_visibility_gd_standard_field_options', $options, $fields );
3099
+	return apply_filters('sd_visibility_gd_standard_field_options', $options, $fields);
3100 3100
 }
3101 3101
 
3102 3102
 /**
@@ -3104,18 +3104,18 @@  discard block
 block discarded – undo
3104 3104
  *
3105 3105
  * @return array
3106 3106
  */
3107
-function sd_visibility_gd_standard_fields( $post_type = '' ) {
3108
-	$standard_fields = geodir_post_meta_standard_fields( $post_type );
3107
+function sd_visibility_gd_standard_fields($post_type = '') {
3108
+	$standard_fields = geodir_post_meta_standard_fields($post_type);
3109 3109
 
3110 3110
 	$fields = array();
3111 3111
 
3112
-	foreach ( $standard_fields as $key => $field ) {
3113
-		if ( $key != 'post_link' && strpos( $key, 'event' ) === false && ! empty( $field['frontend_title'] ) ) {
3114
-			$fields[ $key ] = $field;
3112
+	foreach ($standard_fields as $key => $field) {
3113
+		if ($key != 'post_link' && strpos($key, 'event') === false && !empty($field['frontend_title'])) {
3114
+			$fields[$key] = $field;
3115 3115
 		}
3116 3116
 	}
3117 3117
 
3118
-	return apply_filters( 'sd_visibility_gd_standard_fields', $fields );
3118
+	return apply_filters('sd_visibility_gd_standard_fields', $fields);
3119 3119
 }
3120 3120
 
3121 3121
 /**
@@ -3123,19 +3123,19 @@  discard block
 block discarded – undo
3123 3123
  *
3124 3124
  * @return array
3125 3125
  */
3126
-function sd_visibility_field_condition_options(){
3126
+function sd_visibility_field_condition_options() {
3127 3127
 	$options = array(
3128
-		'is_empty' => __( 'is empty', 'ayecode-connect' ),
3129
-		'is_not_empty' => __( 'is not empty', 'ayecode-connect' ),
3130
-		'is_equal' => __( 'is equal', 'ayecode-connect' ),
3131
-		'is_not_equal' => __( 'is not equal', 'ayecode-connect' ),
3132
-		'is_greater_than' => __( 'is greater than', 'ayecode-connect' ),
3133
-		'is_less_than' => __( 'is less than', 'ayecode-connect' ),
3134
-		'is_contains' => __( 'is contains', 'ayecode-connect' ),
3135
-		'is_not_contains' => __( 'is not contains', 'ayecode-connect' ),
3128
+		'is_empty' => __('is empty', 'ayecode-connect'),
3129
+		'is_not_empty' => __('is not empty', 'ayecode-connect'),
3130
+		'is_equal' => __('is equal', 'ayecode-connect'),
3131
+		'is_not_equal' => __('is not equal', 'ayecode-connect'),
3132
+		'is_greater_than' => __('is greater than', 'ayecode-connect'),
3133
+		'is_less_than' => __('is less than', 'ayecode-connect'),
3134
+		'is_contains' => __('is contains', 'ayecode-connect'),
3135
+		'is_not_contains' => __('is not contains', 'ayecode-connect'),
3136 3136
 	);
3137 3137
 
3138
-	return apply_filters( 'sd_visibility_field_condition_options', $options );
3138
+	return apply_filters('sd_visibility_field_condition_options', $options);
3139 3139
 }
3140 3140
 
3141 3141
 /**
@@ -3147,13 +3147,13 @@  discard block
 block discarded – undo
3147 3147
  */
3148 3148
 function sd_visibility_output_options() {
3149 3149
 	$options = array(
3150
-		'hide'          => __( 'Hide Block', 'ayecode-connect' ),
3151
-		'message'       => __( 'Show Custom Message', 'ayecode-connect' ),
3152
-		'page'          => __( 'Show Page Content', 'ayecode-connect' ),
3153
-		'template_part' => __( 'Show Template Part', 'ayecode-connect' ),
3150
+		'hide'          => __('Hide Block', 'ayecode-connect'),
3151
+		'message'       => __('Show Custom Message', 'ayecode-connect'),
3152
+		'page'          => __('Show Page Content', 'ayecode-connect'),
3153
+		'template_part' => __('Show Template Part', 'ayecode-connect'),
3154 3154
 	);
3155 3155
 
3156
-	return apply_filters( 'sd_visibility_output_options', $options );
3156
+	return apply_filters('sd_visibility_output_options', $options);
3157 3157
 }
3158 3158
 
3159 3159
 /**
@@ -3164,46 +3164,46 @@  discard block
 block discarded – undo
3164 3164
  * @param array $args Array of arguments.
3165 3165
  * @return array Template page options.
3166 3166
  */
3167
-function sd_template_page_options( $args = array() ) {
3167
+function sd_template_page_options($args = array()) {
3168 3168
 	global $sd_tmpl_page_options;
3169 3169
 
3170
-	if ( ! empty( $sd_tmpl_page_options ) ) {
3170
+	if (!empty($sd_tmpl_page_options)) {
3171 3171
 		return $sd_tmpl_page_options;
3172 3172
 	}
3173 3173
 
3174
-	$args = wp_parse_args( $args, array(
3174
+	$args = wp_parse_args($args, array(
3175 3175
 		'child_of'    => 0,
3176 3176
 		'sort_column' => 'post_title',
3177 3177
 		'sort_order'  => 'ASC'
3178
-	) );
3178
+	));
3179 3179
 
3180 3180
 	$exclude_pages = array();
3181
-	if ( $page_on_front = get_option( 'page_on_front' ) ) {
3181
+	if ($page_on_front = get_option('page_on_front')) {
3182 3182
 		$exclude_pages[] = $page_on_front;
3183 3183
 	}
3184 3184
 
3185
-	if ( $page_for_posts = get_option( 'page_for_posts' ) ) {
3185
+	if ($page_for_posts = get_option('page_for_posts')) {
3186 3186
 		$exclude_pages[] = $page_for_posts;
3187 3187
 	}
3188 3188
 
3189
-	if ( ! empty( $exclude_pages ) ) {
3189
+	if (!empty($exclude_pages)) {
3190 3190
 		$args['exclude'] = $exclude_pages;
3191 3191
 	}
3192 3192
 
3193
-	$pages = get_pages( $args );
3193
+	$pages = get_pages($args);
3194 3194
 
3195
-	$options = array( '' => __( 'Select Page...', 'ayecode-connect' ) );
3196
-	if ( ! empty( $pages ) ) {
3197
-		foreach ( $pages as $page ) {
3198
-			if ( ! empty( $page->ID ) && ! empty( $page->post_title ) ) {
3199
-				$options[ $page->ID ] = $page->post_title . ' (#' . $page->ID . ')';
3195
+	$options = array('' => __('Select Page...', 'ayecode-connect'));
3196
+	if (!empty($pages)) {
3197
+		foreach ($pages as $page) {
3198
+			if (!empty($page->ID) && !empty($page->post_title)) {
3199
+				$options[$page->ID] = $page->post_title . ' (#' . $page->ID . ')';
3200 3200
 			}
3201 3201
 		}
3202 3202
 	}
3203 3203
 
3204 3204
 	$sd_tmpl_page_options = $options;
3205 3205
 
3206
-	return apply_filters( 'sd_template_page_options', $options );
3206
+	return apply_filters('sd_template_page_options', $options);
3207 3207
 }
3208 3208
 
3209 3209
 /**
@@ -3214,26 +3214,26 @@  discard block
 block discarded – undo
3214 3214
  * @param array $args Array of arguments.
3215 3215
  * @return array Template part options.
3216 3216
  */
3217
-function sd_template_part_options( $args = array() ) {
3217
+function sd_template_part_options($args = array()) {
3218 3218
 	global $sd_tmpl_part_options;
3219 3219
 
3220
-	if ( ! empty( $sd_tmpl_part_options ) ) {
3220
+	if (!empty($sd_tmpl_part_options)) {
3221 3221
 		return $sd_tmpl_part_options;
3222 3222
 	}
3223 3223
 
3224
-	$options = array( '' => __( 'Select Template Part...', 'ayecode-connect' ) );
3224
+	$options = array('' => __('Select Template Part...', 'ayecode-connect'));
3225 3225
 
3226
-	$parts = get_block_templates( array(), 'wp_template_part' );
3226
+	$parts = get_block_templates(array(), 'wp_template_part');
3227 3227
 
3228
-	if ( ! empty( $parts ) ) {
3229
-		foreach ( $parts as $part ) {
3230
-			$options[ $part->slug ] = $part->title . ' (#' . $part->slug . ')';
3228
+	if (!empty($parts)) {
3229
+		foreach ($parts as $part) {
3230
+			$options[$part->slug] = $part->title . ' (#' . $part->slug . ')';
3231 3231
 		}
3232 3232
 	}
3233 3233
 
3234 3234
 	$sd_tmpl_part_options = $options;
3235 3235
 
3236
-	return apply_filters( 'sd_template_part_options', $options, $args );
3236
+	return apply_filters('sd_template_part_options', $options, $args);
3237 3237
 }
3238 3238
 
3239 3239
 /**
@@ -3244,26 +3244,26 @@  discard block
 block discarded – undo
3244 3244
  * @param string $slug Template slug.
3245 3245
  * @return array Template part object.
3246 3246
  */
3247
-function sd_get_template_part_by_slug( $slug ) {
3247
+function sd_get_template_part_by_slug($slug) {
3248 3248
 	global $bs_tmpl_part_by_slug;
3249 3249
 
3250
-	if ( empty( $bs_tmpl_part_by_slug ) ) {
3250
+	if (empty($bs_tmpl_part_by_slug)) {
3251 3251
 		$bs_tmpl_part_by_slug = array();
3252 3252
 	}
3253 3253
 
3254
-	if ( isset( $bs_tmpl_part_by_slug[ $slug ] ) ) {
3255
-		return $bs_tmpl_part_by_slug[ $slug ];
3254
+	if (isset($bs_tmpl_part_by_slug[$slug])) {
3255
+		return $bs_tmpl_part_by_slug[$slug];
3256 3256
 	}
3257 3257
 
3258
-	$template_query = get_block_templates( array( 'slug__in' => array( $slug ) ), 'wp_template_part' );
3258
+	$template_query = get_block_templates(array('slug__in' => array($slug)), 'wp_template_part');
3259 3259
 
3260
-	$query_post = ! empty( $template_query ) ? $template_query[0] : array();
3260
+	$query_post = !empty($template_query) ? $template_query[0] : array();
3261 3261
 
3262
-	$template_part = ! empty( $query_post ) && $query_post->status == 'publish' ? $query_post : array();
3262
+	$template_part = !empty($query_post) && $query_post->status == 'publish' ? $query_post : array();
3263 3263
 
3264
-	$bs_tmpl_part_by_slug[ $slug ] = $template_part;
3264
+	$bs_tmpl_part_by_slug[$slug] = $template_part;
3265 3265
 
3266
-	return apply_filters( 'sd_get_template_part_by_slug', $template_part, $slug );
3266
+	return apply_filters('sd_get_template_part_by_slug', $template_part, $slug);
3267 3267
 }
3268 3268
 
3269 3269
 /**
@@ -3275,25 +3275,25 @@  discard block
 block discarded – undo
3275 3275
  * @param array    $block         The full block, including name and attributes.
3276 3276
  * @param WP_Block $instance      The block instance.
3277 3277
  */
3278
-function sd_render_block( $block_content, $block, $instance = '' ) {
3278
+function sd_render_block($block_content, $block, $instance = '') {
3279 3279
 	// No block visibility conditions set.
3280
-	if ( empty( $block['attrs']['visibility_conditions'] ) ) {
3280
+	if (empty($block['attrs']['visibility_conditions'])) {
3281 3281
 		return $block_content;
3282 3282
 	}
3283 3283
 
3284
-	$attributes = json_decode( $block['attrs']['visibility_conditions'], true );
3285
-	$rules = ! empty( $attributes ) ? sd_block_parse_rules( $attributes ) : array();
3284
+	$attributes = json_decode($block['attrs']['visibility_conditions'], true);
3285
+	$rules = !empty($attributes) ? sd_block_parse_rules($attributes) : array();
3286 3286
 
3287 3287
 	// No rules set.
3288
-	if ( empty( $rules ) ) {
3288
+	if (empty($rules)) {
3289 3289
 		return $block_content;
3290 3290
 	}
3291 3291
 
3292 3292
 	$_block_content = $block_content;
3293 3293
 
3294
-	if ( ! empty( $rules ) && sd_block_check_rules( $rules ) ) {
3295
-		if ( ! empty( $attributes['output']['type'] ) ) {
3296
-			switch ( $attributes['output']['type'] ) {
3294
+	if (!empty($rules) && sd_block_check_rules($rules)) {
3295
+		if (!empty($attributes['output']['type'])) {
3296
+			switch ($attributes['output']['type']) {
3297 3297
 				case 'hide':
3298 3298
 					$valid_type = true;
3299 3299
 					$content = '';
@@ -3302,11 +3302,11 @@  discard block
 block discarded – undo
3302 3302
 				case 'message':
3303 3303
 					$valid_type = true;
3304 3304
 
3305
-					if ( isset( $attributes['output']['message'] ) ) {
3306
-						$content = $attributes['output']['message'] != '' ? __( stripslashes( $attributes['output']['message'] ), 'ayecode-connect' ) : $attributes['output']['message'];
3305
+					if (isset($attributes['output']['message'])) {
3306
+						$content = $attributes['output']['message'] != '' ? __(stripslashes($attributes['output']['message']), 'ayecode-connect') : $attributes['output']['message'];
3307 3307
 
3308
-						if ( ! empty( $attributes['output']['message_type'] ) ) {
3309
-							$content = aui()->alert( array(
3308
+						if (!empty($attributes['output']['message_type'])) {
3309
+							$content = aui()->alert(array(
3310 3310
 									'type'=> $attributes['output']['message_type'],
3311 3311
 									'content'=> $content
3312 3312
 								)
@@ -3318,15 +3318,15 @@  discard block
 block discarded – undo
3318 3318
 				case 'page':
3319 3319
 					$valid_type = true;
3320 3320
 
3321
-					$page_id = ! empty( $attributes['output']['page'] ) ? absint( $attributes['output']['page'] ) : 0;
3322
-					$content = sd_get_page_content( $page_id );
3321
+					$page_id = !empty($attributes['output']['page']) ? absint($attributes['output']['page']) : 0;
3322
+					$content = sd_get_page_content($page_id);
3323 3323
 
3324 3324
 					break;
3325 3325
 				case 'template_part':
3326 3326
 					$valid_type = true;
3327 3327
 
3328
-					$template_part = ! empty( $attributes['output']['template_part'] ) ? $attributes['output']['template_part'] : '';
3329
-					$content = sd_get_template_part_content( $template_part );
3328
+					$template_part = !empty($attributes['output']['template_part']) ? $attributes['output']['template_part'] : '';
3329
+					$content = sd_get_template_part_content($template_part);
3330 3330
 
3331 3331
 					break;
3332 3332
 				default:
@@ -3334,104 +3334,104 @@  discard block
 block discarded – undo
3334 3334
 					break;
3335 3335
 			}
3336 3336
 
3337
-			if ( $valid_type ) {
3338
-				$block_content = '<div class="' . esc_attr( wp_get_block_default_classname( $instance->name ) ) . ' sd-block-has-rule">' . $content . '</div>';
3337
+			if ($valid_type) {
3338
+				$block_content = '<div class="' . esc_attr(wp_get_block_default_classname($instance->name)) . ' sd-block-has-rule">' . $content . '</div>';
3339 3339
 			}
3340 3340
 		}
3341 3341
 	}
3342 3342
 
3343
-	return apply_filters( 'sd_render_block_visibility_content', $block_content, $_block_content, $attributes, $block, $instance );
3343
+	return apply_filters('sd_render_block_visibility_content', $block_content, $_block_content, $attributes, $block, $instance);
3344 3344
 }
3345
-add_filter( 'render_block', 'sd_render_block', 9, 3 );
3345
+add_filter('render_block', 'sd_render_block', 9, 3);
3346 3346
 
3347
-function sd_get_page_content( $page_id ) {
3348
-	$content = $page_id > 0 ? get_post_field( 'post_content', (int) $page_id ) : '';
3347
+function sd_get_page_content($page_id) {
3348
+	$content = $page_id > 0 ? get_post_field('post_content', (int) $page_id) : '';
3349 3349
 
3350 3350
 	// Maybe bypass content
3351
-	$bypass_content = apply_filters( 'sd_bypass_page_content', '', $content, $page_id );
3352
-	if ( $bypass_content ) {
3351
+	$bypass_content = apply_filters('sd_bypass_page_content', '', $content, $page_id);
3352
+	if ($bypass_content) {
3353 3353
 		return $bypass_content;
3354 3354
 	}
3355 3355
 
3356 3356
 	// Run the shortcodes on the content.
3357
-	$content = do_shortcode( $content );
3357
+	$content = do_shortcode($content);
3358 3358
 
3359 3359
 	// Run block content if its available.
3360
-	if ( function_exists( 'do_blocks' ) ) {
3361
-		$content = do_blocks( $content );
3360
+	if (function_exists('do_blocks')) {
3361
+		$content = do_blocks($content);
3362 3362
 	}
3363 3363
 
3364
-	return apply_filters( 'sd_get_page_content', $content, $page_id );
3364
+	return apply_filters('sd_get_page_content', $content, $page_id);
3365 3365
 }
3366 3366
 
3367
-function sd_get_template_part_content( $template_part ) {
3368
-	$template_part_post = $template_part ? sd_get_template_part_by_slug( $template_part ) : array();
3369
-	$content = ! empty( $template_part_post ) ? $template_part_post->content : '';
3367
+function sd_get_template_part_content($template_part) {
3368
+	$template_part_post = $template_part ? sd_get_template_part_by_slug($template_part) : array();
3369
+	$content = !empty($template_part_post) ? $template_part_post->content : '';
3370 3370
 
3371 3371
 	// Maybe bypass content
3372
-	$bypass_content = apply_filters( 'sd_bypass_template_part_content', '', $content, $template_part );
3373
-	if ( $bypass_content ) {
3372
+	$bypass_content = apply_filters('sd_bypass_template_part_content', '', $content, $template_part);
3373
+	if ($bypass_content) {
3374 3374
 		return $bypass_content;
3375 3375
 	}
3376 3376
 
3377 3377
 	// Run the shortcodes on the content.
3378
-	$content = do_shortcode( $content );
3378
+	$content = do_shortcode($content);
3379 3379
 
3380 3380
 	// Run block content if its available.
3381
-	if ( function_exists( 'do_blocks' ) ) {
3382
-		$content = do_blocks( $content );
3381
+	if (function_exists('do_blocks')) {
3382
+		$content = do_blocks($content);
3383 3383
 	}
3384 3384
 
3385
-	return apply_filters( 'sd_get_template_part_content', $content, $template_part );
3385
+	return apply_filters('sd_get_template_part_content', $content, $template_part);
3386 3386
 }
3387 3387
 
3388
-function sd_block_parse_rules( $attrs ) {
3388
+function sd_block_parse_rules($attrs) {
3389 3389
 	$rules = array();
3390 3390
 
3391
-	if ( ! empty( $attrs ) && is_array( $attrs ) ) {
3392
-		$attrs_keys = array_keys( $attrs );
3391
+	if (!empty($attrs) && is_array($attrs)) {
3392
+		$attrs_keys = array_keys($attrs);
3393 3393
 
3394
-		for ( $i = 1; $i <= count( $attrs_keys ); $i++ ) {
3395
-			if ( ! empty( $attrs[ 'rule' . $i ] ) && is_array( $attrs[ 'rule' . $i ] ) ) {
3396
-				$rules[] = $attrs[ 'rule' . $i ];
3394
+		for ($i = 1; $i <= count($attrs_keys); $i++) {
3395
+			if (!empty($attrs['rule' . $i]) && is_array($attrs['rule' . $i])) {
3396
+				$rules[] = $attrs['rule' . $i];
3397 3397
 			}
3398 3398
 		}
3399 3399
 	}
3400 3400
 
3401
-	return apply_filters( 'sd_block_parse_rules', $rules, $attrs );
3401
+	return apply_filters('sd_block_parse_rules', $rules, $attrs);
3402 3402
 }
3403 3403
 
3404
-function sd_block_check_rules( $rules ) {
3405
-	if ( ! ( is_array( $rules ) && ! empty( $rules ) ) ) {
3404
+function sd_block_check_rules($rules) {
3405
+	if (!(is_array($rules) && !empty($rules))) {
3406 3406
 		return true;
3407 3407
 	}
3408 3408
 
3409
-	foreach ( $rules as $key => $rule ) {
3410
-		$match = apply_filters( 'sd_block_check_rule', true, $rule );
3409
+	foreach ($rules as $key => $rule) {
3410
+		$match = apply_filters('sd_block_check_rule', true, $rule);
3411 3411
 
3412
-		if ( ! $match ) {
3412
+		if (!$match) {
3413 3413
 			break;
3414 3414
 		}
3415 3415
 	}
3416 3416
 
3417
-	return apply_filters( 'sd_block_check_rules', $match, $rules );
3417
+	return apply_filters('sd_block_check_rules', $match, $rules);
3418 3418
 }
3419 3419
 
3420
-function sd_block_check_rule( $match, $rule ) {
3420
+function sd_block_check_rule($match, $rule) {
3421 3421
 	global $post;
3422 3422
 
3423
-	if ( $match && ! empty( $rule['type'] ) ) {
3424
-		switch ( $rule['type'] ) {
3423
+	if ($match && !empty($rule['type'])) {
3424
+		switch ($rule['type']) {
3425 3425
 			case 'logged_in':
3426 3426
 				$match = (bool) is_user_logged_in();
3427 3427
 
3428 3428
 				break;
3429 3429
 			case 'logged_out':
3430
-				$match = ! is_user_logged_in();
3430
+				$match = !is_user_logged_in();
3431 3431
 
3432 3432
 				break;
3433 3433
 			case 'post_author':
3434
-				if ( ! empty( $post ) && $post->post_type != 'page' && ! empty( $post->post_author ) && is_user_logged_in() ) {
3434
+				if (!empty($post) && $post->post_type != 'page' && !empty($post->post_author) && is_user_logged_in()) {
3435 3435
 					$match = (int) $post->post_author === (int) get_current_user_id() ? true : false;
3436 3436
 				} else {
3437 3437
 					$match = false;
@@ -3441,18 +3441,18 @@  discard block
 block discarded – undo
3441 3441
 			case 'user_roles':
3442 3442
 				$match = false;
3443 3443
 
3444
-				if ( ! empty( $rule['user_roles'] ) ) {
3445
-					$user_roles = is_scalar( $rule['user_roles'] ) ? explode( ",", $rule['user_roles'] ) : $rule['user_roles'];
3444
+				if (!empty($rule['user_roles'])) {
3445
+					$user_roles = is_scalar($rule['user_roles']) ? explode(",", $rule['user_roles']) : $rule['user_roles'];
3446 3446
 
3447
-					if ( is_array( $user_roles ) ) {
3448
-						$user_roles = array_filter( array_map( 'trim', $user_roles ) );
3447
+					if (is_array($user_roles)) {
3448
+						$user_roles = array_filter(array_map('trim', $user_roles));
3449 3449
 					}
3450 3450
 
3451
-					if ( ! empty( $user_roles ) && is_array( $user_roles ) && is_user_logged_in() && ( $current_user = wp_get_current_user() ) ) {
3451
+					if (!empty($user_roles) && is_array($user_roles) && is_user_logged_in() && ($current_user = wp_get_current_user())) {
3452 3452
 						$current_user_roles = $current_user->roles;
3453 3453
 
3454
-						foreach ( $user_roles as $role ) {
3455
-							if ( in_array( $role, $current_user_roles ) ) {
3454
+						foreach ($user_roles as $role) {
3455
+							if (in_array($role, $current_user_roles)) {
3456 3456
 								$match = true;
3457 3457
 							}
3458 3458
 						}
@@ -3461,7 +3461,7 @@  discard block
 block discarded – undo
3461 3461
 
3462 3462
 				break;
3463 3463
 			case 'gd_field':
3464
-				$match = sd_block_check_rule_gd_field( $rule );
3464
+				$match = sd_block_check_rule_gd_field($rule);
3465 3465
 
3466 3466
 				break;
3467 3467
 		}
@@ -3469,145 +3469,145 @@  discard block
 block discarded – undo
3469 3469
 
3470 3470
 	return $match;
3471 3471
 }
3472
-add_filter( 'sd_block_check_rule', 'sd_block_check_rule', 10, 2 );
3472
+add_filter('sd_block_check_rule', 'sd_block_check_rule', 10, 2);
3473 3473
 
3474
-function sd_block_check_rule_gd_field( $rule ) {
3474
+function sd_block_check_rule_gd_field($rule) {
3475 3475
 	global $gd_post;
3476 3476
 
3477 3477
 	$match_found = false;
3478 3478
 
3479
-	if ( class_exists( 'GeoDirectory' ) && ! empty( $gd_post->ID ) && ! empty( $rule['field'] ) && ! empty( $rule['condition'] ) ) {
3479
+	if (class_exists('GeoDirectory') && !empty($gd_post->ID) && !empty($rule['field']) && !empty($rule['condition'])) {
3480 3480
 		$args['block_visibility'] = true;
3481 3481
 		$args['key'] = $rule['field'];
3482 3482
 		$args['condition'] = $rule['condition'];
3483
-		$args['search'] = isset( $rule['search'] ) ? $rule['search'] : '';
3483
+		$args['search'] = isset($rule['search']) ? $rule['search'] : '';
3484 3484
 
3485
-		if ( $args['key'] == 'street' ) {
3485
+		if ($args['key'] == 'street') {
3486 3486
 			$args['key'] = 'address';
3487 3487
 		}
3488 3488
 
3489 3489
 		$match_field = $_match_field = $args['key'];
3490 3490
 
3491
-		if ( $match_field == 'address' ) {
3491
+		if ($match_field == 'address') {
3492 3492
 			$match_field = 'street';
3493
-		} elseif ( $match_field == 'post_images' ) {
3493
+		} elseif ($match_field == 'post_images') {
3494 3494
 			$match_field = 'featured_image';
3495 3495
 		}
3496 3496
 
3497 3497
 		$find_post = $gd_post;
3498
-		$find_post_keys = ! empty( $find_post ) ? array_keys( (array) $find_post ) : array();
3498
+		$find_post_keys = !empty($find_post) ? array_keys((array) $find_post) : array();
3499 3499
 
3500
-		if ( ! empty( $find_post->ID ) && ! in_array( 'post_category', $find_post_keys ) ) {
3501
-			$find_post = geodir_get_post_info( (int) $find_post->ID );
3502
-			$find_post_keys = ! empty( $find_post ) ? array_keys( (array) $find_post ) : array();
3500
+		if (!empty($find_post->ID) && !in_array('post_category', $find_post_keys)) {
3501
+			$find_post = geodir_get_post_info((int) $find_post->ID);
3502
+			$find_post_keys = !empty($find_post) ? array_keys((array) $find_post) : array();
3503 3503
 		}
3504 3504
 
3505
-		if ( $match_field === '' || ( ! empty( $find_post_keys ) && ( in_array( $match_field, $find_post_keys ) || in_array( $_match_field, $find_post_keys ) ) ) ) {
3506
-			$address_fields = array( 'street2', 'neighbourhood', 'city', 'region', 'country', 'zip', 'latitude', 'longitude' ); // Address fields
3505
+		if ($match_field === '' || (!empty($find_post_keys) && (in_array($match_field, $find_post_keys) || in_array($_match_field, $find_post_keys)))) {
3506
+			$address_fields = array('street2', 'neighbourhood', 'city', 'region', 'country', 'zip', 'latitude', 'longitude'); // Address fields
3507 3507
 			$field = array();
3508 3508
 			$empty_field = false;
3509 3509
 
3510 3510
 			$standard_fields = sd_visibility_gd_standard_fields();
3511 3511
 
3512
-			if ( $match_field && ! in_array( $match_field, array_keys( $standard_fields ) ) && ! in_array( $match_field, $address_fields ) ) {
3513
-				$package_id = geodir_get_post_package_id( $find_post->ID, $find_post->post_type );
3514
-				$fields = geodir_post_custom_fields( $package_id, 'all', $find_post->post_type, 'none' );
3512
+			if ($match_field && !in_array($match_field, array_keys($standard_fields)) && !in_array($match_field, $address_fields)) {
3513
+				$package_id = geodir_get_post_package_id($find_post->ID, $find_post->post_type);
3514
+				$fields = geodir_post_custom_fields($package_id, 'all', $find_post->post_type, 'none');
3515 3515
 
3516
-				foreach ( $fields as $field_info ) {
3517
-					if ( $match_field == $field_info['htmlvar_name'] ) {
3516
+				foreach ($fields as $field_info) {
3517
+					if ($match_field == $field_info['htmlvar_name']) {
3518 3518
 						$field = $field_info;
3519 3519
 						break;
3520
-					} elseif( $_match_field == $field_info['htmlvar_name'] ) {
3520
+					} elseif ($_match_field == $field_info['htmlvar_name']) {
3521 3521
 						$field = $field_info;
3522 3522
 						break;
3523 3523
 					}
3524 3524
 				}
3525 3525
 
3526
-				if ( empty( $field ) ) {
3526
+				if (empty($field)) {
3527 3527
 					$empty_field = true;
3528 3528
 				}
3529 3529
 			}
3530 3530
 
3531 3531
 			// Address fields.
3532
-			if ( in_array( $match_field, $address_fields ) && ( $address_fields = geodir_post_meta_address_fields( '' ) ) ) {
3533
-				if ( ! empty( $address_fields[ $match_field ] ) ) {
3534
-					$field = $address_fields[ $match_field ];
3532
+			if (in_array($match_field, $address_fields) && ($address_fields = geodir_post_meta_address_fields(''))) {
3533
+				if (!empty($address_fields[$match_field])) {
3534
+					$field = $address_fields[$match_field];
3535 3535
 				}
3536
-			} else if ( in_array( $match_field, array_keys( $standard_fields ) ) ) {
3537
-				if ( ! empty( $standard_fields[ $match_field ] ) ) {
3538
-					$field = $standard_fields[ $match_field ];
3536
+			} else if (in_array($match_field, array_keys($standard_fields))) {
3537
+				if (!empty($standard_fields[$match_field])) {
3538
+					$field = $standard_fields[$match_field];
3539 3539
 				}
3540 3540
 			}
3541 3541
 
3542 3542
 			// Parse search.
3543
-			$search = sd_gd_field_rule_search( $args['search'], $find_post->post_type, $rule, $field, $find_post );
3543
+			$search = sd_gd_field_rule_search($args['search'], $find_post->post_type, $rule, $field, $find_post);
3544 3544
 
3545
-			$is_date = ( ! empty( $field['type'] ) && $field['type'] == 'datepicker' ) || in_array( $match_field, array( 'post_date', 'post_modified' ) ) ? true : false;
3546
-			$is_date = apply_filters( 'geodir_post_badge_is_date', $is_date, $match_field, $field, $args, $find_post );
3545
+			$is_date = (!empty($field['type']) && $field['type'] == 'datepicker') || in_array($match_field, array('post_date', 'post_modified')) ? true : false;
3546
+			$is_date = apply_filters('geodir_post_badge_is_date', $is_date, $match_field, $field, $args, $find_post);
3547 3547
 
3548
-			$match_value = isset( $find_post->{$match_field} ) && empty( $empty_field ) ? esc_attr( trim( $find_post->{$match_field} ) ) : '';
3548
+			$match_value = isset($find_post->{$match_field} ) && empty($empty_field) ? esc_attr(trim($find_post->{$match_field} )) : '';
3549 3549
 			$match_found = $match_field === '' ? true : false;
3550 3550
 
3551
-			if ( ! $match_found ) {
3552
-				if ( ( $match_field == 'post_date' || $match_field == 'post_modified' ) && ( empty( $args['condition'] ) || $args['condition'] == 'is_greater_than' || $args['condition'] == 'is_less_than' ) ) {
3553
-					if ( strpos( $search, '+' ) === false && strpos( $search, '-' ) === false ) {
3551
+			if (!$match_found) {
3552
+				if (($match_field == 'post_date' || $match_field == 'post_modified') && (empty($args['condition']) || $args['condition'] == 'is_greater_than' || $args['condition'] == 'is_less_than')) {
3553
+					if (strpos($search, '+') === false && strpos($search, '-') === false) {
3554 3554
 						$search = '+' . $search;
3555 3555
 					}
3556
-					$the_time = $match_field == 'post_modified' ? get_the_modified_date( 'Y-m-d', $find_post ) : get_the_time( 'Y-m-d', $find_post );
3557
-					$until_time = strtotime( $the_time . ' ' . $search . ' days' );
3558
-					$now_time   = strtotime( date_i18n( 'Y-m-d', current_time( 'timestamp' ) ) );
3559
-					if ( ( empty( $args['condition'] ) || $args['condition'] == 'is_less_than' ) && $until_time > $now_time ) {
3556
+					$the_time = $match_field == 'post_modified' ? get_the_modified_date('Y-m-d', $find_post) : get_the_time('Y-m-d', $find_post);
3557
+					$until_time = strtotime($the_time . ' ' . $search . ' days');
3558
+					$now_time   = strtotime(date_i18n('Y-m-d', current_time('timestamp')));
3559
+					if ((empty($args['condition']) || $args['condition'] == 'is_less_than') && $until_time > $now_time) {
3560 3560
 						$match_found = true;
3561
-					} elseif ( $args['condition'] == 'is_greater_than' && $until_time < $now_time ) {
3561
+					} elseif ($args['condition'] == 'is_greater_than' && $until_time < $now_time) {
3562 3562
 						$match_found = true;
3563 3563
 					}
3564 3564
 				} else {
3565
-					switch ( $args['condition'] ) {
3565
+					switch ($args['condition']) {
3566 3566
 						case 'is_equal':
3567
-							$match_found = (bool) ( $search != '' && $match_value == $search );
3567
+							$match_found = (bool) ($search != '' && $match_value == $search);
3568 3568
 							break;
3569 3569
 						case 'is_not_equal':
3570
-							$match_found = (bool) ( $search != '' && $match_value != $search );
3570
+							$match_found = (bool) ($search != '' && $match_value != $search);
3571 3571
 							break;
3572 3572
 						case 'is_greater_than':
3573
-							$match_found = (bool) ( $search != '' && ( is_float( $search ) || is_numeric( $search ) ) && ( is_float( $match_value ) || is_numeric( $match_value ) ) && $match_value > $search );
3573
+							$match_found = (bool) ($search != '' && (is_float($search) || is_numeric($search)) && (is_float($match_value) || is_numeric($match_value)) && $match_value > $search);
3574 3574
 							break;
3575 3575
 						case 'is_less_than':
3576
-							$match_found = (bool) ( $search != '' && ( is_float( $search ) || is_numeric( $search ) ) && ( is_float( $match_value ) || is_numeric( $match_value ) ) && $match_value < $search );
3576
+							$match_found = (bool) ($search != '' && (is_float($search) || is_numeric($search)) && (is_float($match_value) || is_numeric($match_value)) && $match_value < $search);
3577 3577
 							break;
3578 3578
 						case 'is_empty':
3579
-							$match_found = (bool) ( $match_value === '' || $match_value === false || $match_value === '0' || is_null( $match_value ) );
3579
+							$match_found = (bool) ($match_value === '' || $match_value === false || $match_value === '0' || is_null($match_value));
3580 3580
 							break;
3581 3581
 						case 'is_not_empty':
3582
-							$match_found = (bool) ( $match_value !== '' && $match_value !== false && $match_value !== '0' && ! is_null( $match_value ) );
3582
+							$match_found = (bool) ($match_value !== '' && $match_value !== false && $match_value !== '0' && !is_null($match_value));
3583 3583
 							break;
3584 3584
 						case 'is_contains':
3585
-							$match_found = (bool) ( $search != '' && stripos( $match_value, $search ) !== false );
3585
+							$match_found = (bool) ($search != '' && stripos($match_value, $search) !== false);
3586 3586
 							break;
3587 3587
 						case 'is_not_contains':
3588
-							$match_found = (bool) ( $search != '' && stripos( $match_value, $search ) === false );
3588
+							$match_found = (bool) ($search != '' && stripos($match_value, $search) === false);
3589 3589
 							break;
3590 3590
 					}
3591 3591
 				}
3592 3592
 			}
3593 3593
 
3594
-			$match_found = apply_filters( 'geodir_post_badge_check_match_found', $match_found, $args, $find_post );
3594
+			$match_found = apply_filters('geodir_post_badge_check_match_found', $match_found, $args, $find_post);
3595 3595
 		} else {
3596 3596
 			$field = array();
3597 3597
 
3598 3598
 			// Parse search.
3599
-			$search = sd_gd_field_rule_search( $args['search'], $find_post->post_type, $rule, $field, $find_post );
3599
+			$search = sd_gd_field_rule_search($args['search'], $find_post->post_type, $rule, $field, $find_post);
3600 3600
 
3601 3601
 			$match_value = '';
3602 3602
 			$match_found = $match_field === '' ? true : false;
3603 3603
 
3604
-			if ( ! $match_found ) {
3605
-				switch ( $args['condition'] ) {
3604
+			if (!$match_found) {
3605
+				switch ($args['condition']) {
3606 3606
 					case 'is_equal':
3607
-						$match_found = (bool) ( $search != '' && $match_value == $search );
3607
+						$match_found = (bool) ($search != '' && $match_value == $search);
3608 3608
 						break;
3609 3609
 					case 'is_not_equal':
3610
-						$match_found = (bool) ( $search != '' && $match_value != $search );
3610
+						$match_found = (bool) ($search != '' && $match_value != $search);
3611 3611
 						break;
3612 3612
 					case 'is_greater_than':
3613 3613
 						$match_found = false;
@@ -3630,80 +3630,80 @@  discard block
 block discarded – undo
3630 3630
 				}
3631 3631
 			}
3632 3632
 
3633
-			$match_found = apply_filters( 'geodir_post_badge_check_match_found_empty', $match_found, $args, $find_post );
3633
+			$match_found = apply_filters('geodir_post_badge_check_match_found_empty', $match_found, $args, $find_post);
3634 3634
 		}
3635 3635
 	}
3636 3636
 
3637 3637
 	return $match_found;
3638 3638
 }
3639 3639
 
3640
-function sd_gd_field_rule_search( $search, $post_type, $rule, $field = array(), $gd_post = array() ) {
3640
+function sd_gd_field_rule_search($search, $post_type, $rule, $field = array(), $gd_post = array()) {
3641 3641
 	global $post;
3642 3642
 
3643
-	if ( ! $search ) {
3643
+	if (!$search) {
3644 3644
 		return $search;
3645 3645
 	}
3646 3646
 
3647 3647
 	$orig_search = $search;
3648
-	$_search = strtolower( $search );
3648
+	$_search = strtolower($search);
3649 3649
 
3650
-	if ( ! empty( $rule['field'] ) && $rule['field'] == 'post_author' ) {
3651
-		if ( $search == 'current_user' ) {
3650
+	if (!empty($rule['field']) && $rule['field'] == 'post_author') {
3651
+		if ($search == 'current_user') {
3652 3652
 			$search = is_user_logged_in() ? (int) get_current_user_id() : - 1;
3653
-		} else if ( $search == 'current_author' ) {
3654
-			$search = ( ! empty( $post ) && $post->post_type != 'page' && isset( $post->post_author ) ) ? absint( $post->post_author ) : - 1;
3655
-		}
3656
-	} else if ( $_search == 'date_today' ) {
3657
-		$search = date( 'Y-m-d' );
3658
-	} else if ( $_search == 'date_tomorrow' ) {
3659
-		$search = date( 'Y-m-d', strtotime( "+1 day" ) );
3660
-	} else if ( $_search == 'date_yesterday' ) {
3661
-		$search = date( 'Y-m-d', strtotime( "-1 day" ) );
3662
-	} else if ( $_search == 'time_his' ) {
3663
-		$search = date( 'H:i:s' );
3664
-	} else if ( $_search == 'time_hi' ) {
3665
-		$search = date( 'H:i' );
3666
-	} else if ( $_search == 'datetime_now' ) {
3667
-		$search = date( 'Y-m-d H:i:s' );
3668
-	} else if ( strpos( $_search, 'datetime_after_' ) === 0 ) {
3669
-		$_searches = explode( 'datetime_after_', $_search, 2 );
3670
-
3671
-		if ( ! empty( $_searches[1] ) ) {
3672
-			$search = date( 'Y-m-d H:i:s', strtotime( "+ " . str_replace( "_", " ", $_searches[1] ) ) );
3653
+		} else if ($search == 'current_author') {
3654
+			$search = (!empty($post) && $post->post_type != 'page' && isset($post->post_author)) ? absint($post->post_author) : - 1;
3655
+		}
3656
+	} else if ($_search == 'date_today') {
3657
+		$search = date('Y-m-d');
3658
+	} else if ($_search == 'date_tomorrow') {
3659
+		$search = date('Y-m-d', strtotime("+1 day"));
3660
+	} else if ($_search == 'date_yesterday') {
3661
+		$search = date('Y-m-d', strtotime("-1 day"));
3662
+	} else if ($_search == 'time_his') {
3663
+		$search = date('H:i:s');
3664
+	} else if ($_search == 'time_hi') {
3665
+		$search = date('H:i');
3666
+	} else if ($_search == 'datetime_now') {
3667
+		$search = date('Y-m-d H:i:s');
3668
+	} else if (strpos($_search, 'datetime_after_') === 0) {
3669
+		$_searches = explode('datetime_after_', $_search, 2);
3670
+
3671
+		if (!empty($_searches[1])) {
3672
+			$search = date('Y-m-d H:i:s', strtotime("+ " . str_replace("_", " ", $_searches[1])));
3673 3673
 		} else {
3674
-			$search = date( 'Y-m-d H:i:s' );
3674
+			$search = date('Y-m-d H:i:s');
3675 3675
 		}
3676
-	} else if ( strpos( $_search, 'datetime_before_' ) === 0 ) {
3677
-		$_searches = explode( 'datetime_before_', $_search, 2 );
3676
+	} else if (strpos($_search, 'datetime_before_') === 0) {
3677
+		$_searches = explode('datetime_before_', $_search, 2);
3678 3678
 
3679
-		if ( ! empty( $_searches[1] ) ) {
3680
-			$search = date( 'Y-m-d H:i:s', strtotime( "- " . str_replace( "_", " ", $_searches[1] ) ) );
3679
+		if (!empty($_searches[1])) {
3680
+			$search = date('Y-m-d H:i:s', strtotime("- " . str_replace("_", " ", $_searches[1])));
3681 3681
 		} else {
3682
-			$search = date( 'Y-m-d H:i:s' );
3682
+			$search = date('Y-m-d H:i:s');
3683 3683
 		}
3684
-	} else if ( strpos( $_search, 'date_after_' ) === 0 ) {
3685
-		$_searches = explode( 'date_after_', $_search, 2 );
3684
+	} else if (strpos($_search, 'date_after_') === 0) {
3685
+		$_searches = explode('date_after_', $_search, 2);
3686 3686
 
3687
-		if ( ! empty( $_searches[1] ) ) {
3688
-			$search = date( 'Y-m-d', strtotime( "+ " . str_replace( "_", " ", $_searches[1] ) ) );
3687
+		if (!empty($_searches[1])) {
3688
+			$search = date('Y-m-d', strtotime("+ " . str_replace("_", " ", $_searches[1])));
3689 3689
 		} else {
3690
-			$search = date( 'Y-m-d' );
3690
+			$search = date('Y-m-d');
3691 3691
 		}
3692
-	} else if ( strpos( $_search, 'date_before_' ) === 0 ) {
3693
-		$_searches = explode( 'date_before_', $_search, 2 );
3692
+	} else if (strpos($_search, 'date_before_') === 0) {
3693
+		$_searches = explode('date_before_', $_search, 2);
3694 3694
 
3695
-		if ( ! empty( $_searches[1] ) ) {
3696
-			$search = date( 'Y-m-d', strtotime( "- " . str_replace( "_", " ", $_searches[1] ) ) );
3695
+		if (!empty($_searches[1])) {
3696
+			$search = date('Y-m-d', strtotime("- " . str_replace("_", " ", $_searches[1])));
3697 3697
 		} else {
3698
-			$search = date( 'Y-m-d' );
3698
+			$search = date('Y-m-d');
3699 3699
 		}
3700 3700
 	}
3701 3701
 
3702
-	return apply_filters( 'sd_gd_field_rule_search', $search, $post_type, $rule, $orig_search );
3702
+	return apply_filters('sd_gd_field_rule_search', $search, $post_type, $rule, $orig_search);
3703 3703
 }
3704 3704
 
3705 3705
 
3706
-if(!function_exists('sd_blocks_render_blocks')){
3706
+if (!function_exists('sd_blocks_render_blocks')) {
3707 3707
 	/**
3708 3708
 	 * Add the shortcodes to the block content if set as an attribute.
3709 3709
 	 *
@@ -3714,21 +3714,21 @@  discard block
 block discarded – undo
3714 3714
 	 * @param $thiss
3715 3715
 	 * @return mixed|string
3716 3716
 	 */
3717
-	function sd_blocks_render_blocks($block_content, $parsed_block, $thiss = array() ){
3717
+	function sd_blocks_render_blocks($block_content, $parsed_block, $thiss = array()) {
3718 3718
 
3719 3719
 		// Check if ita a nested block that needs to be wrapped
3720
-		if(! empty($parsed_block['attrs']['sd_shortcode_close'])){
3720
+		if (!empty($parsed_block['attrs']['sd_shortcode_close'])) {
3721 3721
 			$content = isset($parsed_block['attrs']['html']) ? $parsed_block['attrs']['html'] : $block_content;
3722
-			$block_content = $parsed_block['attrs']['sd_shortcode'].$content.$parsed_block['attrs']['sd_shortcode_close'];
3722
+			$block_content = $parsed_block['attrs']['sd_shortcode'] . $content . $parsed_block['attrs']['sd_shortcode_close'];
3723 3723
 
3724 3724
 			$block_content = do_shortcode($block_content);
3725 3725
 
3726
-		}elseif(! empty($parsed_block['attrs']['sd_shortcode'])){
3726
+		}elseif (!empty($parsed_block['attrs']['sd_shortcode'])) {
3727 3727
 			$has_warp = false;
3728
-			if($block_content && strpos(trim($block_content), '<div class="wp-block-') === 0 ){
3728
+			if ($block_content && strpos(trim($block_content), '<div class="wp-block-') === 0) {
3729 3729
 				$parts = explode('></', $block_content);
3730
-				if(count($parts) === 2){
3731
-					$block_content = $parts[0].'>'.$parsed_block['attrs']['sd_shortcode'].'</'.$parts[1];
3730
+				if (count($parts) === 2) {
3731
+					$block_content = $parts[0] . '>' . $parsed_block['attrs']['sd_shortcode'] . '</' . $parts[1];
3732 3732
 					$has_warp = true;
3733 3733
 				}
3734 3734
 			}
@@ -3743,5 +3743,5 @@  discard block
 block discarded – undo
3743 3743
 	}
3744 3744
 }
3745 3745
 
3746
-add_filter('render_block', 'sd_blocks_render_blocks',10,3);
3746
+add_filter('render_block', 'sd_blocks_render_blocks', 10, 3);
3747 3747
 
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' ) );
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' ) );
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 ) {
361
-		// Ensure its our subscription && it's active.
362
-		if ( $this->id === $subscription->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 ) {
361
+        // Ensure its our subscription && it's active.
362
+        if ( $this->id === $subscription->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' ) );
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'));
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 ) {
360
+	public function maybe_renew_subscription($subscription) {
361 361
 		// Ensure its our subscription && it's active.
362
-		if ( $this->id === $subscription->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 ($this->id === $subscription->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/class-getpaid-post-types.php 2 patches
Indentation   +295 added lines, -295 removed lines patch added patch discarded remove patch
@@ -15,321 +15,321 @@
 block discarded – undo
15 15
 class GetPaid_Post_Types {
16 16
 
17 17
     /**
18
-	 * Hook in methods.
19
-	 */
20
-	public function __construct() {
21
-		add_action( 'init', array( __CLASS__, 'register_post_types' ), 1 );
22
-		add_action( 'init', array( __CLASS__, 'register_post_status' ), 4 );
23
-		add_action( 'getpaid_flush_rewrite_rules', array( __CLASS__, 'flush_rewrite_rules' ) );
24
-		add_action( 'getpaid_after_register_post_types', array( __CLASS__, 'maybe_flush_rewrite_rules' ) );
25
-	}
18
+     * Hook in methods.
19
+     */
20
+    public function __construct() {
21
+        add_action( 'init', array( __CLASS__, 'register_post_types' ), 1 );
22
+        add_action( 'init', array( __CLASS__, 'register_post_status' ), 4 );
23
+        add_action( 'getpaid_flush_rewrite_rules', array( __CLASS__, 'flush_rewrite_rules' ) );
24
+        add_action( 'getpaid_after_register_post_types', array( __CLASS__, 'maybe_flush_rewrite_rules' ) );
25
+    }
26 26
 
27
-	/**
28
-	 * Register core post types.
29
-	 */
30
-	public static function register_post_types() {
27
+    /**
28
+     * Register core post types.
29
+     */
30
+    public static function register_post_types() {
31 31
 
32
-		if ( ! is_blog_installed() || post_type_exists( 'wpi_item' ) ) {
33
-			return;
34
-		}
32
+        if ( ! is_blog_installed() || post_type_exists( 'wpi_item' ) ) {
33
+            return;
34
+        }
35 35
 
36
-		$capabilities = wpinv_current_user_can_manage_invoicing();
36
+        $capabilities = wpinv_current_user_can_manage_invoicing();
37 37
 
38
-		// Fires before registering post types.
39
-		do_action( 'getpaid_register_post_types' );
38
+        // Fires before registering post types.
39
+        do_action( 'getpaid_register_post_types' );
40 40
 
41
-		// Register item post type.
42
-		register_post_type(
43
-			'wpi_item',
44
-			apply_filters(
45
-				'wpinv_register_post_type_invoice_item',
46
-				array(
47
-					'labels'            => array(
48
-						'name'               => _x( 'Items', 'post type general name', 'invoicing' ),
49
-						'singular_name'      => _x( 'Item', 'post type singular name', 'invoicing' ),
50
-						'menu_name'          => _x( 'Items', 'admin menu', 'invoicing' ),
51
-						'name_admin_bar'     => _x( 'Item', 'add new on admin bar', 'invoicing' ),
52
-						'add_new'            => _x( 'Add New', 'Item', 'invoicing' ),
53
-						'add_new_item'       => __( 'Add New Item', 'invoicing' ),
54
-						'new_item'           => __( 'New Item', 'invoicing' ),
55
-						'edit_item'          => __( 'Edit Item', 'invoicing' ),
56
-						'view_item'          => __( 'View Item', 'invoicing' ),
57
-						'all_items'          => __( 'Items', 'invoicing' ),
58
-						'search_items'       => __( 'Search items', 'invoicing' ),
59
-						'parent_item_colon'  => __( 'Parent item:', 'invoicing' ),
60
-						'not_found'          => __( 'No items found.', 'invoicing' ),
61
-						'not_found_in_trash' => __( 'No items found in trash.', 'invoicing' ),
62
-					),
63
-					'description'       => __( 'This is where you can add new invoice items.', 'invoicing' ),
64
-					'public'            => false,
65
-					'has_archive'       => false,
66
-					'_builtin'          => false,
67
-					'show_ui'           => $capabilities ? true : false,
68
-					'show_in_menu'      => $capabilities ? 'wpinv' : false,
69
-					'show_in_nav_menus' => false,
70
-					'supports'          => array( 'title', 'excerpt', 'thumbnail' ),
71
-					'rewrite'           => false,
72
-					'query_var'         => false,
73
-					'map_meta_cap'      => true,
74
-					'show_in_admin_bar' => $capabilities ? true : false,
75
-					'can_export'        => $capabilities ? true : false
76
-				)
77
-			)
78
-		);
41
+        // Register item post type.
42
+        register_post_type(
43
+            'wpi_item',
44
+            apply_filters(
45
+                'wpinv_register_post_type_invoice_item',
46
+                array(
47
+                    'labels'            => array(
48
+                        'name'               => _x( 'Items', 'post type general name', 'invoicing' ),
49
+                        'singular_name'      => _x( 'Item', 'post type singular name', 'invoicing' ),
50
+                        'menu_name'          => _x( 'Items', 'admin menu', 'invoicing' ),
51
+                        'name_admin_bar'     => _x( 'Item', 'add new on admin bar', 'invoicing' ),
52
+                        'add_new'            => _x( 'Add New', 'Item', 'invoicing' ),
53
+                        'add_new_item'       => __( 'Add New Item', 'invoicing' ),
54
+                        'new_item'           => __( 'New Item', 'invoicing' ),
55
+                        'edit_item'          => __( 'Edit Item', 'invoicing' ),
56
+                        'view_item'          => __( 'View Item', 'invoicing' ),
57
+                        'all_items'          => __( 'Items', 'invoicing' ),
58
+                        'search_items'       => __( 'Search items', 'invoicing' ),
59
+                        'parent_item_colon'  => __( 'Parent item:', 'invoicing' ),
60
+                        'not_found'          => __( 'No items found.', 'invoicing' ),
61
+                        'not_found_in_trash' => __( 'No items found in trash.', 'invoicing' ),
62
+                    ),
63
+                    'description'       => __( 'This is where you can add new invoice items.', 'invoicing' ),
64
+                    'public'            => false,
65
+                    'has_archive'       => false,
66
+                    '_builtin'          => false,
67
+                    'show_ui'           => $capabilities ? true : false,
68
+                    'show_in_menu'      => $capabilities ? 'wpinv' : false,
69
+                    'show_in_nav_menus' => false,
70
+                    'supports'          => array( 'title', 'excerpt', 'thumbnail' ),
71
+                    'rewrite'           => false,
72
+                    'query_var'         => false,
73
+                    'map_meta_cap'      => true,
74
+                    'show_in_admin_bar' => $capabilities ? true : false,
75
+                    'can_export'        => $capabilities ? true : false
76
+                )
77
+            )
78
+        );
79 79
 
80
-		// Register payment form post type.
81
-		register_post_type(
82
-			'wpi_payment_form',
83
-			apply_filters(
84
-				'wpinv_register_post_type_payment_form',
85
-				array(
86
-					'labels'            => array(
87
-						'name'               => _x( 'Payment Forms', 'post type general name', 'invoicing' ),
88
-						'singular_name'      => _x( 'Payment Form', 'post type singular name', 'invoicing' ),
89
-						'menu_name'          => _x( 'Payment Forms', 'admin menu', 'invoicing' ),
90
-						'name_admin_bar'     => _x( 'Payment Form', 'add new on admin bar', 'invoicing' ),
91
-						'add_new'            => _x( 'Add New', 'Payment Form', 'invoicing' ),
92
-						'add_new_item'       => __( 'Add New Payment Form', 'invoicing' ),
93
-						'new_item'           => __( 'New Payment Form', 'invoicing' ),
94
-						'edit_item'          => __( 'Edit Payment Form', 'invoicing' ),
95
-						'view_item'          => __( 'View Payment Form', 'invoicing' ),
96
-						'all_items'          => __( 'Payment Forms', 'invoicing' ),
97
-						'search_items'       => __( 'Search Payment Forms', 'invoicing' ),
98
-						'parent_item_colon'  => __( 'Parent Payment Forms:', 'invoicing' ),
99
-						'not_found'          => __( 'No payment forms found.', 'invoicing' ),
100
-						'not_found_in_trash' => __( 'No payment forms found in trash.', 'invoicing' ),
101
-					),
102
-					'description'       => __( 'Add new payment forms.', 'invoicing' ),
103
-					'public'            => false,
104
-					'show_ui'           => $capabilities ? true : false,
105
-					'show_in_menu'      => $capabilities ? 'wpinv' : false,
106
-					'show_in_nav_menus' => false,
107
-					'query_var'         => false,
108
-					'rewrite'           => true,
109
-					'map_meta_cap'      => true,
110
-					'has_archive'       => false,
111
-					'hierarchical'      => false,
112
-					'menu_position'     => null,
113
-					'supports'          => array( 'title' ),
114
-					'menu_icon'         => 'dashicons-media-form',
115
-				)
116
-			)
117
-		);
80
+        // Register payment form post type.
81
+        register_post_type(
82
+            'wpi_payment_form',
83
+            apply_filters(
84
+                'wpinv_register_post_type_payment_form',
85
+                array(
86
+                    'labels'            => array(
87
+                        'name'               => _x( 'Payment Forms', 'post type general name', 'invoicing' ),
88
+                        'singular_name'      => _x( 'Payment Form', 'post type singular name', 'invoicing' ),
89
+                        'menu_name'          => _x( 'Payment Forms', 'admin menu', 'invoicing' ),
90
+                        'name_admin_bar'     => _x( 'Payment Form', 'add new on admin bar', 'invoicing' ),
91
+                        'add_new'            => _x( 'Add New', 'Payment Form', 'invoicing' ),
92
+                        'add_new_item'       => __( 'Add New Payment Form', 'invoicing' ),
93
+                        'new_item'           => __( 'New Payment Form', 'invoicing' ),
94
+                        'edit_item'          => __( 'Edit Payment Form', 'invoicing' ),
95
+                        'view_item'          => __( 'View Payment Form', 'invoicing' ),
96
+                        'all_items'          => __( 'Payment Forms', 'invoicing' ),
97
+                        'search_items'       => __( 'Search Payment Forms', 'invoicing' ),
98
+                        'parent_item_colon'  => __( 'Parent Payment Forms:', 'invoicing' ),
99
+                        'not_found'          => __( 'No payment forms found.', 'invoicing' ),
100
+                        'not_found_in_trash' => __( 'No payment forms found in trash.', 'invoicing' ),
101
+                    ),
102
+                    'description'       => __( 'Add new payment forms.', 'invoicing' ),
103
+                    'public'            => false,
104
+                    'show_ui'           => $capabilities ? true : false,
105
+                    'show_in_menu'      => $capabilities ? 'wpinv' : false,
106
+                    'show_in_nav_menus' => false,
107
+                    'query_var'         => false,
108
+                    'rewrite'           => true,
109
+                    'map_meta_cap'      => true,
110
+                    'has_archive'       => false,
111
+                    'hierarchical'      => false,
112
+                    'menu_position'     => null,
113
+                    'supports'          => array( 'title' ),
114
+                    'menu_icon'         => 'dashicons-media-form',
115
+                )
116
+            )
117
+        );
118 118
 
119
-		// Register invoice post type.
120
-		register_post_type(
121
-			'wpi_invoice',
122
-			apply_filters(
123
-				'wpinv_register_post_type_invoice',
124
-				array(
125
-					'labels'              => array(
126
-						'name'                  => __( 'Invoices', 'invoicing' ),
127
-						'singular_name'         => __( 'Invoice', 'invoicing' ),
128
-						'all_items'             => __( 'Invoices', 'invoicing' ),
129
-						'menu_name'             => _x( 'Invoices', 'Admin menu name', 'invoicing' ),
130
-						'add_new'               => __( 'Add New', 'invoicing' ),
131
-						'add_new_item'          => __( 'Add new invoice', 'invoicing' ),
132
-						'edit'                  => __( 'Edit', 'invoicing' ),
133
-						'edit_item'             => __( 'Edit invoice', 'invoicing' ),
134
-						'new_item'              => __( 'New invoice', 'invoicing' ),
135
-						'view_item'             => __( 'View invoice', 'invoicing' ),
136
-						'view_items'            => __( 'View Invoices', 'invoicing' ),
137
-						'search_items'          => __( 'Search invoices', 'invoicing' ),
138
-						'not_found'             => __( 'No invoices found', 'invoicing' ),
139
-						'not_found_in_trash'    => __( 'No invoices found in trash', 'invoicing' ),
140
-						'parent'                => __( 'Parent invoice', 'invoicing' ),
141
-						'featured_image'        => __( 'Invoice image', 'invoicing' ),
142
-						'set_featured_image'    => __( 'Set invoice image', 'invoicing' ),
143
-						'remove_featured_image' => __( 'Remove invoice image', 'invoicing' ),
144
-						'use_featured_image'    => __( 'Use as invoice image', 'invoicing' ),
145
-						'insert_into_item'      => __( 'Insert into invoice', 'invoicing' ),
146
-						'uploaded_to_this_item' => __( 'Uploaded to this invoice', 'invoicing' ),
147
-						'filter_items_list'     => __( 'Filter invoices', 'invoicing' ),
148
-						'items_list_navigation' => __( 'Invoices navigation', 'invoicing' ),
149
-						'items_list'            => __( 'Invoices list', 'invoicing' ),
150
-					),
151
-					'description'         => __( 'This is where invoices are stored.', 'invoicing' ),
152
-					'public'              => true,
153
-					'has_archive'         => false,
154
-					'publicly_queryable'  => true,
155
-        			'exclude_from_search' => true,
156
-        			'show_ui'             => $capabilities ? true : false,
157
-					'show_in_menu'        => $capabilities ? 'wpinv' : false,
158
-					'show_in_nav_menus'   => false,
159
-					'supports'            => array( 'title', 'author', 'excerpt' ),
160
-					'rewrite'             => array(
161
-						'slug'       => 'invoice',
162
-						'with_front' => false,
163
-					),
164
-					'query_var'           => false,
165
-					'map_meta_cap'        => true,
166
-					'show_in_admin_bar'   => $capabilities ? true : false,
167
-					'can_export'          => $capabilities ? true : false,
168
-					'hierarchical'        => false,
169
-					'menu_position'       => null,
170
-					'menu_icon'           => 'dashicons-media-spreadsheet',
171
-				)
172
-			)
173
-		);
119
+        // Register invoice post type.
120
+        register_post_type(
121
+            'wpi_invoice',
122
+            apply_filters(
123
+                'wpinv_register_post_type_invoice',
124
+                array(
125
+                    'labels'              => array(
126
+                        'name'                  => __( 'Invoices', 'invoicing' ),
127
+                        'singular_name'         => __( 'Invoice', 'invoicing' ),
128
+                        'all_items'             => __( 'Invoices', 'invoicing' ),
129
+                        'menu_name'             => _x( 'Invoices', 'Admin menu name', 'invoicing' ),
130
+                        'add_new'               => __( 'Add New', 'invoicing' ),
131
+                        'add_new_item'          => __( 'Add new invoice', 'invoicing' ),
132
+                        'edit'                  => __( 'Edit', 'invoicing' ),
133
+                        'edit_item'             => __( 'Edit invoice', 'invoicing' ),
134
+                        'new_item'              => __( 'New invoice', 'invoicing' ),
135
+                        'view_item'             => __( 'View invoice', 'invoicing' ),
136
+                        'view_items'            => __( 'View Invoices', 'invoicing' ),
137
+                        'search_items'          => __( 'Search invoices', 'invoicing' ),
138
+                        'not_found'             => __( 'No invoices found', 'invoicing' ),
139
+                        'not_found_in_trash'    => __( 'No invoices found in trash', 'invoicing' ),
140
+                        'parent'                => __( 'Parent invoice', 'invoicing' ),
141
+                        'featured_image'        => __( 'Invoice image', 'invoicing' ),
142
+                        'set_featured_image'    => __( 'Set invoice image', 'invoicing' ),
143
+                        'remove_featured_image' => __( 'Remove invoice image', 'invoicing' ),
144
+                        'use_featured_image'    => __( 'Use as invoice image', 'invoicing' ),
145
+                        'insert_into_item'      => __( 'Insert into invoice', 'invoicing' ),
146
+                        'uploaded_to_this_item' => __( 'Uploaded to this invoice', 'invoicing' ),
147
+                        'filter_items_list'     => __( 'Filter invoices', 'invoicing' ),
148
+                        'items_list_navigation' => __( 'Invoices navigation', 'invoicing' ),
149
+                        'items_list'            => __( 'Invoices list', 'invoicing' ),
150
+                    ),
151
+                    'description'         => __( 'This is where invoices are stored.', 'invoicing' ),
152
+                    'public'              => true,
153
+                    'has_archive'         => false,
154
+                    'publicly_queryable'  => true,
155
+                    'exclude_from_search' => true,
156
+                    'show_ui'             => $capabilities ? true : false,
157
+                    'show_in_menu'        => $capabilities ? 'wpinv' : false,
158
+                    'show_in_nav_menus'   => false,
159
+                    'supports'            => array( 'title', 'author', 'excerpt' ),
160
+                    'rewrite'             => array(
161
+                        'slug'       => 'invoice',
162
+                        'with_front' => false,
163
+                    ),
164
+                    'query_var'           => false,
165
+                    'map_meta_cap'        => true,
166
+                    'show_in_admin_bar'   => $capabilities ? true : false,
167
+                    'can_export'          => $capabilities ? true : false,
168
+                    'hierarchical'        => false,
169
+                    'menu_position'       => null,
170
+                    'menu_icon'           => 'dashicons-media-spreadsheet',
171
+                )
172
+            )
173
+        );
174 174
 
175
-		// Register discount post type.
176
-		register_post_type(
177
-			'wpi_discount',
178
-			apply_filters(
179
-				'wpinv_register_post_type_discount',
180
-				array(
181
-					'labels'              => array(
182
-						'name'                  => __( 'Discounts', 'invoicing' ),
183
-						'singular_name'         => __( 'Discount', 'invoicing' ),
184
-						'all_items'             => __( 'Discounts', 'invoicing' ),
185
-						'menu_name'             => _x( 'Discounts', 'Admin menu name', 'invoicing' ),
186
-						'add_new'               => __( 'Add New', 'invoicing' ),
187
-						'add_new_item'          => __( 'Add new discount', 'invoicing' ),
188
-						'edit'                  => __( 'Edit', 'invoicing' ),
189
-						'edit_item'             => __( 'Edit discount', 'invoicing' ),
190
-						'new_item'              => __( 'New discount', 'invoicing' ),
191
-						'view_item'             => __( 'View discount', 'invoicing' ),
192
-						'view_items'            => __( 'View Discounts', 'invoicing' ),
193
-						'search_items'          => __( 'Search discounts', 'invoicing' ),
194
-						'not_found'             => __( 'No discounts found', 'invoicing' ),
195
-						'not_found_in_trash'    => __( 'No discounts found in trash', 'invoicing' ),
196
-						'parent'                => __( 'Parent discount', 'invoicing' ),
197
-						'featured_image'        => __( 'Discount image', 'invoicing' ),
198
-						'set_featured_image'    => __( 'Set discount image', 'invoicing' ),
199
-						'remove_featured_image' => __( 'Remove discount image', 'invoicing' ),
200
-						'use_featured_image'    => __( 'Use as discount image', 'invoicing' ),
201
-						'insert_into_item'      => __( 'Insert into discount', 'invoicing' ),
202
-						'uploaded_to_this_item' => __( 'Uploaded to this discount', 'invoicing' ),
203
-						'filter_items_list'     => __( 'Filter discounts', 'invoicing' ),
204
-						'items_list_navigation' => __( 'Discount navigation', 'invoicing' ),
205
-						'items_list'            => __( 'Discounts list', 'invoicing' ),
206
-					),
207
-					'description'         => __( 'This is where you can add new discounts that users can use in invoices.', 'invoicing' ),
208
-					'public'              => false,
209
-					'can_export'          => $capabilities ? true : false,
210
-					'_builtin'            => false,
211
-					'publicly_queryable'  => false,
212
-					'exclude_from_search' => true,
213
-					'show_ui'             => $capabilities ? true : false,
214
-					'show_in_menu'        => $capabilities ? 'wpinv' : false,
215
-					'query_var'           => false,
216
-					'rewrite'             => false,
217
-					'map_meta_cap'        => true,
218
-					'has_archive'         => false,
219
-					'hierarchical'        => false,
220
-					'supports'            => array( 'title', 'excerpt' ),
221
-					'show_in_nav_menus'   => false,
222
-					'show_in_admin_bar'   => $capabilities ? true : false,
223
-					'menu_position'       => null,
224
-				)
225
-			)
226
-		);
175
+        // Register discount post type.
176
+        register_post_type(
177
+            'wpi_discount',
178
+            apply_filters(
179
+                'wpinv_register_post_type_discount',
180
+                array(
181
+                    'labels'              => array(
182
+                        'name'                  => __( 'Discounts', 'invoicing' ),
183
+                        'singular_name'         => __( 'Discount', 'invoicing' ),
184
+                        'all_items'             => __( 'Discounts', 'invoicing' ),
185
+                        'menu_name'             => _x( 'Discounts', 'Admin menu name', 'invoicing' ),
186
+                        'add_new'               => __( 'Add New', 'invoicing' ),
187
+                        'add_new_item'          => __( 'Add new discount', 'invoicing' ),
188
+                        'edit'                  => __( 'Edit', 'invoicing' ),
189
+                        'edit_item'             => __( 'Edit discount', 'invoicing' ),
190
+                        'new_item'              => __( 'New discount', 'invoicing' ),
191
+                        'view_item'             => __( 'View discount', 'invoicing' ),
192
+                        'view_items'            => __( 'View Discounts', 'invoicing' ),
193
+                        'search_items'          => __( 'Search discounts', 'invoicing' ),
194
+                        'not_found'             => __( 'No discounts found', 'invoicing' ),
195
+                        'not_found_in_trash'    => __( 'No discounts found in trash', 'invoicing' ),
196
+                        'parent'                => __( 'Parent discount', 'invoicing' ),
197
+                        'featured_image'        => __( 'Discount image', 'invoicing' ),
198
+                        'set_featured_image'    => __( 'Set discount image', 'invoicing' ),
199
+                        'remove_featured_image' => __( 'Remove discount image', 'invoicing' ),
200
+                        'use_featured_image'    => __( 'Use as discount image', 'invoicing' ),
201
+                        'insert_into_item'      => __( 'Insert into discount', 'invoicing' ),
202
+                        'uploaded_to_this_item' => __( 'Uploaded to this discount', 'invoicing' ),
203
+                        'filter_items_list'     => __( 'Filter discounts', 'invoicing' ),
204
+                        'items_list_navigation' => __( 'Discount navigation', 'invoicing' ),
205
+                        'items_list'            => __( 'Discounts list', 'invoicing' ),
206
+                    ),
207
+                    'description'         => __( 'This is where you can add new discounts that users can use in invoices.', 'invoicing' ),
208
+                    'public'              => false,
209
+                    'can_export'          => $capabilities ? true : false,
210
+                    '_builtin'            => false,
211
+                    'publicly_queryable'  => false,
212
+                    'exclude_from_search' => true,
213
+                    'show_ui'             => $capabilities ? true : false,
214
+                    'show_in_menu'        => $capabilities ? 'wpinv' : false,
215
+                    'query_var'           => false,
216
+                    'rewrite'             => false,
217
+                    'map_meta_cap'        => true,
218
+                    'has_archive'         => false,
219
+                    'hierarchical'        => false,
220
+                    'supports'            => array( 'title', 'excerpt' ),
221
+                    'show_in_nav_menus'   => false,
222
+                    'show_in_admin_bar'   => $capabilities ? true : false,
223
+                    'menu_position'       => null,
224
+                )
225
+            )
226
+        );
227 227
 
228
-		do_action( 'getpaid_after_register_post_types' );
229
-	}
228
+        do_action( 'getpaid_after_register_post_types' );
229
+    }
230 230
 
231
-	/**
232
-	 * Register our custom post statuses.
233
-	 */
234
-	public static function register_post_status() {
231
+    /**
232
+     * Register our custom post statuses.
233
+     */
234
+    public static function register_post_status() {
235 235
 
236
-		$invoice_statuses = apply_filters(
237
-			'getpaid_register_invoice_post_statuses',
238
-			array(
236
+        $invoice_statuses = apply_filters(
237
+            'getpaid_register_invoice_post_statuses',
238
+            array(
239 239
 
240
-				'wpi-pending'    => array(
241
-					'label'                     => _x( 'Pending Payment', 'Invoice status', 'invoicing' ),
242
-        			'public'                    => true,
243
-        			'exclude_from_search'       => true,
244
-        			'show_in_admin_all_list'    => true,
245
-					'show_in_admin_status_list' => true,
246
-					/* translators: %s: number of invoices */
247
-        			'label_count'               => _n_noop( 'Pending Payment <span class="count">(%s)</span>', 'Pending Payment <span class="count">(%s)</span>', 'invoicing' ),
248
-				),
240
+                'wpi-pending'    => array(
241
+                    'label'                     => _x( 'Pending Payment', 'Invoice status', 'invoicing' ),
242
+                    'public'                    => true,
243
+                    'exclude_from_search'       => true,
244
+                    'show_in_admin_all_list'    => true,
245
+                    'show_in_admin_status_list' => true,
246
+                    /* translators: %s: number of invoices */
247
+                    'label_count'               => _n_noop( 'Pending Payment <span class="count">(%s)</span>', 'Pending Payment <span class="count">(%s)</span>', 'invoicing' ),
248
+                ),
249 249
 
250
-				'wpi-processing' => array(
251
-					'label'                     => _x( 'Processing', 'Invoice status', 'invoicing' ),
252
-        			'public'                    => true,
253
-        			'exclude_from_search'       => true,
254
-        			'show_in_admin_all_list'    => true,
255
-					'show_in_admin_status_list' => true,
256
-					/* translators: %s: number of invoices */
257
-        			'label_count'               => _n_noop( 'Processing <span class="count">(%s)</span>', 'Processing <span class="count">(%s)</span>', 'invoicing' ),
258
-				),
250
+                'wpi-processing' => array(
251
+                    'label'                     => _x( 'Processing', 'Invoice status', 'invoicing' ),
252
+                    'public'                    => true,
253
+                    'exclude_from_search'       => true,
254
+                    'show_in_admin_all_list'    => true,
255
+                    'show_in_admin_status_list' => true,
256
+                    /* translators: %s: number of invoices */
257
+                    'label_count'               => _n_noop( 'Processing <span class="count">(%s)</span>', 'Processing <span class="count">(%s)</span>', 'invoicing' ),
258
+                ),
259 259
 
260
-				'wpi-onhold'     => array(
261
-					'label'                     => _x( 'On Hold', 'Invoice status', 'invoicing' ),
262
-        			'public'                    => true,
263
-        			'exclude_from_search'       => true,
264
-        			'show_in_admin_all_list'    => true,
265
-					'show_in_admin_status_list' => true,
266
-					/* translators: %s: number of invoices */
267
-        			'label_count'               => _n_noop( 'On Hold <span class="count">(%s)</span>', 'On Hold <span class="count">(%s)</span>', 'invoicing' ),
268
-				),
260
+                'wpi-onhold'     => array(
261
+                    'label'                     => _x( 'On Hold', 'Invoice status', 'invoicing' ),
262
+                    'public'                    => true,
263
+                    'exclude_from_search'       => true,
264
+                    'show_in_admin_all_list'    => true,
265
+                    'show_in_admin_status_list' => true,
266
+                    /* translators: %s: number of invoices */
267
+                    'label_count'               => _n_noop( 'On Hold <span class="count">(%s)</span>', 'On Hold <span class="count">(%s)</span>', 'invoicing' ),
268
+                ),
269 269
 
270
-				'wpi-cancelled'  => array(
271
-					'label'                     => _x( 'Cancelled', 'Invoice status', 'invoicing' ),
272
-        			'public'                    => true,
273
-        			'exclude_from_search'       => true,
274
-        			'show_in_admin_all_list'    => true,
275
-					'show_in_admin_status_list' => true,
276
-					/* translators: %s: number of invoices */
277
-        			'label_count'               => _n_noop( 'Cancelled <span class="count">(%s)</span>', 'Cancelled <span class="count">(%s)</span>', 'invoicing' ),
278
-				),
270
+                'wpi-cancelled'  => array(
271
+                    'label'                     => _x( 'Cancelled', 'Invoice status', 'invoicing' ),
272
+                    'public'                    => true,
273
+                    'exclude_from_search'       => true,
274
+                    'show_in_admin_all_list'    => true,
275
+                    'show_in_admin_status_list' => true,
276
+                    /* translators: %s: number of invoices */
277
+                    'label_count'               => _n_noop( 'Cancelled <span class="count">(%s)</span>', 'Cancelled <span class="count">(%s)</span>', 'invoicing' ),
278
+                ),
279 279
 
280
-				'wpi-refunded'   => array(
281
-					'label'                     => _x( 'Refunded', 'Invoice status', 'invoicing' ),
282
-        			'public'                    => true,
283
-        			'exclude_from_search'       => true,
284
-        			'show_in_admin_all_list'    => true,
285
-					'show_in_admin_status_list' => true,
286
-					/* translators: %s: number of invoices */
287
-        			'label_count'               => _n_noop( 'Refunded <span class="count">(%s)</span>', 'Refunded <span class="count">(%s)</span>', 'invoicing' ),
288
-				),
280
+                'wpi-refunded'   => array(
281
+                    'label'                     => _x( 'Refunded', 'Invoice status', 'invoicing' ),
282
+                    'public'                    => true,
283
+                    'exclude_from_search'       => true,
284
+                    'show_in_admin_all_list'    => true,
285
+                    'show_in_admin_status_list' => true,
286
+                    /* translators: %s: number of invoices */
287
+                    'label_count'               => _n_noop( 'Refunded <span class="count">(%s)</span>', 'Refunded <span class="count">(%s)</span>', 'invoicing' ),
288
+                ),
289 289
 
290
-				'wpi-failed'     => array(
291
-					'label'                     => _x( 'Failed', 'Invoice status', 'invoicing' ),
292
-        			'public'                    => true,
293
-        			'exclude_from_search'       => true,
294
-        			'show_in_admin_all_list'    => true,
295
-					'show_in_admin_status_list' => true,
296
-					/* translators: %s: number of invoices */
297
-        			'label_count'               => _n_noop( 'Failed <span class="count">(%s)</span>', 'Failed <span class="count">(%s)</span>', 'invoicing' ),
298
-				),
290
+                'wpi-failed'     => array(
291
+                    'label'                     => _x( 'Failed', 'Invoice status', 'invoicing' ),
292
+                    'public'                    => true,
293
+                    'exclude_from_search'       => true,
294
+                    'show_in_admin_all_list'    => true,
295
+                    'show_in_admin_status_list' => true,
296
+                    /* translators: %s: number of invoices */
297
+                    'label_count'               => _n_noop( 'Failed <span class="count">(%s)</span>', 'Failed <span class="count">(%s)</span>', 'invoicing' ),
298
+                ),
299 299
 
300
-				'wpi-renewal'    => array(
301
-					'label'                     => _x( 'Renewal', 'Invoice status', 'invoicing' ),
302
-        			'public'                    => true,
303
-        			'exclude_from_search'       => true,
304
-        			'show_in_admin_all_list'    => true,
305
-					'show_in_admin_status_list' => true,
306
-					/* translators: %s: number of invoices */
307
-        			'label_count'               => _n_noop( 'Renewal <span class="count">(%s)</span>', 'Renewal <span class="count">(%s)</span>', 'invoicing' ),
308
-				),
309
-			)
310
-		);
300
+                'wpi-renewal'    => array(
301
+                    'label'                     => _x( 'Renewal', 'Invoice status', 'invoicing' ),
302
+                    'public'                    => true,
303
+                    'exclude_from_search'       => true,
304
+                    'show_in_admin_all_list'    => true,
305
+                    'show_in_admin_status_list' => true,
306
+                    /* translators: %s: number of invoices */
307
+                    'label_count'               => _n_noop( 'Renewal <span class="count">(%s)</span>', 'Renewal <span class="count">(%s)</span>', 'invoicing' ),
308
+                ),
309
+            )
310
+        );
311 311
 
312
-		foreach ( $invoice_statuses as $invoice_statuse => $args ) {
313
-			register_post_status( $invoice_statuse, $args );
314
-		}
315
-	}
312
+        foreach ( $invoice_statuses as $invoice_statuse => $args ) {
313
+            register_post_status( $invoice_statuse, $args );
314
+        }
315
+    }
316 316
 
317
-	/**
318
-	 * Flush rewrite rules.
319
-	 */
320
-	public static function flush_rewrite_rules() {
321
-		flush_rewrite_rules();
322
-	}
317
+    /**
318
+     * Flush rewrite rules.
319
+     */
320
+    public static function flush_rewrite_rules() {
321
+        flush_rewrite_rules();
322
+    }
323 323
 
324
-	/**
325
-	 * Flush rules to prevent 404.
326
-	 *
327
-	 */
328
-	public static function maybe_flush_rewrite_rules() {
329
-		if ( ! get_option( 'getpaid_flushed_rewrite_rules' ) ) {
330
-			update_option( 'getpaid_flushed_rewrite_rules', '1' );
331
-			self::flush_rewrite_rules();
332
-		}
333
-	}
324
+    /**
325
+     * Flush rules to prevent 404.
326
+     *
327
+     */
328
+    public static function maybe_flush_rewrite_rules() {
329
+        if ( ! get_option( 'getpaid_flushed_rewrite_rules' ) ) {
330
+            update_option( 'getpaid_flushed_rewrite_rules', '1' );
331
+            self::flush_rewrite_rules();
332
+        }
333
+    }
334 334
 
335 335
 }
Please login to merge, or discard this patch.
Spacing   +110 added lines, -110 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  *
7 7
  */
8 8
 
9
-defined( 'ABSPATH' ) || exit;
9
+defined('ABSPATH') || exit;
10 10
 
11 11
 /**
12 12
  * Post types Class
@@ -18,10 +18,10 @@  discard block
 block discarded – undo
18 18
 	 * Hook in methods.
19 19
 	 */
20 20
 	public function __construct() {
21
-		add_action( 'init', array( __CLASS__, 'register_post_types' ), 1 );
22
-		add_action( 'init', array( __CLASS__, 'register_post_status' ), 4 );
23
-		add_action( 'getpaid_flush_rewrite_rules', array( __CLASS__, 'flush_rewrite_rules' ) );
24
-		add_action( 'getpaid_after_register_post_types', array( __CLASS__, 'maybe_flush_rewrite_rules' ) );
21
+		add_action('init', array(__CLASS__, 'register_post_types'), 1);
22
+		add_action('init', array(__CLASS__, 'register_post_status'), 4);
23
+		add_action('getpaid_flush_rewrite_rules', array(__CLASS__, 'flush_rewrite_rules'));
24
+		add_action('getpaid_after_register_post_types', array(__CLASS__, 'maybe_flush_rewrite_rules'));
25 25
 	}
26 26
 
27 27
 	/**
@@ -29,14 +29,14 @@  discard block
 block discarded – undo
29 29
 	 */
30 30
 	public static function register_post_types() {
31 31
 
32
-		if ( ! is_blog_installed() || post_type_exists( 'wpi_item' ) ) {
32
+		if (!is_blog_installed() || post_type_exists('wpi_item')) {
33 33
 			return;
34 34
 		}
35 35
 
36 36
 		$capabilities = wpinv_current_user_can_manage_invoicing();
37 37
 
38 38
 		// Fires before registering post types.
39
-		do_action( 'getpaid_register_post_types' );
39
+		do_action('getpaid_register_post_types');
40 40
 
41 41
 		// Register item post type.
42 42
 		register_post_type(
@@ -45,29 +45,29 @@  discard block
 block discarded – undo
45 45
 				'wpinv_register_post_type_invoice_item',
46 46
 				array(
47 47
 					'labels'            => array(
48
-						'name'               => _x( 'Items', 'post type general name', 'invoicing' ),
49
-						'singular_name'      => _x( 'Item', 'post type singular name', 'invoicing' ),
50
-						'menu_name'          => _x( 'Items', 'admin menu', 'invoicing' ),
51
-						'name_admin_bar'     => _x( 'Item', 'add new on admin bar', 'invoicing' ),
52
-						'add_new'            => _x( 'Add New', 'Item', 'invoicing' ),
53
-						'add_new_item'       => __( 'Add New Item', 'invoicing' ),
54
-						'new_item'           => __( 'New Item', 'invoicing' ),
55
-						'edit_item'          => __( 'Edit Item', 'invoicing' ),
56
-						'view_item'          => __( 'View Item', 'invoicing' ),
57
-						'all_items'          => __( 'Items', 'invoicing' ),
58
-						'search_items'       => __( 'Search items', 'invoicing' ),
59
-						'parent_item_colon'  => __( 'Parent item:', 'invoicing' ),
60
-						'not_found'          => __( 'No items found.', 'invoicing' ),
61
-						'not_found_in_trash' => __( 'No items found in trash.', 'invoicing' ),
48
+						'name'               => _x('Items', 'post type general name', 'invoicing'),
49
+						'singular_name'      => _x('Item', 'post type singular name', 'invoicing'),
50
+						'menu_name'          => _x('Items', 'admin menu', 'invoicing'),
51
+						'name_admin_bar'     => _x('Item', 'add new on admin bar', 'invoicing'),
52
+						'add_new'            => _x('Add New', 'Item', 'invoicing'),
53
+						'add_new_item'       => __('Add New Item', 'invoicing'),
54
+						'new_item'           => __('New Item', 'invoicing'),
55
+						'edit_item'          => __('Edit Item', 'invoicing'),
56
+						'view_item'          => __('View Item', 'invoicing'),
57
+						'all_items'          => __('Items', 'invoicing'),
58
+						'search_items'       => __('Search items', 'invoicing'),
59
+						'parent_item_colon'  => __('Parent item:', 'invoicing'),
60
+						'not_found'          => __('No items found.', 'invoicing'),
61
+						'not_found_in_trash' => __('No items found in trash.', 'invoicing'),
62 62
 					),
63
-					'description'       => __( 'This is where you can add new invoice items.', 'invoicing' ),
63
+					'description'       => __('This is where you can add new invoice items.', 'invoicing'),
64 64
 					'public'            => false,
65 65
 					'has_archive'       => false,
66 66
 					'_builtin'          => false,
67 67
 					'show_ui'           => $capabilities ? true : false,
68 68
 					'show_in_menu'      => $capabilities ? 'wpinv' : false,
69 69
 					'show_in_nav_menus' => false,
70
-					'supports'          => array( 'title', 'excerpt', 'thumbnail' ),
70
+					'supports'          => array('title', 'excerpt', 'thumbnail'),
71 71
 					'rewrite'           => false,
72 72
 					'query_var'         => false,
73 73
 					'map_meta_cap'      => true,
@@ -84,22 +84,22 @@  discard block
 block discarded – undo
84 84
 				'wpinv_register_post_type_payment_form',
85 85
 				array(
86 86
 					'labels'            => array(
87
-						'name'               => _x( 'Payment Forms', 'post type general name', 'invoicing' ),
88
-						'singular_name'      => _x( 'Payment Form', 'post type singular name', 'invoicing' ),
89
-						'menu_name'          => _x( 'Payment Forms', 'admin menu', 'invoicing' ),
90
-						'name_admin_bar'     => _x( 'Payment Form', 'add new on admin bar', 'invoicing' ),
91
-						'add_new'            => _x( 'Add New', 'Payment Form', 'invoicing' ),
92
-						'add_new_item'       => __( 'Add New Payment Form', 'invoicing' ),
93
-						'new_item'           => __( 'New Payment Form', 'invoicing' ),
94
-						'edit_item'          => __( 'Edit Payment Form', 'invoicing' ),
95
-						'view_item'          => __( 'View Payment Form', 'invoicing' ),
96
-						'all_items'          => __( 'Payment Forms', 'invoicing' ),
97
-						'search_items'       => __( 'Search Payment Forms', 'invoicing' ),
98
-						'parent_item_colon'  => __( 'Parent Payment Forms:', 'invoicing' ),
99
-						'not_found'          => __( 'No payment forms found.', 'invoicing' ),
100
-						'not_found_in_trash' => __( 'No payment forms found in trash.', 'invoicing' ),
87
+						'name'               => _x('Payment Forms', 'post type general name', 'invoicing'),
88
+						'singular_name'      => _x('Payment Form', 'post type singular name', 'invoicing'),
89
+						'menu_name'          => _x('Payment Forms', 'admin menu', 'invoicing'),
90
+						'name_admin_bar'     => _x('Payment Form', 'add new on admin bar', 'invoicing'),
91
+						'add_new'            => _x('Add New', 'Payment Form', 'invoicing'),
92
+						'add_new_item'       => __('Add New Payment Form', 'invoicing'),
93
+						'new_item'           => __('New Payment Form', 'invoicing'),
94
+						'edit_item'          => __('Edit Payment Form', 'invoicing'),
95
+						'view_item'          => __('View Payment Form', 'invoicing'),
96
+						'all_items'          => __('Payment Forms', 'invoicing'),
97
+						'search_items'       => __('Search Payment Forms', 'invoicing'),
98
+						'parent_item_colon'  => __('Parent Payment Forms:', 'invoicing'),
99
+						'not_found'          => __('No payment forms found.', 'invoicing'),
100
+						'not_found_in_trash' => __('No payment forms found in trash.', 'invoicing'),
101 101
 					),
102
-					'description'       => __( 'Add new payment forms.', 'invoicing' ),
102
+					'description'       => __('Add new payment forms.', 'invoicing'),
103 103
 					'public'            => false,
104 104
 					'show_ui'           => $capabilities ? true : false,
105 105
 					'show_in_menu'      => $capabilities ? 'wpinv' : false,
@@ -110,7 +110,7 @@  discard block
 block discarded – undo
110 110
 					'has_archive'       => false,
111 111
 					'hierarchical'      => false,
112 112
 					'menu_position'     => null,
113
-					'supports'          => array( 'title' ),
113
+					'supports'          => array('title'),
114 114
 					'menu_icon'         => 'dashicons-media-form',
115 115
 				)
116 116
 			)
@@ -123,32 +123,32 @@  discard block
 block discarded – undo
123 123
 				'wpinv_register_post_type_invoice',
124 124
 				array(
125 125
 					'labels'              => array(
126
-						'name'                  => __( 'Invoices', 'invoicing' ),
127
-						'singular_name'         => __( 'Invoice', 'invoicing' ),
128
-						'all_items'             => __( 'Invoices', 'invoicing' ),
129
-						'menu_name'             => _x( 'Invoices', 'Admin menu name', 'invoicing' ),
130
-						'add_new'               => __( 'Add New', 'invoicing' ),
131
-						'add_new_item'          => __( 'Add new invoice', 'invoicing' ),
132
-						'edit'                  => __( 'Edit', 'invoicing' ),
133
-						'edit_item'             => __( 'Edit invoice', 'invoicing' ),
134
-						'new_item'              => __( 'New invoice', 'invoicing' ),
135
-						'view_item'             => __( 'View invoice', 'invoicing' ),
136
-						'view_items'            => __( 'View Invoices', 'invoicing' ),
137
-						'search_items'          => __( 'Search invoices', 'invoicing' ),
138
-						'not_found'             => __( 'No invoices found', 'invoicing' ),
139
-						'not_found_in_trash'    => __( 'No invoices found in trash', 'invoicing' ),
140
-						'parent'                => __( 'Parent invoice', 'invoicing' ),
141
-						'featured_image'        => __( 'Invoice image', 'invoicing' ),
142
-						'set_featured_image'    => __( 'Set invoice image', 'invoicing' ),
143
-						'remove_featured_image' => __( 'Remove invoice image', 'invoicing' ),
144
-						'use_featured_image'    => __( 'Use as invoice image', 'invoicing' ),
145
-						'insert_into_item'      => __( 'Insert into invoice', 'invoicing' ),
146
-						'uploaded_to_this_item' => __( 'Uploaded to this invoice', 'invoicing' ),
147
-						'filter_items_list'     => __( 'Filter invoices', 'invoicing' ),
148
-						'items_list_navigation' => __( 'Invoices navigation', 'invoicing' ),
149
-						'items_list'            => __( 'Invoices list', 'invoicing' ),
126
+						'name'                  => __('Invoices', 'invoicing'),
127
+						'singular_name'         => __('Invoice', 'invoicing'),
128
+						'all_items'             => __('Invoices', 'invoicing'),
129
+						'menu_name'             => _x('Invoices', 'Admin menu name', 'invoicing'),
130
+						'add_new'               => __('Add New', 'invoicing'),
131
+						'add_new_item'          => __('Add new invoice', 'invoicing'),
132
+						'edit'                  => __('Edit', 'invoicing'),
133
+						'edit_item'             => __('Edit invoice', 'invoicing'),
134
+						'new_item'              => __('New invoice', 'invoicing'),
135
+						'view_item'             => __('View invoice', 'invoicing'),
136
+						'view_items'            => __('View Invoices', 'invoicing'),
137
+						'search_items'          => __('Search invoices', 'invoicing'),
138
+						'not_found'             => __('No invoices found', 'invoicing'),
139
+						'not_found_in_trash'    => __('No invoices found in trash', 'invoicing'),
140
+						'parent'                => __('Parent invoice', 'invoicing'),
141
+						'featured_image'        => __('Invoice image', 'invoicing'),
142
+						'set_featured_image'    => __('Set invoice image', 'invoicing'),
143
+						'remove_featured_image' => __('Remove invoice image', 'invoicing'),
144
+						'use_featured_image'    => __('Use as invoice image', 'invoicing'),
145
+						'insert_into_item'      => __('Insert into invoice', 'invoicing'),
146
+						'uploaded_to_this_item' => __('Uploaded to this invoice', 'invoicing'),
147
+						'filter_items_list'     => __('Filter invoices', 'invoicing'),
148
+						'items_list_navigation' => __('Invoices navigation', 'invoicing'),
149
+						'items_list'            => __('Invoices list', 'invoicing'),
150 150
 					),
151
-					'description'         => __( 'This is where invoices are stored.', 'invoicing' ),
151
+					'description'         => __('This is where invoices are stored.', 'invoicing'),
152 152
 					'public'              => true,
153 153
 					'has_archive'         => false,
154 154
 					'publicly_queryable'  => true,
@@ -156,7 +156,7 @@  discard block
 block discarded – undo
156 156
         			'show_ui'             => $capabilities ? true : false,
157 157
 					'show_in_menu'        => $capabilities ? 'wpinv' : false,
158 158
 					'show_in_nav_menus'   => false,
159
-					'supports'            => array( 'title', 'author', 'excerpt' ),
159
+					'supports'            => array('title', 'author', 'excerpt'),
160 160
 					'rewrite'             => array(
161 161
 						'slug'       => 'invoice',
162 162
 						'with_front' => false,
@@ -179,32 +179,32 @@  discard block
 block discarded – undo
179 179
 				'wpinv_register_post_type_discount',
180 180
 				array(
181 181
 					'labels'              => array(
182
-						'name'                  => __( 'Discounts', 'invoicing' ),
183
-						'singular_name'         => __( 'Discount', 'invoicing' ),
184
-						'all_items'             => __( 'Discounts', 'invoicing' ),
185
-						'menu_name'             => _x( 'Discounts', 'Admin menu name', 'invoicing' ),
186
-						'add_new'               => __( 'Add New', 'invoicing' ),
187
-						'add_new_item'          => __( 'Add new discount', 'invoicing' ),
188
-						'edit'                  => __( 'Edit', 'invoicing' ),
189
-						'edit_item'             => __( 'Edit discount', 'invoicing' ),
190
-						'new_item'              => __( 'New discount', 'invoicing' ),
191
-						'view_item'             => __( 'View discount', 'invoicing' ),
192
-						'view_items'            => __( 'View Discounts', 'invoicing' ),
193
-						'search_items'          => __( 'Search discounts', 'invoicing' ),
194
-						'not_found'             => __( 'No discounts found', 'invoicing' ),
195
-						'not_found_in_trash'    => __( 'No discounts found in trash', 'invoicing' ),
196
-						'parent'                => __( 'Parent discount', 'invoicing' ),
197
-						'featured_image'        => __( 'Discount image', 'invoicing' ),
198
-						'set_featured_image'    => __( 'Set discount image', 'invoicing' ),
199
-						'remove_featured_image' => __( 'Remove discount image', 'invoicing' ),
200
-						'use_featured_image'    => __( 'Use as discount image', 'invoicing' ),
201
-						'insert_into_item'      => __( 'Insert into discount', 'invoicing' ),
202
-						'uploaded_to_this_item' => __( 'Uploaded to this discount', 'invoicing' ),
203
-						'filter_items_list'     => __( 'Filter discounts', 'invoicing' ),
204
-						'items_list_navigation' => __( 'Discount navigation', 'invoicing' ),
205
-						'items_list'            => __( 'Discounts list', 'invoicing' ),
182
+						'name'                  => __('Discounts', 'invoicing'),
183
+						'singular_name'         => __('Discount', 'invoicing'),
184
+						'all_items'             => __('Discounts', 'invoicing'),
185
+						'menu_name'             => _x('Discounts', 'Admin menu name', 'invoicing'),
186
+						'add_new'               => __('Add New', 'invoicing'),
187
+						'add_new_item'          => __('Add new discount', 'invoicing'),
188
+						'edit'                  => __('Edit', 'invoicing'),
189
+						'edit_item'             => __('Edit discount', 'invoicing'),
190
+						'new_item'              => __('New discount', 'invoicing'),
191
+						'view_item'             => __('View discount', 'invoicing'),
192
+						'view_items'            => __('View Discounts', 'invoicing'),
193
+						'search_items'          => __('Search discounts', 'invoicing'),
194
+						'not_found'             => __('No discounts found', 'invoicing'),
195
+						'not_found_in_trash'    => __('No discounts found in trash', 'invoicing'),
196
+						'parent'                => __('Parent discount', 'invoicing'),
197
+						'featured_image'        => __('Discount image', 'invoicing'),
198
+						'set_featured_image'    => __('Set discount image', 'invoicing'),
199
+						'remove_featured_image' => __('Remove discount image', 'invoicing'),
200
+						'use_featured_image'    => __('Use as discount image', 'invoicing'),
201
+						'insert_into_item'      => __('Insert into discount', 'invoicing'),
202
+						'uploaded_to_this_item' => __('Uploaded to this discount', 'invoicing'),
203
+						'filter_items_list'     => __('Filter discounts', 'invoicing'),
204
+						'items_list_navigation' => __('Discount navigation', 'invoicing'),
205
+						'items_list'            => __('Discounts list', 'invoicing'),
206 206
 					),
207
-					'description'         => __( 'This is where you can add new discounts that users can use in invoices.', 'invoicing' ),
207
+					'description'         => __('This is where you can add new discounts that users can use in invoices.', 'invoicing'),
208 208
 					'public'              => false,
209 209
 					'can_export'          => $capabilities ? true : false,
210 210
 					'_builtin'            => false,
@@ -217,7 +217,7 @@  discard block
 block discarded – undo
217 217
 					'map_meta_cap'        => true,
218 218
 					'has_archive'         => false,
219 219
 					'hierarchical'        => false,
220
-					'supports'            => array( 'title', 'excerpt' ),
220
+					'supports'            => array('title', 'excerpt'),
221 221
 					'show_in_nav_menus'   => false,
222 222
 					'show_in_admin_bar'   => $capabilities ? true : false,
223 223
 					'menu_position'       => null,
@@ -225,7 +225,7 @@  discard block
 block discarded – undo
225 225
 			)
226 226
 		);
227 227
 
228
-		do_action( 'getpaid_after_register_post_types' );
228
+		do_action('getpaid_after_register_post_types');
229 229
 	}
230 230
 
231 231
 	/**
@@ -238,79 +238,79 @@  discard block
 block discarded – undo
238 238
 			array(
239 239
 
240 240
 				'wpi-pending'    => array(
241
-					'label'                     => _x( 'Pending Payment', 'Invoice status', 'invoicing' ),
241
+					'label'                     => _x('Pending Payment', 'Invoice status', 'invoicing'),
242 242
         			'public'                    => true,
243 243
         			'exclude_from_search'       => true,
244 244
         			'show_in_admin_all_list'    => true,
245 245
 					'show_in_admin_status_list' => true,
246 246
 					/* translators: %s: number of invoices */
247
-        			'label_count'               => _n_noop( 'Pending Payment <span class="count">(%s)</span>', 'Pending Payment <span class="count">(%s)</span>', 'invoicing' ),
247
+        			'label_count'               => _n_noop('Pending Payment <span class="count">(%s)</span>', 'Pending Payment <span class="count">(%s)</span>', 'invoicing'),
248 248
 				),
249 249
 
250 250
 				'wpi-processing' => array(
251
-					'label'                     => _x( 'Processing', 'Invoice status', 'invoicing' ),
251
+					'label'                     => _x('Processing', 'Invoice status', 'invoicing'),
252 252
         			'public'                    => true,
253 253
         			'exclude_from_search'       => true,
254 254
         			'show_in_admin_all_list'    => true,
255 255
 					'show_in_admin_status_list' => true,
256 256
 					/* translators: %s: number of invoices */
257
-        			'label_count'               => _n_noop( 'Processing <span class="count">(%s)</span>', 'Processing <span class="count">(%s)</span>', 'invoicing' ),
257
+        			'label_count'               => _n_noop('Processing <span class="count">(%s)</span>', 'Processing <span class="count">(%s)</span>', 'invoicing'),
258 258
 				),
259 259
 
260 260
 				'wpi-onhold'     => array(
261
-					'label'                     => _x( 'On Hold', 'Invoice status', 'invoicing' ),
261
+					'label'                     => _x('On Hold', 'Invoice status', 'invoicing'),
262 262
         			'public'                    => true,
263 263
         			'exclude_from_search'       => true,
264 264
         			'show_in_admin_all_list'    => true,
265 265
 					'show_in_admin_status_list' => true,
266 266
 					/* translators: %s: number of invoices */
267
-        			'label_count'               => _n_noop( 'On Hold <span class="count">(%s)</span>', 'On Hold <span class="count">(%s)</span>', 'invoicing' ),
267
+        			'label_count'               => _n_noop('On Hold <span class="count">(%s)</span>', 'On Hold <span class="count">(%s)</span>', 'invoicing'),
268 268
 				),
269 269
 
270 270
 				'wpi-cancelled'  => array(
271
-					'label'                     => _x( 'Cancelled', 'Invoice status', 'invoicing' ),
271
+					'label'                     => _x('Cancelled', 'Invoice status', 'invoicing'),
272 272
         			'public'                    => true,
273 273
         			'exclude_from_search'       => true,
274 274
         			'show_in_admin_all_list'    => true,
275 275
 					'show_in_admin_status_list' => true,
276 276
 					/* translators: %s: number of invoices */
277
-        			'label_count'               => _n_noop( 'Cancelled <span class="count">(%s)</span>', 'Cancelled <span class="count">(%s)</span>', 'invoicing' ),
277
+        			'label_count'               => _n_noop('Cancelled <span class="count">(%s)</span>', 'Cancelled <span class="count">(%s)</span>', 'invoicing'),
278 278
 				),
279 279
 
280 280
 				'wpi-refunded'   => array(
281
-					'label'                     => _x( 'Refunded', 'Invoice status', 'invoicing' ),
281
+					'label'                     => _x('Refunded', 'Invoice status', 'invoicing'),
282 282
         			'public'                    => true,
283 283
         			'exclude_from_search'       => true,
284 284
         			'show_in_admin_all_list'    => true,
285 285
 					'show_in_admin_status_list' => true,
286 286
 					/* translators: %s: number of invoices */
287
-        			'label_count'               => _n_noop( 'Refunded <span class="count">(%s)</span>', 'Refunded <span class="count">(%s)</span>', 'invoicing' ),
287
+        			'label_count'               => _n_noop('Refunded <span class="count">(%s)</span>', 'Refunded <span class="count">(%s)</span>', 'invoicing'),
288 288
 				),
289 289
 
290 290
 				'wpi-failed'     => array(
291
-					'label'                     => _x( 'Failed', 'Invoice status', 'invoicing' ),
291
+					'label'                     => _x('Failed', 'Invoice status', 'invoicing'),
292 292
         			'public'                    => true,
293 293
         			'exclude_from_search'       => true,
294 294
         			'show_in_admin_all_list'    => true,
295 295
 					'show_in_admin_status_list' => true,
296 296
 					/* translators: %s: number of invoices */
297
-        			'label_count'               => _n_noop( 'Failed <span class="count">(%s)</span>', 'Failed <span class="count">(%s)</span>', 'invoicing' ),
297
+        			'label_count'               => _n_noop('Failed <span class="count">(%s)</span>', 'Failed <span class="count">(%s)</span>', 'invoicing'),
298 298
 				),
299 299
 
300 300
 				'wpi-renewal'    => array(
301
-					'label'                     => _x( 'Renewal', 'Invoice status', 'invoicing' ),
301
+					'label'                     => _x('Renewal', 'Invoice status', 'invoicing'),
302 302
         			'public'                    => true,
303 303
         			'exclude_from_search'       => true,
304 304
         			'show_in_admin_all_list'    => true,
305 305
 					'show_in_admin_status_list' => true,
306 306
 					/* translators: %s: number of invoices */
307
-        			'label_count'               => _n_noop( 'Renewal <span class="count">(%s)</span>', 'Renewal <span class="count">(%s)</span>', 'invoicing' ),
307
+        			'label_count'               => _n_noop('Renewal <span class="count">(%s)</span>', 'Renewal <span class="count">(%s)</span>', 'invoicing'),
308 308
 				),
309 309
 			)
310 310
 		);
311 311
 
312
-		foreach ( $invoice_statuses as $invoice_statuse => $args ) {
313
-			register_post_status( $invoice_statuse, $args );
312
+		foreach ($invoice_statuses as $invoice_statuse => $args) {
313
+			register_post_status($invoice_statuse, $args);
314 314
 		}
315 315
 	}
316 316
 
@@ -326,8 +326,8 @@  discard block
 block discarded – undo
326 326
 	 *
327 327
 	 */
328 328
 	public static function maybe_flush_rewrite_rules() {
329
-		if ( ! get_option( 'getpaid_flushed_rewrite_rules' ) ) {
330
-			update_option( 'getpaid_flushed_rewrite_rules', '1' );
329
+		if (!get_option('getpaid_flushed_rewrite_rules')) {
330
+			update_option('getpaid_flushed_rewrite_rules', '1');
331 331
 			self::flush_rewrite_rules();
332 332
 		}
333 333
 	}
Please login to merge, or discard this patch.