Passed
Push — master ( 0f89d8...20b97c )
by Brian
04:46
created
templates/subscriptions/subscriptions-table-row.php 1 patch
Indentation   +28 added lines, -28 removed lines patch added patch discarded remove patch
@@ -13,42 +13,42 @@
 block discarded – undo
13 13
 
14 14
 foreach ( array_keys( $widget->get_subscriptions_table_columns() ) as $column ) :
15 15
 
16
-	$class = sanitize_html_class( $column );
17
-	echo "<td class='getpaid-subscriptions-table-column-" . esc_attr( $class ) . "'>";
16
+    $class = sanitize_html_class( $column );
17
+    echo "<td class='getpaid-subscriptions-table-column-" . esc_attr( $class ) . "'>";
18 18
 
19
-		do_action( "getpaid_subscriptions_before_frontend_subscription_table_$column", $subscription );
19
+        do_action( "getpaid_subscriptions_before_frontend_subscription_table_$column", $subscription );
20 20
 
21
-		switch ( $column ) :
21
+        switch ( $column ) :
22 22
 
23
-		case 'subscription':
24
-			$subscription_id = (int) $subscription->get_id();
25
-			$url             = esc_url( $subscription->get_view_url() );
26
-			$id_label        = sprintf(
27
-				esc_attr_x( '#%s', 'subscription id', 'invoicing' ),
28
-				(int) $subscription->get_id()
29
-			);
30
-			echo wp_kses_post( $widget->add_row_actions( "<a href='$url' class='font-weight-bold text-decoration-none'>$id_label</a>", $subscription ) );
31
-			break;
23
+        case 'subscription':
24
+            $subscription_id = (int) $subscription->get_id();
25
+            $url             = esc_url( $subscription->get_view_url() );
26
+            $id_label        = sprintf(
27
+                esc_attr_x( '#%s', 'subscription id', 'invoicing' ),
28
+                (int) $subscription->get_id()
29
+            );
30
+            echo wp_kses_post( $widget->add_row_actions( "<a href='$url' class='font-weight-bold text-decoration-none'>$id_label</a>", $subscription ) );
31
+            break;
32 32
 
33
-		case 'status':
34
-			echo esc_html( $subscription->get_status_label() );
35
-			break;
33
+        case 'status':
34
+            echo esc_html( $subscription->get_status_label() );
35
+            break;
36 36
 
37
-		case 'renewal-date':
38
-			$renewal = getpaid_format_date_value( $subscription->get_next_renewal_date() );
39
-			echo $subscription->is_active() ? esc_html( $renewal ) : '&mdash;';
40
-			break;
37
+        case 'renewal-date':
38
+            $renewal = getpaid_format_date_value( $subscription->get_next_renewal_date() );
39
+            echo $subscription->is_active() ? esc_html( $renewal ) : '&mdash;';
40
+            break;
41 41
 
42
-		case 'amount':
43
-			$frequency = getpaid_get_subscription_period_label( $subscription->get_period(), $subscription->get_frequency(), '' );
44
-			$amount    = wpinv_price( $subscription->get_recurring_amount(), $subscription->get_parent_payment()->get_currency() );
45
-			echo wp_kses_post( "<span>$amount</span> / <span class='getpaid-item-recurring-period'>$frequency</span>" );
46
-			break;
42
+        case 'amount':
43
+            $frequency = getpaid_get_subscription_period_label( $subscription->get_period(), $subscription->get_frequency(), '' );
44
+            $amount    = wpinv_price( $subscription->get_recurring_amount(), $subscription->get_parent_payment()->get_currency() );
45
+            echo wp_kses_post( "<span>$amount</span> / <span class='getpaid-item-recurring-period'>$frequency</span>" );
46
+            break;
47 47
 
48
-		endswitch;
48
+        endswitch;
49 49
 
50
-		do_action( "getpaid_subscriptions_frontend_subscription_table_$column", $subscription );
50
+        do_action( "getpaid_subscriptions_frontend_subscription_table_$column", $subscription );
51 51
 
52
-	echo '</td>';
52
+    echo '</td>';
53 53
 
54 54
 endforeach;
Please login to merge, or discard this patch.
templates/subscriptions/subscription-details.php 1 patch
Indentation   +46 added lines, -46 removed lines patch added patch discarded remove patch
@@ -46,62 +46,62 @@  discard block
 block discarded – undo
46 46
 				<td style="width: 65%">
47 47
 					<?php
48 48
 
49
-						switch ( $key ) {
49
+                        switch ( $key ) {
50 50
 
51
-						case 'status':
52
-							echo esc_html( $subscription->get_status_label() );
53
-							break;
51
+                        case 'status':
52
+                            echo esc_html( $subscription->get_status_label() );
53
+                            break;
54 54
 
55
-						case 'start_date':
56
-							echo esc_html( getpaid_format_date_value( $subscription->get_date_created() ) );
57
-							break;
55
+                        case 'start_date':
56
+                            echo esc_html( getpaid_format_date_value( $subscription->get_date_created() ) );
57
+                            break;
58 58
 
59
-						case 'expiry_date':
60
-							echo esc_html( getpaid_format_date_value( $subscription->get_next_renewal_date() ) );
61
-							break;
59
+                        case 'expiry_date':
60
+                            echo esc_html( getpaid_format_date_value( $subscription->get_next_renewal_date() ) );
61
+                            break;
62 62
 
63
-						case 'initial_amount':
64
-							echo wp_kses_post( wpinv_price( $subscription->get_initial_amount(), $subscription->get_parent_payment()->get_currency() ) );
63
+                        case 'initial_amount':
64
+                            echo wp_kses_post( wpinv_price( $subscription->get_initial_amount(), $subscription->get_parent_payment()->get_currency() ) );
65 65
 
66
-							if ( $subscription->has_trial_period() ) {
66
+                            if ( $subscription->has_trial_period() ) {
67 67
 
68
-								echo "<small class='text-muted'>&nbsp;";
69
-								printf(
70
-									esc_html_x( '( %1$s trial )', 'Subscription trial period. (e.g.: 1 month trial)', 'invoicing' ),
71
-									esc_html( $subscription->get_trial_period() )
72
-								);
73
-								echo '</small>';
68
+                                echo "<small class='text-muted'>&nbsp;";
69
+                                printf(
70
+                                    esc_html_x( '( %1$s trial )', 'Subscription trial period. (e.g.: 1 month trial)', 'invoicing' ),
71
+                                    esc_html( $subscription->get_trial_period() )
72
+                                );
73
+                                echo '</small>';
74 74
 
75
-							}
75
+                            }
76 76
 
77
-							break;
77
+                            break;
78 78
 
79
-						case 'recurring_amount':
80
-							$frequency = getpaid_get_subscription_period_label( $subscription->get_period(), $subscription->get_frequency(), '' );
81
-							$amount    = wpinv_price( $subscription->get_recurring_amount(), $subscription->get_parent_payment()->get_currency() );
82
-							echo wp_kses_post( strtolower( "<strong style='font-weight: 500;'>$amount</strong> / <span class='getpaid-item-recurring-period'>$frequency</span>" ) );
83
-							break;
79
+                        case 'recurring_amount':
80
+                            $frequency = getpaid_get_subscription_period_label( $subscription->get_period(), $subscription->get_frequency(), '' );
81
+                            $amount    = wpinv_price( $subscription->get_recurring_amount(), $subscription->get_parent_payment()->get_currency() );
82
+                            echo wp_kses_post( strtolower( "<strong style='font-weight: 500;'>$amount</strong> / <span class='getpaid-item-recurring-period'>$frequency</span>" ) );
83
+                            break;
84 84
 
85
-						case 'item':
86
-							if ( empty( $subscription_group ) ) {
87
-								echo wp_kses_post( WPInv_Subscriptions_List_Table::generate_item_markup( $subscription->get_product_id() ) );
88
-								} else {
89
-								$markup = array_map( array( 'WPInv_Subscriptions_List_Table', 'generate_item_markup' ), array_keys( $subscription_group['items'] ) );
90
-								echo wp_kses_post( implode( ' | ', $markup ) );
91
-								}
85
+                        case 'item':
86
+                            if ( empty( $subscription_group ) ) {
87
+                                echo wp_kses_post( WPInv_Subscriptions_List_Table::generate_item_markup( $subscription->get_product_id() ) );
88
+                                } else {
89
+                                $markup = array_map( array( 'WPInv_Subscriptions_List_Table', 'generate_item_markup' ), array_keys( $subscription_group['items'] ) );
90
+                                echo wp_kses_post( implode( ' | ', $markup ) );
91
+                                }
92 92
 
93
-							break;
93
+                            break;
94 94
 
95
-						case 'payments':
96
-							$max_activations = (int) $subscription->get_bill_times();
97
-							echo ( (int) $subscription->get_times_billed() ) . ' / ' . ( empty( $max_activations ) ? '&infin;' : (int) $max_activations );
95
+                        case 'payments':
96
+                            $max_activations = (int) $subscription->get_bill_times();
97
+                            echo ( (int) $subscription->get_times_billed() ) . ' / ' . ( empty( $max_activations ) ? '&infin;' : (int) $max_activations );
98 98
 
99
-							break;
99
+                            break;
100 100
 
101
-						}
102
-						do_action( "getpaid_render_single_subscription_column_$key", $subscription );
101
+                        }
102
+                        do_action( "getpaid_render_single_subscription_column_$key", $subscription );
103 103
 
104
-					?>
104
+                    ?>
105 105
 				</td>
106 106
 
107 107
 			</tr>
@@ -128,17 +128,17 @@  discard block
 block discarded – undo
128 128
 <span class="form-text">
129 129
 
130 130
 	<?php
131
-		if ( $subscription->can_cancel() ) {
132
-		printf(
131
+        if ( $subscription->can_cancel() ) {
132
+        printf(
133 133
             '<a href="%s" class="btn btn-danger btn-sm" onclick="return confirm(\'%s\')">%s</a>&nbsp;&nbsp;',
134 134
             esc_url( $subscription->get_cancel_url() ),
135 135
             esc_attr__( 'Are you sure you want to cancel this subscription?', 'invoicing' ),
136 136
             esc_html__( 'Cancel Subscription', 'invoicing' )
137 137
         );
138
-		}
138
+        }
139 139
 
140
-		do_action( 'getpaid-single-subscription-page-actions', $subscription );
141
-	?>
140
+        do_action( 'getpaid-single-subscription-page-actions', $subscription );
141
+    ?>
142 142
 
143 143
 	<a href="<?php echo esc_url( getpaid_get_tab_url( 'gp-subscriptions', get_permalink( (int) wpinv_get_option( 'invoice_subscription_page' ) ) ) ); ?>" class="btn btn-secondary btn-sm"><?php esc_html_e( 'Go Back', 'invoicing' ); ?></a>
144 144
 </span>
Please login to merge, or discard this patch.
includes/libraries/wp-all-import/rapid-addon.php 1 patch
Indentation   +802 added lines, -802 removed lines patch added patch discarded remove patch
@@ -10,232 +10,232 @@  discard block
 block discarded – undo
10 10
 
11 11
 if (!class_exists('RapidAddon')) {
12 12
 	
13
-	class RapidAddon {
14
-
15
-		public $name;
16
-		public $slug;
17
-		public $fields;
18
-		public $options = array();
19
-		public $accordions = array();
20
-		public $image_sections = array();
21
-		public $import_function;
22
-		public $post_saved_function;
23
-		public $notice_text;
24
-		public $logger = null;
25
-		public $when_to_run = false;
26
-		public $image_options = array(
27
-			'download_images' => 'yes', 
28
-			'download_featured_delim' => ',', 
29
-			'download_featured_image' => '',
30
-			'gallery_featured_image' => '',
31
-			'gallery_featured_delim' => ',',
32
-			'featured_image' => '',
33
-			'featured_delim' => ',', 
34
-			'search_existing_images' => 1,
35
-			'is_featured' => 0,
36
-			'create_draft' => 'no',
37
-			'set_image_meta_title' => 0,
38
-			'image_meta_title_delim' => ',',
39
-			'image_meta_title' => '',
40
-			'set_image_meta_caption' => 0,
41
-			'image_meta_caption_delim' => ',',
42
-			'image_meta_caption' => '',
43
-			'set_image_meta_alt' => 0,
44
-			'image_meta_alt_delim' => ',',
45
-			'image_meta_alt' => '',
46
-			'set_image_meta_description' => 0,
47
-			'image_meta_description_delim' => ',',
48
-			'image_meta_description_delim_logic' => 'separate',
49
-			'image_meta_description' => '',
50
-			'auto_rename_images' => 0,
51
-			'auto_rename_images_suffix' => '',
52
-			'auto_set_extension' => 0,
53
-			'new_extension' => '',
54
-			'do_not_remove_images' => 1,
13
+    class RapidAddon {
14
+
15
+        public $name;
16
+        public $slug;
17
+        public $fields;
18
+        public $options = array();
19
+        public $accordions = array();
20
+        public $image_sections = array();
21
+        public $import_function;
22
+        public $post_saved_function;
23
+        public $notice_text;
24
+        public $logger = null;
25
+        public $when_to_run = false;
26
+        public $image_options = array(
27
+            'download_images' => 'yes', 
28
+            'download_featured_delim' => ',', 
29
+            'download_featured_image' => '',
30
+            'gallery_featured_image' => '',
31
+            'gallery_featured_delim' => ',',
32
+            'featured_image' => '',
33
+            'featured_delim' => ',', 
34
+            'search_existing_images' => 1,
35
+            'is_featured' => 0,
36
+            'create_draft' => 'no',
37
+            'set_image_meta_title' => 0,
38
+            'image_meta_title_delim' => ',',
39
+            'image_meta_title' => '',
40
+            'set_image_meta_caption' => 0,
41
+            'image_meta_caption_delim' => ',',
42
+            'image_meta_caption' => '',
43
+            'set_image_meta_alt' => 0,
44
+            'image_meta_alt_delim' => ',',
45
+            'image_meta_alt' => '',
46
+            'set_image_meta_description' => 0,
47
+            'image_meta_description_delim' => ',',
48
+            'image_meta_description_delim_logic' => 'separate',
49
+            'image_meta_description' => '',
50
+            'auto_rename_images' => 0,
51
+            'auto_rename_images_suffix' => '',
52
+            'auto_set_extension' => 0,
53
+            'new_extension' => '',
54
+            'do_not_remove_images' => 1,
55 55
             'search_existing_images_logic' => 'by_url'
56
-		);
56
+        );
57 57
 
58
-		protected $isWizard = true;
58
+        protected $isWizard = true;
59 59
 
60
-		function __construct($name, $slug) {
61
-			$this->name = $name;
62
-			$this->slug = $slug;
63
-			if (!empty($_GET['id'])){
64
-				$this->isWizard = false;
65
-			}
60
+        function __construct($name, $slug) {
61
+            $this->name = $name;
62
+            $this->slug = $slug;
63
+            if (!empty($_GET['id'])){
64
+                $this->isWizard = false;
65
+            }
66 66
         }
67 67
         
68
-		function set_import_function($name) {
69
-			$this->import_function = $name;
70
-		}
68
+        function set_import_function($name) {
69
+            $this->import_function = $name;
70
+        }
71 71
 
72
-		function set_post_saved_function($name) {
73
-			$this->post_saved_function = $name;
74
-		}
72
+        function set_post_saved_function($name) {
73
+            $this->post_saved_function = $name;
74
+        }
75 75
 
76
-		function is_active_addon($post_type = null) {
76
+        function is_active_addon($post_type = null) {
77 77
 			
78
-			if ( ! class_exists( 'PMXI_Plugin' ) ) {
79
-				return false;
80
-			}
78
+            if ( ! class_exists( 'PMXI_Plugin' ) ) {
79
+                return false;
80
+            }
81 81
 
82
-			$addon_active = false;
82
+            $addon_active = false;
83 83
 
84
-			if ($post_type !== null) {
85
-				if (@in_array($post_type, $this->active_post_types) or empty($this->active_post_types)) {
86
-					$addon_active = true;
87
-				}
88
-			}
84
+            if ($post_type !== null) {
85
+                if (@in_array($post_type, $this->active_post_types) or empty($this->active_post_types)) {
86
+                    $addon_active = true;
87
+                }
88
+            }
89 89
 
90
-			if ($addon_active){
90
+            if ($addon_active){
91 91
 				
92
-				$current_theme = wp_get_theme();
92
+                $current_theme = wp_get_theme();
93 93
 
94
-				$parent_theme = $current_theme->parent();				
94
+                $parent_theme = $current_theme->parent();				
95 95
 
96
-				$theme_name = $current_theme->get('Name');
96
+                $theme_name = $current_theme->get('Name');
97 97
 				
98
-				$addon_active = (@in_array($theme_name, $this->active_themes) or empty($this->active_themes)) ? true : false;
98
+                $addon_active = (@in_array($theme_name, $this->active_themes) or empty($this->active_themes)) ? true : false;
99 99
 
100
-				if ( ! $addon_active and $parent_theme ){
101
-					$parent_theme_name = $parent_theme->get('Name');
102
-					$addon_active = (@in_array($parent_theme_name, $this->active_themes) or empty($this->active_themes)) ? true : false;
100
+                if ( ! $addon_active and $parent_theme ){
101
+                    $parent_theme_name = $parent_theme->get('Name');
102
+                    $addon_active = (@in_array($parent_theme_name, $this->active_themes) or empty($this->active_themes)) ? true : false;
103 103
 
104
-				}
104
+                }
105 105
 				
106
-				if ( $addon_active and ! empty($this->active_plugins) ){
106
+                if ( $addon_active and ! empty($this->active_plugins) ){
107 107
 
108
-					include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
108
+                    include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
109 109
 
110
-					foreach ($this->active_plugins as $plugin) {
111
-						if ( ! is_plugin_active($plugin) ) {
112
-							$addon_active = false;
113
-							break;
114
-						}
115
-					}					
116
-				}
110
+                    foreach ($this->active_plugins as $plugin) {
111
+                        if ( ! is_plugin_active($plugin) ) {
112
+                            $addon_active = false;
113
+                            break;
114
+                        }
115
+                    }					
116
+                }
117 117
 
118
-			}
118
+            }
119 119
 
120
-			if ($this->when_to_run == "always") {
121
-				$addon_active = true;
122
-			}
120
+            if ($this->when_to_run == "always") {
121
+                $addon_active = true;
122
+            }
123 123
 
124
-			return apply_filters('rapid_is_active_add_on', $addon_active, $post_type, $this->slug);
125
-		}
124
+            return apply_filters('rapid_is_active_add_on', $addon_active, $post_type, $this->slug);
125
+        }
126 126
 		
127
-		/**
128
-		* 
129
-		* Add-On Initialization
130
-		*
131
-		* @param array $conditions - list of supported themes and post types
132
-		*
133
-		*/
134
-		function run($conditions = array()) {
135
-
136
-			if (empty($conditions)) {
137
-				$this->when_to_run = "always";
138
-			}
127
+        /**
128
+         * 
129
+         * Add-On Initialization
130
+         *
131
+         * @param array $conditions - list of supported themes and post types
132
+         *
133
+         */
134
+        function run($conditions = array()) {
135
+
136
+            if (empty($conditions)) {
137
+                $this->when_to_run = "always";
138
+            }
139 139
 
140
-			@$this->active_post_types = ( ! empty($conditions['post_types'])) ? $conditions['post_types'] : array();
141
-			@$this->active_themes = ( ! empty($conditions['themes'])) ? $conditions['themes'] : array();
142
-			@$this->active_plugins = ( ! empty($conditions['plugins'])) ? $conditions['plugins'] : array();			
140
+            @$this->active_post_types = ( ! empty($conditions['post_types'])) ? $conditions['post_types'] : array();
141
+            @$this->active_themes = ( ! empty($conditions['themes'])) ? $conditions['themes'] : array();
142
+            @$this->active_plugins = ( ! empty($conditions['plugins'])) ? $conditions['plugins'] : array();			
143 143
 
144
-			add_filter('pmxi_addons', array($this, 'wpai_api_register'));
145
-			add_filter('wp_all_import_addon_parse', array($this, 'wpai_api_parse'));
146
-			add_filter('wp_all_import_addon_import', array($this, 'wpai_api_import'));
147
-			add_filter('wp_all_import_addon_saved_post', array($this, 'wpai_api_post_saved'));
148
-			add_filter('pmxi_options_options', array($this, 'wpai_api_options'));
144
+            add_filter('pmxi_addons', array($this, 'wpai_api_register'));
145
+            add_filter('wp_all_import_addon_parse', array($this, 'wpai_api_parse'));
146
+            add_filter('wp_all_import_addon_import', array($this, 'wpai_api_import'));
147
+            add_filter('wp_all_import_addon_saved_post', array($this, 'wpai_api_post_saved'));
148
+            add_filter('pmxi_options_options', array($this, 'wpai_api_options'));
149 149
             add_filter('wp_all_import_image_sections', array($this, 'additional_sections'), 10, 1);
150 150
             add_filter('pmxi_custom_types', array($this, 'filter_post_types'), 10, 2);
151 151
             add_filter('pmxi_post_list_order', array($this,'sort_post_types'), 10, 1);
152 152
             add_filter('wp_all_import_post_type_image', array($this, 'post_type_image'), 10, 1 );
153
-			add_action('pmxi_extend_options_featured',  array($this, 'wpai_api_metabox'), 10, 2);
153
+            add_action('pmxi_extend_options_featured',  array($this, 'wpai_api_metabox'), 10, 2);
154 154
             add_action('admin_init', array($this, 'admin_notice_ignore'));
155 155
         }        
156 156
 
157
-		function parse($data) {
157
+        function parse($data) {
158 158
 			
159
-			if ( ! $this->is_active_addon($data['import']->options['custom_type'])) return false;
159
+            if ( ! $this->is_active_addon($data['import']->options['custom_type'])) return false;
160 160
 
161
-			$parsedData = $this->helper_parse($data, $this->options_array());
162
-			return $parsedData;
161
+            $parsedData = $this->helper_parse($data, $this->options_array());
162
+            return $parsedData;
163 163
 
164
-		}
164
+        }
165 165
 
166 166
 
167
-		function add_field($field_slug, $field_name, $field_type, $enum_values = null, $tooltip = "", $is_html = true, $default_text = '') {
167
+        function add_field($field_slug, $field_name, $field_type, $enum_values = null, $tooltip = "", $is_html = true, $default_text = '') {
168 168
 
169
-			$field =  array("name" => $field_name, "type" => $field_type, "enum_values" => $enum_values, "tooltip" => $tooltip, "is_sub_field" => false, "is_main_field" => false, "slug" => $field_slug, "is_html" => $is_html, 'default_text' => $default_text);
169
+            $field =  array("name" => $field_name, "type" => $field_type, "enum_values" => $enum_values, "tooltip" => $tooltip, "is_sub_field" => false, "is_main_field" => false, "slug" => $field_slug, "is_html" => $is_html, 'default_text' => $default_text);
170 170
 
171
-			$this->fields[$field_slug] = $field;
171
+            $this->fields[$field_slug] = $field;
172 172
 
173
-			if ( ! empty($enum_values) ){
174
-				foreach ($enum_values as $key => $value) {
175
-					if (is_array($value))
176
-					{
177
-						if ($field['type'] == 'accordion')
178
-						{
179
-							$this->fields[$value['slug']]['is_sub_field'] = true;
180
-						}
181
-						else
182
-						{
183
-							foreach ($value as $n => $param) {							
184
-								if (is_array($param) and ! empty($this->fields[$param['slug']])){
185
-									$this->fields[$param['slug']]['is_sub_field'] = true;								
186
-								}
187
-							}
188
-						}
189
-					}
190
-				}
191
-			}
173
+            if ( ! empty($enum_values) ){
174
+                foreach ($enum_values as $key => $value) {
175
+                    if (is_array($value))
176
+                    {
177
+                        if ($field['type'] == 'accordion')
178
+                        {
179
+                            $this->fields[$value['slug']]['is_sub_field'] = true;
180
+                        }
181
+                        else
182
+                        {
183
+                            foreach ($value as $n => $param) {							
184
+                                if (is_array($param) and ! empty($this->fields[$param['slug']])){
185
+                                    $this->fields[$param['slug']]['is_sub_field'] = true;								
186
+                                }
187
+                            }
188
+                        }
189
+                    }
190
+                }
191
+            }
192 192
 
193
-			return $field;
193
+            return $field;
194 194
 
195
-		}
195
+        }
196 196
 
197
-		function add_acf_field($field){
198
-			$this->fields[$field->post_name] = array(
199
-				'type' => 'acf',
200
-				'field_obj' => $field
201
-			);
202
-		}
197
+        function add_acf_field($field){
198
+            $this->fields[$field->post_name] = array(
199
+                'type' => 'acf',
200
+                'field_obj' => $field
201
+            );
202
+        }
203 203
 
204
-		private $acfGroups = array();
204
+        private $acfGroups = array();
205 205
 
206
-		function use_acf_group($acf_group){
207
-			$this->add_text(
208
-				'<div class="postbox acf_postbox default acf_signle_group rad4">
206
+        function use_acf_group($acf_group){
207
+            $this->add_text(
208
+                '<div class="postbox acf_postbox default acf_signle_group rad4">
209 209
     <h3 class="hndle" style="margin-top:0;"><span>'.$acf_group['title'].'</span></h3>
210 210
 	    <div class="inside">');
211
-			$acf_fields = get_posts(array('posts_per_page' => -1, 'post_type' => 'acf-field', 'post_parent' => $acf_group['ID'], 'post_status' => 'publish', 'orderby' => 'menu_order', 'order' => 'ASC'));
212
-			if (!empty($acf_fields)){
213
-				foreach ($acf_fields as $field) {
214
-					$this->add_acf_field($field);
215
-				}
216
-			}
217
-			$this->add_text('</div></div>');
218
-			$this->acfGroups[] = $acf_group['ID'];
219
-			add_filter('wp_all_import_acf_is_show_group', array($this, 'acf_is_show_group'), 10, 2);
220
-		}
221
-
222
-		function acf_is_show_group($is_show, $acf_group){
223
-			return (in_array($acf_group['ID'], $this->acfGroups)) ? false : true;
224
-		}
225
-
226
-		/**
227
-		* 
228
-		* Add an option to WP All Import options list
229
-		*
230
-		* @param string $slug - option name
231
-		* @param string $default_value - default option value
232
-		*
233
-		*/
234
-		function add_option($slug, $default_value = ''){
235
-			$this->options[$slug] = $default_value;
236
-		}
211
+            $acf_fields = get_posts(array('posts_per_page' => -1, 'post_type' => 'acf-field', 'post_parent' => $acf_group['ID'], 'post_status' => 'publish', 'orderby' => 'menu_order', 'order' => 'ASC'));
212
+            if (!empty($acf_fields)){
213
+                foreach ($acf_fields as $field) {
214
+                    $this->add_acf_field($field);
215
+                }
216
+            }
217
+            $this->add_text('</div></div>');
218
+            $this->acfGroups[] = $acf_group['ID'];
219
+            add_filter('wp_all_import_acf_is_show_group', array($this, 'acf_is_show_group'), 10, 2);
220
+        }
237 221
 
238
-		function options_array() {
222
+        function acf_is_show_group($is_show, $acf_group){
223
+            return (in_array($acf_group['ID'], $this->acfGroups)) ? false : true;
224
+        }
225
+
226
+        /**
227
+         * 
228
+         * Add an option to WP All Import options list
229
+         *
230
+         * @param string $slug - option name
231
+         * @param string $default_value - default option value
232
+         *
233
+         */
234
+        function add_option($slug, $default_value = ''){
235
+            $this->options[$slug] = $default_value;
236
+        }
237
+
238
+        function options_array() {
239 239
 
240 240
             $options_list = array();
241 241
             
@@ -255,528 +255,528 @@  discard block
 block discarded – undo
255 255
 
256 256
             }			
257 257
 
258
-			if ( ! empty($this->options) ){
259
-				foreach ($this->options as $slug => $value) {
260
-					$options_arr[$slug] = $value;
261
-				}
262
-			}
258
+            if ( ! empty($this->options) ){
259
+                foreach ($this->options as $slug => $value) {
260
+                    $options_arr[$slug] = $value;
261
+                }
262
+            }
263 263
 
264
-			$options_arr[$this->slug]   = $options_list;
265
-			$options_arr['rapid_addon'] = plugin_basename( __FILE__ );
264
+            $options_arr[$this->slug]   = $options_list;
265
+            $options_arr['rapid_addon'] = plugin_basename( __FILE__ );
266 266
 
267
-			return $options_arr;
267
+            return $options_arr;
268 268
 
269
-		}
269
+        }
270 270
 
271
-		function wpai_api_options($all_options) {
271
+        function wpai_api_options($all_options) {
272 272
 
273
-			$all_options = $all_options + $this->options_array();
273
+            $all_options = $all_options + $this->options_array();
274 274
 
275
-			return $all_options;
275
+            return $all_options;
276 276
 
277
-		}
277
+        }
278 278
 
279 279
 
280
-		function wpai_api_register($addons) {
280
+        function wpai_api_register($addons) {
281 281
 
282
-			if (empty($addons[$this->slug])) {
283
-				$addons[$this->slug] = 1;
284
-			}
282
+            if (empty($addons[$this->slug])) {
283
+                $addons[$this->slug] = 1;
284
+            }
285 285
 
286
-			return $addons;
286
+            return $addons;
287 287
 
288
-		}
288
+        }
289 289
 
290 290
 
291
-		function wpai_api_parse($functions) {
291
+        function wpai_api_parse($functions) {
292 292
 
293
-			$functions[$this->slug] = array($this, 'parse');
294
-			return $functions;
293
+            $functions[$this->slug] = array($this, 'parse');
294
+            return $functions;
295 295
 
296
-		}
296
+        }
297 297
 
298
-		function wpai_api_post_saved($functions){
299
-			$functions[$this->slug] = array($this, 'post_saved');
300
-			return $functions;
301
-		}
298
+        function wpai_api_post_saved($functions){
299
+            $functions[$this->slug] = array($this, 'post_saved');
300
+            return $functions;
301
+        }
302 302
 
303 303
 
304
-		function wpai_api_import($functions) {
304
+        function wpai_api_import($functions) {
305 305
 
306
-			$functions[$this->slug] = array($this, 'import');
307
-			return $functions;
306
+            $functions[$this->slug] = array($this, 'import');
307
+            return $functions;
308 308
 
309
-		}
309
+        }
310 310
 
311
-		function post_saved( $importData ){
311
+        function post_saved( $importData ){
312 312
 
313
-			if (is_callable($this->post_saved_function))
314
-				call_user_func($this->post_saved_function, $importData['pid'], $importData['import'], $importData['logger']);
313
+            if (is_callable($this->post_saved_function))
314
+                call_user_func($this->post_saved_function, $importData['pid'], $importData['import'], $importData['logger']);
315 315
 			
316
-		}
316
+        }
317 317
 
318
-		function import($importData, $parsedData) {
318
+        function import($importData, $parsedData) {
319 319
 
320
-			if (!$this->is_active_addon($importData['post_type'])) {
321
-				return;
322
-			}
320
+            if (!$this->is_active_addon($importData['post_type'])) {
321
+                return;
322
+            }
323 323
 
324
-			$import_options = $importData['import']['options'][$this->slug];
324
+            $import_options = $importData['import']['options'][$this->slug];
325 325
 
326
-	//		echo "<pre>";
327
-	//		print_r($import_options);
328
-	//		echo "</pre>";
326
+    //		echo "<pre>";
327
+    //		print_r($import_options);
328
+    //		echo "</pre>";
329 329
 
330
-			if ( ! empty($parsedData) )	{
330
+            if ( ! empty($parsedData) )	{
331 331
 
332
-				$this->logger = $importData['logger'];
332
+                $this->logger = $importData['logger'];
333 333
 
334
-				$post_id = $importData['pid'];
335
-				$index = $importData['i'];
336
-				$data = array();
337
-				if (!empty($this->fields)){
338
-					foreach ($this->fields as $field_slug => $field_params) {
339
-						if (in_array($field_params['type'], array('title', 'plain_text'))) continue;
340
-						switch ($field_params['type']) {
334
+                $post_id = $importData['pid'];
335
+                $index = $importData['i'];
336
+                $data = array();
337
+                if (!empty($this->fields)){
338
+                    foreach ($this->fields as $field_slug => $field_params) {
339
+                        if (in_array($field_params['type'], array('title', 'plain_text'))) continue;
340
+                        switch ($field_params['type']) {
341 341
 
342
-							case 'image':
342
+                            case 'image':
343 343
 								
344
-								// import the specified image, then set the value of the field to the image ID in the media library
344
+                                // import the specified image, then set the value of the field to the image ID in the media library
345 345
 
346
-								$image_url_or_path = $parsedData[$field_slug][$index];
346
+                                $image_url_or_path = $parsedData[$field_slug][$index];
347 347
 
348
-								if ( ! array_key_exists( $field_slug, $import_options['download_image'] ) ) {
349
-									continue 2;
350
-								}
348
+                                if ( ! array_key_exists( $field_slug, $import_options['download_image'] ) ) {
349
+                                    continue 2;
350
+                                }
351 351
 
352
-								$download = $import_options['download_image'][$field_slug];
352
+                                $download = $import_options['download_image'][$field_slug];
353 353
 
354
-								$uploaded_image = PMXI_API::upload_image($post_id, $image_url_or_path, $download, $importData['logger'], true, "", "images", true, $importData['articleData']);
354
+                                $uploaded_image = PMXI_API::upload_image($post_id, $image_url_or_path, $download, $importData['logger'], true, "", "images", true, $importData['articleData']);
355 355
 
356
-								$data[$field_slug] = array(
357
-									"attachment_id" => $uploaded_image,
358
-									"image_url_or_path" => $image_url_or_path,
359
-									"download" => $download
360
-								);
356
+                                $data[$field_slug] = array(
357
+                                    "attachment_id" => $uploaded_image,
358
+                                    "image_url_or_path" => $image_url_or_path,
359
+                                    "download" => $download
360
+                                );
361 361
 
362
-								break;
362
+                                break;
363 363
 
364
-							case 'file':
364
+                            case 'file':
365 365
 
366
-								$image_url_or_path = $parsedData[$field_slug][$index];
366
+                                $image_url_or_path = $parsedData[$field_slug][$index];
367 367
 
368
-								if ( ! array_key_exists( $field_slug, $import_options['download_image'] ) ) {
369
-									continue 2;
370
-								}
368
+                                if ( ! array_key_exists( $field_slug, $import_options['download_image'] ) ) {
369
+                                    continue 2;
370
+                                }
371 371
 
372
-								$download = $import_options['download_image'][$field_slug];
372
+                                $download = $import_options['download_image'][$field_slug];
373 373
 
374
-								$uploaded_file = PMXI_API::upload_image($post_id, $image_url_or_path, $download, $importData['logger'], true, "", "files", true, $importData['articleData']);
374
+                                $uploaded_file = PMXI_API::upload_image($post_id, $image_url_or_path, $download, $importData['logger'], true, "", "files", true, $importData['articleData']);
375 375
 
376
-								$data[$field_slug] = array(
377
-									"attachment_id" => $uploaded_file,
378
-									"image_url_or_path" => $image_url_or_path,
379
-									"download" => $download
380
-								);
376
+                                $data[$field_slug] = array(
377
+                                    "attachment_id" => $uploaded_file,
378
+                                    "image_url_or_path" => $image_url_or_path,
379
+                                    "download" => $download
380
+                                );
381 381
 
382
-								break;
382
+                                break;
383 383
 							
384
-							default:
385
-								// set the field data to the value of the field after it's been parsed
386
-								$data[$field_slug] = $parsedData[$field_slug][$index];
387
-								break;
388
-						}					
384
+                            default:
385
+                                // set the field data to the value of the field after it's been parsed
386
+                                $data[$field_slug] = $parsedData[$field_slug][$index];
387
+                                break;
388
+                        }					
389
+
390
+                        // apply mapping rules if they exist
391
+                        if (!empty($import_options['mapping'][$field_slug])) {
392
+                            $mapping_rules = json_decode($import_options['mapping'][$field_slug], true);
393
+
394
+                            if (!empty($mapping_rules) and is_array($mapping_rules)) {
395
+                                foreach ($mapping_rules as $rule_number => $map_to) {
396
+                                    if (isset($map_to[trim($data[$field_slug])])){
397
+                                        $data[$field_slug] = trim($map_to[trim($data[$field_slug])]);
398
+                                        break;
399
+                                    }
400
+                                }
401
+                            }
402
+                        }
403
+                        // --------------------
404
+                    }
405
+                }				
389 406
 
390
-						// apply mapping rules if they exist
391
-						if (!empty($import_options['mapping'][$field_slug])) {
392
-							$mapping_rules = json_decode($import_options['mapping'][$field_slug], true);
407
+                call_user_func($this->import_function, $post_id, $data, $importData['import'], $importData['articleData'], $importData['logger']);
408
+            }
393 409
 
394
-							if (!empty($mapping_rules) and is_array($mapping_rules)) {
395
-								foreach ($mapping_rules as $rule_number => $map_to) {
396
-									if (isset($map_to[trim($data[$field_slug])])){
397
-										$data[$field_slug] = trim($map_to[trim($data[$field_slug])]);
398
-										break;
399
-									}
400
-								}
401
-							}
402
-						}
403
-						// --------------------
404
-					}
405
-				}				
410
+        }
406 411
 
407
-				call_user_func($this->import_function, $post_id, $data, $importData['import'], $importData['articleData'], $importData['logger']);
408
-			}
409 412
 
410
-		}
413
+        function wpai_api_metabox($post_type, $current_values) {
411 414
 
415
+            if (!$this->is_active_addon($post_type)) {
416
+                return;
417
+            }
412 418
 
413
-		function wpai_api_metabox($post_type, $current_values) {
419
+            echo $this->helper_metabox_top($this->name);
414 420
 
415
-			if (!$this->is_active_addon($post_type)) {
416
-				return;
417
-			}
421
+            $visible_fields = 0;
418 422
 
419
-			echo $this->helper_metabox_top($this->name);
423
+            foreach ($this->fields as $field_slug => $field_params) {
424
+                if ($field_params['is_sub_field']) continue;
425
+                $visible_fields++;
426
+            }
420 427
 
421
-			$visible_fields = 0;
428
+            $counter = 0;
422 429
 
423
-			foreach ($this->fields as $field_slug => $field_params) {
424
-				if ($field_params['is_sub_field']) continue;
425
-				$visible_fields++;
426
-			}
430
+            foreach ($this->fields as $field_slug => $field_params) {				
427 431
 
428
-			$counter = 0;
432
+                // do not render sub fields
433
+                if ($field_params['is_sub_field']) continue;		
429 434
 
430
-			foreach ($this->fields as $field_slug => $field_params) {				
435
+                $counter++;		
431 436
 
432
-				// do not render sub fields
433
-				if ($field_params['is_sub_field']) continue;		
437
+                $this->render_field($field_params, $field_slug, $current_values, $visible_fields == $counter);										
434 438
 
435
-				$counter++;		
439
+                //if ( $field_params['type'] != 'accordion' ) echo "<br />";				
436 440
 
437
-				$this->render_field($field_params, $field_slug, $current_values, $visible_fields == $counter);										
441
+            }
438 442
 
439
-				//if ( $field_params['type'] != 'accordion' ) echo "<br />";				
443
+            echo $this->helper_metabox_bottom();
444
+
445
+            if ( ! empty($this->image_sections) ){				
446
+                $is_images_section_enabled = apply_filters('wp_all_import_is_images_section_enabled', true, $post_type);						
447
+                foreach ($this->image_sections as $k => $section) {
448
+                    $section_options = array();
449
+                    foreach ($this->image_options as $slug => $value) {
450
+                        $section_options[$section['slug'] . $slug] = $value;
451
+                    }										
452
+                    if ( ! $is_images_section_enabled and ! $k ){
453
+                        $section_options[$section['slug'] . 'is_featured'] = 1;
454
+                    }
455
+                    PMXI_API::add_additional_images_section($section['title'], $section['slug'], $current_values, '', true, false, $section['type']);
456
+                }
457
+            }
440 458
 
441
-			}
459
+        }		
442 460
 
443
-			echo $this->helper_metabox_bottom();
461
+        function render_field($field_params, $field_slug, $current_values, $in_the_bottom = false){
444 462
 
445
-			if ( ! empty($this->image_sections) ){				
446
-				$is_images_section_enabled = apply_filters('wp_all_import_is_images_section_enabled', true, $post_type);						
447
-				foreach ($this->image_sections as $k => $section) {
448
-					$section_options = array();
449
-					foreach ($this->image_options as $slug => $value) {
450
-						$section_options[$section['slug'] . $slug] = $value;
451
-					}										
452
-					if ( ! $is_images_section_enabled and ! $k ){
453
-						$section_options[$section['slug'] . 'is_featured'] = 1;
454
-					}
455
-					PMXI_API::add_additional_images_section($section['title'], $section['slug'], $current_values, '', true, false, $section['type']);
456
-				}
457
-			}
458
-
459
-		}		
460
-
461
-		function render_field($field_params, $field_slug, $current_values, $in_the_bottom = false){
462
-
463
-			if (!isset($current_values[$this->slug][$field_slug])) {
464
-				$current_values[$this->slug][$field_slug] = isset($field_params['default_text']) ? $field_params['default_text'] : '';
465
-			}
466
-
467
-			if ($field_params['type'] == 'text') {
468
-
469
-				PMXI_API::add_field(
470
-					'simple',
471
-					$field_params['name'],
472
-					array(
473
-						'tooltip' => $field_params['tooltip'],
474
-						'field_name' => $this->slug."[".$field_slug."]",
475
-						'field_value' => ( $current_values[$this->slug][$field_slug] == '' && $this->isWizard ) ? $field_params['default_text'] : $current_values[$this->slug][$field_slug]
476
-					)
477
-				);
478
-
479
-			} else if ($field_params['type'] == 'textarea') {
480
-
481
-				PMXI_API::add_field(
482
-					'textarea',
483
-					$field_params['name'],
484
-					array(
485
-						'tooltip' => $field_params['tooltip'],
486
-						'field_name' => $this->slug."[".$field_slug."]",
487
-						'field_value' => ( $current_values[$this->slug][$field_slug] == '' && $this->isWizard ) ? $field_params['default_text'] : $current_values[$this->slug][$field_slug]
488
-					)
489
-				);
490
-
491
-			} else if ($field_params['type'] == 'wp_editor') {
492
-
493
-				PMXI_API::add_field(
494
-					'wp_editor',
495
-					$field_params['name'],
496
-					array(
497
-						'tooltip' => $field_params['tooltip'],
498
-						'field_name' => $this->slug."[".$field_slug."]",
499
-						'field_value' => ( $current_values[$this->slug][$field_slug] == '' && $this->isWizard ) ? $field_params['default_text'] : $current_values[$this->slug][$field_slug]
500
-					)
501
-				);
502
-
503
-			} else if ($field_params['type'] == 'image' or $field_params['type'] == 'file') {
463
+            if (!isset($current_values[$this->slug][$field_slug])) {
464
+                $current_values[$this->slug][$field_slug] = isset($field_params['default_text']) ? $field_params['default_text'] : '';
465
+            }
466
+
467
+            if ($field_params['type'] == 'text') {
468
+
469
+                PMXI_API::add_field(
470
+                    'simple',
471
+                    $field_params['name'],
472
+                    array(
473
+                        'tooltip' => $field_params['tooltip'],
474
+                        'field_name' => $this->slug."[".$field_slug."]",
475
+                        'field_value' => ( $current_values[$this->slug][$field_slug] == '' && $this->isWizard ) ? $field_params['default_text'] : $current_values[$this->slug][$field_slug]
476
+                    )
477
+                );
478
+
479
+            } else if ($field_params['type'] == 'textarea') {
480
+
481
+                PMXI_API::add_field(
482
+                    'textarea',
483
+                    $field_params['name'],
484
+                    array(
485
+                        'tooltip' => $field_params['tooltip'],
486
+                        'field_name' => $this->slug."[".$field_slug."]",
487
+                        'field_value' => ( $current_values[$this->slug][$field_slug] == '' && $this->isWizard ) ? $field_params['default_text'] : $current_values[$this->slug][$field_slug]
488
+                    )
489
+                );
490
+
491
+            } else if ($field_params['type'] == 'wp_editor') {
492
+
493
+                PMXI_API::add_field(
494
+                    'wp_editor',
495
+                    $field_params['name'],
496
+                    array(
497
+                        'tooltip' => $field_params['tooltip'],
498
+                        'field_name' => $this->slug."[".$field_slug."]",
499
+                        'field_value' => ( $current_values[$this->slug][$field_slug] == '' && $this->isWizard ) ? $field_params['default_text'] : $current_values[$this->slug][$field_slug]
500
+                    )
501
+                );
502
+
503
+            } else if ($field_params['type'] == 'image' or $field_params['type'] == 'file') {
504 504
 				
505
-				if (!isset($current_values[$this->slug]['download_image'][$field_slug])) { $current_values[$this->slug]['download_image'][$field_slug] = ''; }
506
-
507
-				PMXI_API::add_field(
508
-					$field_params['type'],
509
-					$field_params['name'],
510
-					array(
511
-						'tooltip' => $field_params['tooltip'],
512
-						'field_name' => $this->slug."[".$field_slug."]",
513
-						'field_value' => $current_values[$this->slug][$field_slug],
514
-						'download_image' => $current_values[$this->slug]['download_image'][$field_slug],
515
-						'field_key' => $field_slug,
516
-						'addon_prefix' => $this->slug
517
-
518
-					)
519
-				);
520
-
521
-			} else if ($field_params['type'] == 'radio') {					
505
+                if (!isset($current_values[$this->slug]['download_image'][$field_slug])) { $current_values[$this->slug]['download_image'][$field_slug] = ''; }
506
+
507
+                PMXI_API::add_field(
508
+                    $field_params['type'],
509
+                    $field_params['name'],
510
+                    array(
511
+                        'tooltip' => $field_params['tooltip'],
512
+                        'field_name' => $this->slug."[".$field_slug."]",
513
+                        'field_value' => $current_values[$this->slug][$field_slug],
514
+                        'download_image' => $current_values[$this->slug]['download_image'][$field_slug],
515
+                        'field_key' => $field_slug,
516
+                        'addon_prefix' => $this->slug
517
+
518
+                    )
519
+                );
520
+
521
+            } else if ($field_params['type'] == 'radio') {					
522 522
 				
523
-				if (!isset($current_values[$this->slug]['mapping'][$field_slug])) { $current_values[$this->slug]['mapping'][$field_slug] = array(); }
524
-				if (!isset($current_values[$this->slug]['xpaths'][$field_slug])) { $current_values[$this->slug]['xpaths'][$field_slug] = ''; }
525
-
526
-				PMXI_API::add_field(
527
-					'enum',
528
-					$field_params['name'],
529
-					array(
530
-						'tooltip' => $field_params['tooltip'],
531
-						'field_name' => $this->slug."[".$field_slug."]",
532
-						'field_value' => $current_values[$this->slug][$field_slug],
533
-						'enum_values' => $field_params['enum_values'],
534
-						'mapping' => true,
535
-						'field_key' => $field_slug,
536
-						'mapping_rules' => $current_values[$this->slug]['mapping'][$field_slug],
537
-						'xpath' => $current_values[$this->slug]['xpaths'][$field_slug],
538
-						'addon_prefix' => $this->slug,
539
-						'sub_fields' => $this->get_sub_fields($field_params, $field_slug, $current_values)
540
-					)
541
-				);
542
-
543
-			} else if($field_params['type'] == 'accordion') {
544
-
545
-				PMXI_API::add_field(
546
-					'accordion',
547
-					$field_params['name'],
548
-					array(						
549
-						'tooltip' => $field_params['tooltip'],
550
-						'field_name' => $this->slug."[".$field_slug."]",																
551
-						'field_key' => $field_slug,								
552
-						'addon_prefix' => $this->slug,
553
-						'sub_fields' => $this->get_sub_fields($field_params, $field_slug, $current_values),
554
-						'in_the_bottom' => $in_the_bottom						
555
-					)
556
-				);
557
-
558
-			} else if($field_params['type'] == 'acf') {
559
-				$fieldData = (!empty($field_params['field_obj']->post_content)) ? unserialize($field_params['field_obj']->post_content) : array();
560
-				$fieldData['ID']    = $field_params['field_obj']->ID;
561
-				$fieldData['id']    = $field_params['field_obj']->ID;
562
-				$fieldData['label'] = $field_params['field_obj']->post_title;
563
-				$fieldData['key']   = $field_params['field_obj']->post_name;
564
-				if (empty($fieldData['name'])) $fieldData['name'] = $field_params['field_obj']->post_excerpt;
565
-				if (function_exists('pmai_render_field')) {
566
-					echo pmai_render_field($fieldData, ( ! empty($current_values) ) ? $current_values : array() );
567
-				}
568
-			} else if($field_params['type'] == 'title'){
569
-				?>
523
+                if (!isset($current_values[$this->slug]['mapping'][$field_slug])) { $current_values[$this->slug]['mapping'][$field_slug] = array(); }
524
+                if (!isset($current_values[$this->slug]['xpaths'][$field_slug])) { $current_values[$this->slug]['xpaths'][$field_slug] = ''; }
525
+
526
+                PMXI_API::add_field(
527
+                    'enum',
528
+                    $field_params['name'],
529
+                    array(
530
+                        'tooltip' => $field_params['tooltip'],
531
+                        'field_name' => $this->slug."[".$field_slug."]",
532
+                        'field_value' => $current_values[$this->slug][$field_slug],
533
+                        'enum_values' => $field_params['enum_values'],
534
+                        'mapping' => true,
535
+                        'field_key' => $field_slug,
536
+                        'mapping_rules' => $current_values[$this->slug]['mapping'][$field_slug],
537
+                        'xpath' => $current_values[$this->slug]['xpaths'][$field_slug],
538
+                        'addon_prefix' => $this->slug,
539
+                        'sub_fields' => $this->get_sub_fields($field_params, $field_slug, $current_values)
540
+                    )
541
+                );
542
+
543
+            } else if($field_params['type'] == 'accordion') {
544
+
545
+                PMXI_API::add_field(
546
+                    'accordion',
547
+                    $field_params['name'],
548
+                    array(						
549
+                        'tooltip' => $field_params['tooltip'],
550
+                        'field_name' => $this->slug."[".$field_slug."]",																
551
+                        'field_key' => $field_slug,								
552
+                        'addon_prefix' => $this->slug,
553
+                        'sub_fields' => $this->get_sub_fields($field_params, $field_slug, $current_values),
554
+                        'in_the_bottom' => $in_the_bottom						
555
+                    )
556
+                );
557
+
558
+            } else if($field_params['type'] == 'acf') {
559
+                $fieldData = (!empty($field_params['field_obj']->post_content)) ? unserialize($field_params['field_obj']->post_content) : array();
560
+                $fieldData['ID']    = $field_params['field_obj']->ID;
561
+                $fieldData['id']    = $field_params['field_obj']->ID;
562
+                $fieldData['label'] = $field_params['field_obj']->post_title;
563
+                $fieldData['key']   = $field_params['field_obj']->post_name;
564
+                if (empty($fieldData['name'])) $fieldData['name'] = $field_params['field_obj']->post_excerpt;
565
+                if (function_exists('pmai_render_field')) {
566
+                    echo pmai_render_field($fieldData, ( ! empty($current_values) ) ? $current_values : array() );
567
+                }
568
+            } else if($field_params['type'] == 'title'){
569
+                ?>
570 570
 				<h4 class="wpallimport-add-on-options-title"><?php esc_html_e($field_params['name'], 'wp_all_import_plugin'); ?><?php if ( ! empty($field_params['tooltip'])): ?><a href="#help" class="wpallimport-help" title="<?php echo $field_params['tooltip']; ?>" style="position:relative; top: -1px;">?</a><?php endif; ?></h4>				
571 571
 				<?php
572 572
 
573
-			} else if($field_params['type'] == 'plain_text'){
574
-				if ($field_params['is_html']):					
575
-					echo $field_params['name'];				
576
-				else:
577
-					?>
573
+            } else if($field_params['type'] == 'plain_text'){
574
+                if ($field_params['is_html']):					
575
+                    echo $field_params['name'];				
576
+                else:
577
+                    ?>
578 578
 					<p style="margin: 0 0 12px 0;"><?php echo $field_params['name'];?></p>
579 579
 					<?php
580
-				endif;
581
-			}
580
+                endif;
581
+            }
582 582
 
583 583
 
584
-		}
585
-		/**
586
-		*
587
-		* Helper function for nested radio fields
588
-		*
589
-		*/
590
-		function get_sub_fields($field_params, $field_slug, $current_values){
591
-			$sub_fields = array();	
592
-			if ( ! empty($field_params['enum_values']) ){										
593
-				foreach ($field_params['enum_values'] as $key => $value) {					
594
-					$sub_fields[$key] = array();	
595
-					if (is_array($value)){
596
-						if ($field_params['type'] == 'accordion'){								
597
-							$sub_fields[$key][] = $this->convert_field($value, $current_values);
598
-						}
599
-						else
600
-						{
601
-							foreach ($value as $k => $sub_field) {								
602
-								if (is_array($sub_field) and ! empty($this->fields[$sub_field['slug']]))
603
-								{									
604
-									$sub_fields[$key][] = $this->convert_field($sub_field, $current_values);
605
-								}								
606
-							}
607
-						}
608
-					}
609
-				}
610
-			}
611
-			return $sub_fields;
612
-		}			
613
-
614
-		function convert_field($sub_field, $current_values){
615
-			$field = array();
616
-			if (!isset($current_values[$this->slug][$sub_field['slug']])) {
617
-				$current_values[$this->slug][$sub_field['slug']] = isset($sub_field['default_text']) ? $sub_field['default_text'] : '';
618
-			}
619
-			switch ($this->fields[$sub_field['slug']]['type']) {
620
-				case 'text':
621
-					$field = array(
622
-						'type'   => 'simple',
623
-						'label'  => $this->fields[$sub_field['slug']]['name'],
624
-						'params' => array(
625
-							'tooltip' => $this->fields[$sub_field['slug']]['tooltip'],
626
-							'field_name' => $this->slug."[".$sub_field['slug']."]",
627
-							'field_value' => ($current_values[$this->slug][$sub_field['slug']] == '' && $this->isWizard) ? $sub_field['default_text'] : $current_values[$this->slug][$sub_field['slug']],
628
-							'is_main_field' => $sub_field['is_main_field']
629
-						)
630
-					);
631
-					break;
632
-				case 'textarea':
633
-					$field = array(
634
-						'type'   => 'textarea',
635
-						'label'  => $this->fields[$sub_field['slug']]['name'],
636
-						'params' => array(
637
-							'tooltip' => $this->fields[$sub_field['slug']]['tooltip'],
638
-							'field_name' => $this->slug."[".$sub_field['slug']."]",
639
-							'field_value' => ($current_values[$this->slug][$sub_field['slug']] == '' && $this->isWizard) ? $sub_field['default_text'] : $current_values[$this->slug][$sub_field['slug']],
640
-							'is_main_field' => $sub_field['is_main_field']
641
-						)
642
-					);
643
-					break;
644
-				case 'wp_editor':
645
-					$field = array(
646
-						'type'   => 'wp_editor',
647
-						'label'  => $this->fields[$sub_field['slug']]['name'],
648
-						'params' => array(
649
-							'tooltip' => $this->fields[$sub_field['slug']]['tooltip'],
650
-							'field_name' => $this->slug."[".$sub_field['slug']."]",
651
-							'field_value' => ($current_values[$this->slug][$sub_field['slug']] == '' && $this->isWizard) ? $sub_field['default_text'] : $current_values[$this->slug][$sub_field['slug']],
652
-							'is_main_field' => $sub_field['is_main_field']
653
-						)
654
-					);
655
-					break;
656
-				case 'image':
657
-					$field = array(
658
-						'type'   => 'image',
659
-						'label'  => $this->fields[$sub_field['slug']]['name'],
660
-						'params' => array(
661
-							'tooltip' => $this->fields[$sub_field['slug']]['tooltip'],
662
-							'field_name' => $this->slug."[".$sub_field['slug']."]",
663
-							'field_value' => $current_values[$this->slug][$sub_field['slug']],
664
-							'download_image' => null,
665
-							'field_key' => $sub_field['slug'],
666
-							'addon_prefix' => $this->slug,
667
-							'is_main_field' => $sub_field['is_main_field']
668
-						)
669
-					);
670
-
671
-					if ( array_key_exists( 'download_image', $current_values[$this->slug] ) && array_key_exists( $sub_field['slug'], $current_values[$this->slug]['download_image'] ) ) {
672
-						$field['params']['download_image'] = $current_values[$this->slug]['download_image'][$sub_field['slug']];
673
-					}
584
+        }
585
+        /**
586
+         *
587
+         * Helper function for nested radio fields
588
+         *
589
+         */
590
+        function get_sub_fields($field_params, $field_slug, $current_values){
591
+            $sub_fields = array();	
592
+            if ( ! empty($field_params['enum_values']) ){										
593
+                foreach ($field_params['enum_values'] as $key => $value) {					
594
+                    $sub_fields[$key] = array();	
595
+                    if (is_array($value)){
596
+                        if ($field_params['type'] == 'accordion'){								
597
+                            $sub_fields[$key][] = $this->convert_field($value, $current_values);
598
+                        }
599
+                        else
600
+                        {
601
+                            foreach ($value as $k => $sub_field) {								
602
+                                if (is_array($sub_field) and ! empty($this->fields[$sub_field['slug']]))
603
+                                {									
604
+                                    $sub_fields[$key][] = $this->convert_field($sub_field, $current_values);
605
+                                }								
606
+                            }
607
+                        }
608
+                    }
609
+                }
610
+            }
611
+            return $sub_fields;
612
+        }			
613
+
614
+        function convert_field($sub_field, $current_values){
615
+            $field = array();
616
+            if (!isset($current_values[$this->slug][$sub_field['slug']])) {
617
+                $current_values[$this->slug][$sub_field['slug']] = isset($sub_field['default_text']) ? $sub_field['default_text'] : '';
618
+            }
619
+            switch ($this->fields[$sub_field['slug']]['type']) {
620
+                case 'text':
621
+                    $field = array(
622
+                        'type'   => 'simple',
623
+                        'label'  => $this->fields[$sub_field['slug']]['name'],
624
+                        'params' => array(
625
+                            'tooltip' => $this->fields[$sub_field['slug']]['tooltip'],
626
+                            'field_name' => $this->slug."[".$sub_field['slug']."]",
627
+                            'field_value' => ($current_values[$this->slug][$sub_field['slug']] == '' && $this->isWizard) ? $sub_field['default_text'] : $current_values[$this->slug][$sub_field['slug']],
628
+                            'is_main_field' => $sub_field['is_main_field']
629
+                        )
630
+                    );
674 631
                     break;
675
-				case 'file':
676
-					$field = array(
677
-						'type'   => 'file',
678
-						'label'  => $this->fields[$sub_field['slug']]['name'],
679
-						'params' => array(
680
-							'tooltip' => $this->fields[$sub_field['slug']]['tooltip'],
681
-							'field_name' => $this->slug."[".$sub_field['slug']."]",
682
-							'field_value' => $current_values[$this->slug][$sub_field['slug']],
683
-							'download_image' => null,
684
-							'field_key' => $sub_field['slug'],
685
-							'addon_prefix' => $this->slug,
686
-							'is_main_field' => $sub_field['is_main_field']
687
-						)
688
-					);
689
-
690
-					if ( array_key_exists( 'download_image', $current_values[$this->slug] )  && array_key_exists( $sub_field['slug'], $current_values[$this->slug]['download_image'] ) ) {
691
-						$field['params']['download_image'] = $current_values[$this->slug]['download_image'][$sub_field['slug']];
692
-					}
693
-
694
-					break;
695
-				case 'radio':
696
-					$field = array(
697
-						'type'   => 'enum',
698
-						'label'  => $this->fields[$sub_field['slug']]['name'],
699
-						'params' => array(
700
-							'tooltip' => $this->fields[$sub_field['slug']]['tooltip'],
701
-							'field_name' => $this->slug."[".$sub_field['slug']."]",
702
-							'field_value' => $current_values[$this->slug][$sub_field['slug']],
703
-							'enum_values' => $this->fields[$sub_field['slug']]['enum_values'],
704
-							'mapping' => true,
705
-							'field_key' => $sub_field['slug'],
706
-							'mapping_rules' => isset($current_values[$this->slug]['mapping'][$sub_field['slug']]) ? $current_values[$this->slug]['mapping'][$sub_field['slug']] : array(),
707
-							'xpath' => isset($current_values[$this->slug]['xpaths'][$sub_field['slug']]) ? $current_values[$this->slug]['xpaths'][$sub_field['slug']] : '',
708
-							'addon_prefix' => $this->slug,
709
-							'sub_fields' => $this->get_sub_fields($this->fields[$sub_field['slug']], $sub_field['slug'], $current_values),
710
-							'is_main_field' => $sub_field['is_main_field']
711
-						)
712
-					);
713
-					break;
714
-				case 'accordion':
715
-					$field = array(
716
-						'type'   => 'accordion',
717
-						'label'  => $this->fields[$sub_field['slug']]['name'],
718
-						'params' => array(
719
-							'tooltip' => $this->fields[$sub_field['slug']]['tooltip'],
720
-							'field_name' => $this->slug."[".$sub_field['slug']."]",																
721
-							'field_key' => $sub_field['slug'],								
722
-							'addon_prefix' => $this->slug,
723
-							'sub_fields' => $this->get_sub_fields($this->fields[$sub_field['slug']], $sub_field['slug'], $current_values),
724
-							'in_the_bottom' => false
725
-						)
726
-					);						
727
-					break;
728
-				default:
729
-					# code...
730
-					break;
731
-			}
732
-			return $field;
733
-		}				
734
-
735
-		/**
736
-		* 
737
-		* Add accordion options
738
-		*
739
-		*
740
-		*/
741
-		function add_options( $main_field = false, $title = '', $fields = array() ){
632
+                case 'textarea':
633
+                    $field = array(
634
+                        'type'   => 'textarea',
635
+                        'label'  => $this->fields[$sub_field['slug']]['name'],
636
+                        'params' => array(
637
+                            'tooltip' => $this->fields[$sub_field['slug']]['tooltip'],
638
+                            'field_name' => $this->slug."[".$sub_field['slug']."]",
639
+                            'field_value' => ($current_values[$this->slug][$sub_field['slug']] == '' && $this->isWizard) ? $sub_field['default_text'] : $current_values[$this->slug][$sub_field['slug']],
640
+                            'is_main_field' => $sub_field['is_main_field']
641
+                        )
642
+                    );
643
+                    break;
644
+                case 'wp_editor':
645
+                    $field = array(
646
+                        'type'   => 'wp_editor',
647
+                        'label'  => $this->fields[$sub_field['slug']]['name'],
648
+                        'params' => array(
649
+                            'tooltip' => $this->fields[$sub_field['slug']]['tooltip'],
650
+                            'field_name' => $this->slug."[".$sub_field['slug']."]",
651
+                            'field_value' => ($current_values[$this->slug][$sub_field['slug']] == '' && $this->isWizard) ? $sub_field['default_text'] : $current_values[$this->slug][$sub_field['slug']],
652
+                            'is_main_field' => $sub_field['is_main_field']
653
+                        )
654
+                    );
655
+                    break;
656
+                case 'image':
657
+                    $field = array(
658
+                        'type'   => 'image',
659
+                        'label'  => $this->fields[$sub_field['slug']]['name'],
660
+                        'params' => array(
661
+                            'tooltip' => $this->fields[$sub_field['slug']]['tooltip'],
662
+                            'field_name' => $this->slug."[".$sub_field['slug']."]",
663
+                            'field_value' => $current_values[$this->slug][$sub_field['slug']],
664
+                            'download_image' => null,
665
+                            'field_key' => $sub_field['slug'],
666
+                            'addon_prefix' => $this->slug,
667
+                            'is_main_field' => $sub_field['is_main_field']
668
+                        )
669
+                    );
670
+
671
+                    if ( array_key_exists( 'download_image', $current_values[$this->slug] ) && array_key_exists( $sub_field['slug'], $current_values[$this->slug]['download_image'] ) ) {
672
+                        $field['params']['download_image'] = $current_values[$this->slug]['download_image'][$sub_field['slug']];
673
+                    }
674
+                    break;
675
+                case 'file':
676
+                    $field = array(
677
+                        'type'   => 'file',
678
+                        'label'  => $this->fields[$sub_field['slug']]['name'],
679
+                        'params' => array(
680
+                            'tooltip' => $this->fields[$sub_field['slug']]['tooltip'],
681
+                            'field_name' => $this->slug."[".$sub_field['slug']."]",
682
+                            'field_value' => $current_values[$this->slug][$sub_field['slug']],
683
+                            'download_image' => null,
684
+                            'field_key' => $sub_field['slug'],
685
+                            'addon_prefix' => $this->slug,
686
+                            'is_main_field' => $sub_field['is_main_field']
687
+                        )
688
+                    );
689
+
690
+                    if ( array_key_exists( 'download_image', $current_values[$this->slug] )  && array_key_exists( $sub_field['slug'], $current_values[$this->slug]['download_image'] ) ) {
691
+                        $field['params']['download_image'] = $current_values[$this->slug]['download_image'][$sub_field['slug']];
692
+                    }
693
+
694
+                    break;
695
+                case 'radio':
696
+                    $field = array(
697
+                        'type'   => 'enum',
698
+                        'label'  => $this->fields[$sub_field['slug']]['name'],
699
+                        'params' => array(
700
+                            'tooltip' => $this->fields[$sub_field['slug']]['tooltip'],
701
+                            'field_name' => $this->slug."[".$sub_field['slug']."]",
702
+                            'field_value' => $current_values[$this->slug][$sub_field['slug']],
703
+                            'enum_values' => $this->fields[$sub_field['slug']]['enum_values'],
704
+                            'mapping' => true,
705
+                            'field_key' => $sub_field['slug'],
706
+                            'mapping_rules' => isset($current_values[$this->slug]['mapping'][$sub_field['slug']]) ? $current_values[$this->slug]['mapping'][$sub_field['slug']] : array(),
707
+                            'xpath' => isset($current_values[$this->slug]['xpaths'][$sub_field['slug']]) ? $current_values[$this->slug]['xpaths'][$sub_field['slug']] : '',
708
+                            'addon_prefix' => $this->slug,
709
+                            'sub_fields' => $this->get_sub_fields($this->fields[$sub_field['slug']], $sub_field['slug'], $current_values),
710
+                            'is_main_field' => $sub_field['is_main_field']
711
+                        )
712
+                    );
713
+                    break;
714
+                case 'accordion':
715
+                    $field = array(
716
+                        'type'   => 'accordion',
717
+                        'label'  => $this->fields[$sub_field['slug']]['name'],
718
+                        'params' => array(
719
+                            'tooltip' => $this->fields[$sub_field['slug']]['tooltip'],
720
+                            'field_name' => $this->slug."[".$sub_field['slug']."]",																
721
+                            'field_key' => $sub_field['slug'],								
722
+                            'addon_prefix' => $this->slug,
723
+                            'sub_fields' => $this->get_sub_fields($this->fields[$sub_field['slug']], $sub_field['slug'], $current_values),
724
+                            'in_the_bottom' => false
725
+                        )
726
+                    );						
727
+                    break;
728
+                default:
729
+                    # code...
730
+                    break;
731
+            }
732
+            return $field;
733
+        }				
734
+
735
+        /**
736
+         * 
737
+         * Add accordion options
738
+         *
739
+         *
740
+         */
741
+        function add_options( $main_field = false, $title = '', $fields = array() ){
742 742
 			
743
-			if ( ! empty($fields) )
744
-			{				
743
+            if ( ! empty($fields) )
744
+            {				
745 745
 				
746
-				if ($main_field){
746
+                if ($main_field){
747 747
 
748
-					$main_field['is_main_field'] = true;
749
-					$fields[] = $main_field;
748
+                    $main_field['is_main_field'] = true;
749
+                    $fields[] = $main_field;
750 750
 
751
-				}
751
+                }
752 752
 
753
-				return $this->add_field('accordion_' . $fields[0]['slug'], $title, 'accordion', $fields);							
753
+                return $this->add_field('accordion_' . $fields[0]['slug'], $title, 'accordion', $fields);							
754 754
 			
755
-			}
755
+            }
756 756
 
757
-		}			
757
+        }			
758 758
 
759
-		function add_title($title = '', $tooltip = ''){
759
+        function add_title($title = '', $tooltip = ''){
760 760
 
761
-			if (empty($title)) return;
761
+            if (empty($title)) return;
762 762
 
763
-			return $this->add_field(sanitize_key($title) . time(), $title, 'title', null, $tooltip);			
763
+            return $this->add_field(sanitize_key($title) . time(), $title, 'title', null, $tooltip);			
764 764
 
765
-		}		
765
+        }		
766 766
 
767
-		function add_text($text = '', $is_html = false){
767
+        function add_text($text = '', $is_html = false){
768 768
 
769
-			if (empty($text)) return;
769
+            if (empty($text)) return;
770 770
 
771
-			$count = is_array($this->fields) ? count($this->fields) : 0;
771
+            $count = is_array($this->fields) ? count($this->fields) : 0;
772 772
 
773
-			return $this->add_field(sanitize_key($text) . time() . uniqid() . $count, $text, 'plain_text', null, "", $is_html);
773
+            return $this->add_field(sanitize_key($text) . time() . uniqid() . $count, $text, 'plain_text', null, "", $is_html);
774 774
 
775
-		}			
775
+        }			
776 776
 
777
-		function helper_metabox_top($name) {
777
+        function helper_metabox_top($name) {
778 778
 
779
-			return '
779
+            return '
780 780
 			<style type="text/css">
781 781
 				.wpallimport-plugin .wpallimport-addon div.input {
782 782
 					margin-bottom: 15px;
@@ -872,11 +872,11 @@  discard block
 block discarded – undo
872 872
 							<table class="form-table" style="max-width:none;">
873 873
 								<tr>
874 874
 									<td colspan="3">';
875
-		}
875
+        }
876 876
 
877
-		function helper_metabox_bottom() {
877
+        function helper_metabox_bottom() {
878 878
 
879
-			return '				</td>
879
+            return '				</td>
880 880
 								</tr>
881 881
 							</table>
882 882
 						</div>
@@ -884,298 +884,298 @@  discard block
 block discarded – undo
884 884
 				</div>
885 885
 			</div>';
886 886
 
887
-		}
887
+        }
888 888
 
889
-		/**
890
-		*
891
-		* simply add an additional section for attachments
892
-		*
893
-		*/
894
-		function import_files( $slug, $title, $callback = NULL ){
895
-			$this->import_images( $slug, $title, 'files', $callback);
896
-		}
889
+        /**
890
+         *
891
+         * simply add an additional section for attachments
892
+         *
893
+         */
894
+        function import_files( $slug, $title, $callback = NULL ){
895
+            $this->import_images( $slug, $title, 'files', $callback);
896
+        }
897 897
 
898
-		/**
899
-		*
900
-		* simply add an additional section 
901
-		*
902
-		*/
903
-		function import_images( $slug, $title, $type = 'images', $callback = NULL ){
898
+        /**
899
+         *
900
+         * simply add an additional section 
901
+         *
902
+         */
903
+        function import_images( $slug, $title, $type = 'images', $callback = NULL ){
904 904
 			
905
-			if ( empty($title) or empty($slug) ) return;
905
+            if ( empty($title) or empty($slug) ) return;
906 906
 
907
-			if (is_array($slug)) {
907
+            if (is_array($slug)) {
908 908
                 $section_slug = 'pmxi_' . md5(serialize($slug));
909 909
             } else {
910 910
                 $section_slug = 'pmxi_' . $slug;
911 911
             }
912 912
 
913
-			$this->image_sections[] = array(
914
-				'title' => $title,
915
-				'slug'  => $section_slug,
916
-				'type'  => $type
917
-			);			
913
+            $this->image_sections[] = array(
914
+                'title' => $title,
915
+                'slug'  => $section_slug,
916
+                'type'  => $type
917
+            );			
918 918
 			
919
-			foreach ($this->image_options as $option_slug => $value) {
920
-				$this->add_option($section_slug . $option_slug, $value);
921
-			}
919
+            foreach ($this->image_options as $option_slug => $value) {
920
+                $this->add_option($section_slug . $option_slug, $value);
921
+            }
922 922
 
923
-			if (count($this->image_sections) > 1){
924
-				add_filter('wp_all_import_is_show_add_new_images', array($this, 'filter_is_show_add_new_images'), 10, 2);
925
-			}
923
+            if (count($this->image_sections) > 1){
924
+                add_filter('wp_all_import_is_show_add_new_images', array($this, 'filter_is_show_add_new_images'), 10, 2);
925
+            }
926 926
 
927
-			add_filter('wp_all_import_is_allow_import_images', array($this, 'is_allow_import_images'), 10, 2);			
927
+            add_filter('wp_all_import_is_allow_import_images', array($this, 'is_allow_import_images'), 10, 2);			
928 928
 
929
-			if ($callback && is_callable($callback)) {
929
+            if ($callback && is_callable($callback)) {
930 930
                 add_action( $section_slug, $callback, 10, 4);
931 931
             } else {
932 932
                 if (function_exists($slug)) {
933 933
                     add_action( $section_slug, $slug, 10, 4);
934 934
                 }
935 935
             }
936
-		}			
937
-			/**
938
-			*
939
-			* filter to allow import images for free edition of WP All Import
940
-			*
941
-			*/
942
-			function is_allow_import_images($is_allow, $post_type){
943
-				return ($this->is_active_addon($post_type)) ? true : $is_allow;
944
-			}
945
-
946
-		/**
947
-		*
948
-		* filter to control additional images sections
949
-		*
950
-		*/
951
-		function additional_sections($sections){
952
-			if ( ! empty($this->image_sections) ){
953
-				foreach ($this->image_sections as $add_section) {
954
-					$sections[] = $add_section;
955
-				}
956
-			}
936
+        }			
937
+            /**
938
+             *
939
+             * filter to allow import images for free edition of WP All Import
940
+             *
941
+             */
942
+            function is_allow_import_images($is_allow, $post_type){
943
+                return ($this->is_active_addon($post_type)) ? true : $is_allow;
944
+            }
945
+
946
+        /**
947
+         *
948
+         * filter to control additional images sections
949
+         *
950
+         */
951
+        function additional_sections($sections){
952
+            if ( ! empty($this->image_sections) ){
953
+                foreach ($this->image_sections as $add_section) {
954
+                    $sections[] = $add_section;
955
+                }
956
+            }
957 957
 			
958
-			return $sections;
959
-		}
960
-			/**
961
-			*
962
-			* remove the 'Don't touch existing images, append new images' when more than one image section is in use.
963
-			*
964
-			*/
965
-			function filter_is_show_add_new_images($is_show, $post_type){
966
-				return ($this->is_active_addon($post_type)) ? false : $is_show;
967
-			}
968
-
969
-		/**
970
-		*
971
-		* disable the default images section
972
-		*
973
-		*/		
974
-		function disable_default_images($post_type = false){
958
+            return $sections;
959
+        }
960
+            /**
961
+             *
962
+             * remove the 'Don't touch existing images, append new images' when more than one image section is in use.
963
+             *
964
+             */
965
+            function filter_is_show_add_new_images($is_show, $post_type){
966
+                return ($this->is_active_addon($post_type)) ? false : $is_show;
967
+            }
968
+
969
+        /**
970
+         *
971
+         * disable the default images section
972
+         *
973
+         */		
974
+        function disable_default_images($post_type = false){
975 975
 									
976
-			add_filter('wp_all_import_is_images_section_enabled', array($this, 'is_enable_default_images_section'), 10, 2);
976
+            add_filter('wp_all_import_is_images_section_enabled', array($this, 'is_enable_default_images_section'), 10, 2);
977 977
 
978
-		}
979
-			function is_enable_default_images_section($is_enabled, $post_type){						
978
+        }
979
+            function is_enable_default_images_section($is_enabled, $post_type){						
980 980
 				
981
-				return ($this->is_active_addon($post_type)) ? false : true;
981
+                return ($this->is_active_addon($post_type)) ? false : true;
982 982
 								
983
-			}
983
+            }
984 984
 
985
-		function helper_parse($parsingData, $options) {
985
+        function helper_parse($parsingData, $options) {
986 986
 
987
-			extract($parsingData);
987
+            extract($parsingData);
988 988
 
989
-			$data = array(); // parsed data
989
+            $data = array(); // parsed data
990 990
 
991
-			if ( ! empty($import->options[$this->slug])){
991
+            if ( ! empty($import->options[$this->slug])){
992 992
 
993
-				$this->logger = $parsingData['logger'];
993
+                $this->logger = $parsingData['logger'];
994 994
 
995
-				$cxpath = $xpath_prefix . $import->xpath;
995
+                $cxpath = $xpath_prefix . $import->xpath;
996 996
 
997
-				$tmp_files = array();
997
+                $tmp_files = array();
998 998
 
999
-				foreach ($options[$this->slug] as $option_name => $option_value) {					
1000
-					if ( isset($import->options[$this->slug][$option_name]) and $import->options[$this->slug][$option_name] != '') {						
1001
-						if ($import->options[$this->slug][$option_name] == "xpath") {
1002
-							if ($import->options[$this->slug]['xpaths'][$option_name] == ""){
1003
-								$count and $data[$option_name] = array_fill(0, $count, "");
1004
-							} else {
1005
-								$data[$option_name] = XmlImportParser::factory($xml, $cxpath, (string) $import->options[$this->slug]['xpaths'][$option_name], $file)->parse();
1006
-								$tmp_files[] = $file;						
1007
-							}
1008
-						} 
1009
-						else {							
1010
-							$data[$option_name] = XmlImportParser::factory($xml, $cxpath, (string) $import->options[$this->slug][$option_name], $file)->parse();
1011
-							$tmp_files[] = $file;
1012
-						}
999
+                foreach ($options[$this->slug] as $option_name => $option_value) {					
1000
+                    if ( isset($import->options[$this->slug][$option_name]) and $import->options[$this->slug][$option_name] != '') {						
1001
+                        if ($import->options[$this->slug][$option_name] == "xpath") {
1002
+                            if ($import->options[$this->slug]['xpaths'][$option_name] == ""){
1003
+                                $count and $data[$option_name] = array_fill(0, $count, "");
1004
+                            } else {
1005
+                                $data[$option_name] = XmlImportParser::factory($xml, $cxpath, (string) $import->options[$this->slug]['xpaths'][$option_name], $file)->parse();
1006
+                                $tmp_files[] = $file;						
1007
+                            }
1008
+                        } 
1009
+                        else {							
1010
+                            $data[$option_name] = XmlImportParser::factory($xml, $cxpath, (string) $import->options[$this->slug][$option_name], $file)->parse();
1011
+                            $tmp_files[] = $file;
1012
+                        }
1013 1013
 
1014 1014
 
1015
-					} else {
1016
-						$data[$option_name] = array_fill(0, $count, "");
1017
-					}
1015
+                    } else {
1016
+                        $data[$option_name] = array_fill(0, $count, "");
1017
+                    }
1018 1018
 
1019
-				}
1019
+                }
1020 1020
 
1021
-				foreach ($tmp_files as $file) { // remove all temporary files created
1022
-					unlink($file);
1023
-				}
1021
+                foreach ($tmp_files as $file) { // remove all temporary files created
1022
+                    unlink($file);
1023
+                }
1024 1024
 
1025
-			}
1025
+            }
1026 1026
 
1027
-			return $data;
1028
-		}
1027
+            return $data;
1028
+        }
1029 1029
 
1030 1030
 
1031
-		function can_update_meta($meta_key, $import_options) {
1031
+        function can_update_meta($meta_key, $import_options) {
1032 1032
 
1033
-			//echo "<pre>";
1034
-			//print_r($import_options['options']);
1035
-			//echo "</pre>";
1033
+            //echo "<pre>";
1034
+            //print_r($import_options['options']);
1035
+            //echo "</pre>";
1036 1036
 			
1037
-			$import_options = $import_options['options'];
1037
+            $import_options = $import_options['options'];
1038 1038
 
1039
-			if ($import_options['update_all_data'] == 'yes') return true;
1039
+            if ($import_options['update_all_data'] == 'yes') return true;
1040 1040
 
1041
-			if ( ! $import_options['is_update_custom_fields'] ) return false;			
1041
+            if ( ! $import_options['is_update_custom_fields'] ) return false;			
1042 1042
 
1043
-			if ($import_options['update_custom_fields_logic'] == "full_update") return true;
1044
-			if ($import_options['update_custom_fields_logic'] == "only" and ! empty($import_options['custom_fields_list']) and is_array($import_options['custom_fields_list']) and in_array($meta_key, $import_options['custom_fields_list']) ) return true;
1045
-			if ($import_options['update_custom_fields_logic'] == "all_except" and ( empty($import_options['custom_fields_list']) or ! in_array($meta_key, $import_options['custom_fields_list']) )) return true;
1043
+            if ($import_options['update_custom_fields_logic'] == "full_update") return true;
1044
+            if ($import_options['update_custom_fields_logic'] == "only" and ! empty($import_options['custom_fields_list']) and is_array($import_options['custom_fields_list']) and in_array($meta_key, $import_options['custom_fields_list']) ) return true;
1045
+            if ($import_options['update_custom_fields_logic'] == "all_except" and ( empty($import_options['custom_fields_list']) or ! in_array($meta_key, $import_options['custom_fields_list']) )) return true;
1046 1046
 
1047
-			return false;
1047
+            return false;
1048 1048
 
1049
-		}
1049
+        }
1050 1050
 
1051
-		function can_update_taxonomy($tax_name, $import_options) {
1051
+        function can_update_taxonomy($tax_name, $import_options) {
1052 1052
 
1053
-			//echo "<pre>";
1054
-			//print_r($import_options['options']);
1055
-			//echo "</pre>";
1053
+            //echo "<pre>";
1054
+            //print_r($import_options['options']);
1055
+            //echo "</pre>";
1056 1056
 			
1057
-			$import_options = $import_options['options'];
1057
+            $import_options = $import_options['options'];
1058 1058
 
1059
-			if ($import_options['update_all_data'] == 'yes') return true;
1059
+            if ($import_options['update_all_data'] == 'yes') return true;
1060 1060
 
1061
-			if ( ! $import_options['is_update_categories'] ) return false;			
1061
+            if ( ! $import_options['is_update_categories'] ) return false;			
1062 1062
 
1063
-			if ($import_options['update_categories_logic'] == "full_update") return true;
1064
-			if ($import_options['update_categories_logic'] == "only" and ! empty($import_options['taxonomies_list']) and is_array($import_options['taxonomies_list']) and in_array($tax_name, $import_options['taxonomies_list']) ) return true;
1065
-			if ($import_options['update_categories_logic'] == "all_except" and ( empty($import_options['taxonomies_list']) or ! in_array($tax_name, $import_options['taxonomies_list']) )) return true;
1063
+            if ($import_options['update_categories_logic'] == "full_update") return true;
1064
+            if ($import_options['update_categories_logic'] == "only" and ! empty($import_options['taxonomies_list']) and is_array($import_options['taxonomies_list']) and in_array($tax_name, $import_options['taxonomies_list']) ) return true;
1065
+            if ($import_options['update_categories_logic'] == "all_except" and ( empty($import_options['taxonomies_list']) or ! in_array($tax_name, $import_options['taxonomies_list']) )) return true;
1066 1066
 
1067
-			return false;
1067
+            return false;
1068 1068
 
1069
-		}
1069
+        }
1070 1070
 
1071
-		function can_update_image($import_options) {
1071
+        function can_update_image($import_options) {
1072 1072
 
1073
-			$import_options = $import_options['options'];
1073
+            $import_options = $import_options['options'];
1074 1074
 
1075
-			if ($import_options['update_all_data'] == 'yes') return true;
1075
+            if ($import_options['update_all_data'] == 'yes') return true;
1076 1076
 
1077
-			if (!$import_options['is_update_images']) return false;			
1077
+            if (!$import_options['is_update_images']) return false;			
1078 1078
 
1079
-			if ($import_options['is_update_images']) return true;			
1079
+            if ($import_options['is_update_images']) return true;			
1080 1080
 
1081
-			return false;
1082
-		}
1081
+            return false;
1082
+        }
1083 1083
 
1084 1084
 
1085
-		function admin_notice_ignore() {
1086
-			if (isset($_GET[$this->slug.'_ignore']) && '0' == $_GET[$this->slug.'_ignore'] ) {
1087
-				update_option($this->slug.'_ignore', 'true');
1088
-			}
1089
-		}
1085
+        function admin_notice_ignore() {
1086
+            if (isset($_GET[$this->slug.'_ignore']) && '0' == $_GET[$this->slug.'_ignore'] ) {
1087
+                update_option($this->slug.'_ignore', 'true');
1088
+            }
1089
+        }
1090 1090
 
1091
-		function display_admin_notice() {
1091
+        function display_admin_notice() {
1092 1092
 
1093 1093
 
1094
-			if ($this->notice_text) {
1095
-				$notice_text = $this->notice_text;
1096
-			} else {
1097
-				$notice_text = $this->name.' requires WP All Import <a href="http://www.wpallimport.com/" target="_blank">Pro</a> or <a href="http://wordpress.org/plugins/wp-all-import" target="_blank">Free</a>.';
1098
-			}
1094
+            if ($this->notice_text) {
1095
+                $notice_text = $this->notice_text;
1096
+            } else {
1097
+                $notice_text = $this->name.' requires WP All Import <a href="http://www.wpallimport.com/" target="_blank">Pro</a> or <a href="http://wordpress.org/plugins/wp-all-import" target="_blank">Free</a>.';
1098
+            }
1099 1099
 
1100
-			if (!get_option(sanitize_key($this->slug).'_notice_ignore')) {
1100
+            if (!get_option(sanitize_key($this->slug).'_notice_ignore')) {
1101 1101
 
1102
-				?>
1102
+                ?>
1103 1103
 
1104 1104
 	    		<div class="error notice is-dismissible wpallimport-dismissible" style="margin-top: 10px;" rel="<?php echo sanitize_key($this->slug); ?>">
1105 1105
 	    		    <p><?php echo wp_kses_post(__(
1106
-		    		    	sprintf(
1107
-	    			    		$notice_text,
1108
-	    			    		'?'.$this->slug.'_ignore=0'
1109
-	    			    	), 
1110
-	    		    		'rapid_addon_'.$this->slug
1111
-	    		    	)); ?></p>
1106
+                            sprintf(
1107
+                                $notice_text,
1108
+                                '?'.$this->slug.'_ignore=0'
1109
+                            ), 
1110
+                            'rapid_addon_'.$this->slug
1111
+                        )); ?></p>
1112 1112
 			    </div>
1113 1113
 
1114 1114
 				<?php
1115 1115
 
1116
-			}
1116
+            }
1117 1117
 
1118
-		}
1118
+        }
1119 1119
 
1120
-		/*
1120
+        /*
1121 1121
 		*
1122 1122
 		* $conditions - array('themes' => array('Realia'), 'plugins' => array('plugin-directory/plugin-file.php', 'plugin-directory2/plugin-file.php')) 
1123 1123
 		*
1124 1124
 		*/
1125
-		function admin_notice($notice_text = '', $conditions = array()) {
1125
+        function admin_notice($notice_text = '', $conditions = array()) {
1126 1126
 
1127
-			$is_show_notice = false;
1127
+            $is_show_notice = false;
1128 1128
 
1129
-			include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
1129
+            include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
1130 1130
 
1131
-			if ( ! class_exists( 'PMXI_Plugin' ) ) {
1132
-				$is_show_notice = true;
1133
-			}
1131
+            if ( ! class_exists( 'PMXI_Plugin' ) ) {
1132
+                $is_show_notice = true;
1133
+            }
1134 1134
 
1135
-			// Supported Themes
1136
-			if ( ! $is_show_notice and ! empty($conditions['themes']) ){
1135
+            // Supported Themes
1136
+            if ( ! $is_show_notice and ! empty($conditions['themes']) ){
1137 1137
 
1138
-				$themeInfo    = wp_get_theme();
1139
-				$parentInfo = $themeInfo->parent();				
1140
-				$currentTheme = $themeInfo->get('Name');
1138
+                $themeInfo    = wp_get_theme();
1139
+                $parentInfo = $themeInfo->parent();				
1140
+                $currentTheme = $themeInfo->get('Name');
1141 1141
 				
1142
-				$is_show_notice = in_array($currentTheme, $conditions['themes']) ? false : true;				
1142
+                $is_show_notice = in_array($currentTheme, $conditions['themes']) ? false : true;				
1143 1143
 
1144
-				if ( $is_show_notice and $parentInfo ){
1145
-					$parent_theme = $parentInfo->get('Name');
1146
-					$is_show_notice = in_array($parent_theme, $conditions['themes']) ? false : true;					
1147
-				}
1144
+                if ( $is_show_notice and $parentInfo ){
1145
+                    $parent_theme = $parentInfo->get('Name');
1146
+                    $is_show_notice = in_array($parent_theme, $conditions['themes']) ? false : true;					
1147
+                }
1148 1148
 
1149
-			}			
1149
+            }			
1150 1150
 
1151
-			// Required Plugins
1152
-			if ( ! $is_show_notice and ! empty($conditions['plugins']) ){				
1151
+            // Required Plugins
1152
+            if ( ! $is_show_notice and ! empty($conditions['plugins']) ){				
1153 1153
 
1154
-				$requires_counter = 0;
1155
-				foreach ($conditions['plugins'] as $plugin) {
1156
-					if ( is_plugin_active($plugin) ) $requires_counter++;
1157
-				}
1154
+                $requires_counter = 0;
1155
+                foreach ($conditions['plugins'] as $plugin) {
1156
+                    if ( is_plugin_active($plugin) ) $requires_counter++;
1157
+                }
1158 1158
 
1159
-				if ($requires_counter != count($conditions['plugins'])){ 					
1160
-					$is_show_notice = true;			
1161
-				}
1159
+                if ($requires_counter != count($conditions['plugins'])){ 					
1160
+                    $is_show_notice = true;			
1161
+                }
1162 1162
 
1163
-			}
1163
+            }
1164 1164
 
1165
-			if ( $is_show_notice ){
1165
+            if ( $is_show_notice ){
1166 1166
 
1167
-				if ( $notice_text != '' ) {
1168
-					$this->notice_text = $notice_text;
1169
-				}
1167
+                if ( $notice_text != '' ) {
1168
+                    $this->notice_text = $notice_text;
1169
+                }
1170 1170
 
1171
-				add_action('admin_notices', array($this, 'display_admin_notice'));
1172
-			}
1171
+                add_action('admin_notices', array($this, 'display_admin_notice'));
1172
+            }
1173 1173
 
1174
-		}
1174
+        }
1175 1175
 
1176
-		function log( $m = false){		
1176
+        function log( $m = false){		
1177 1177
 
1178
-			$m and $this->logger and call_user_func($this->logger, $m);
1178
+            $m and $this->logger and call_user_func($this->logger, $m);
1179 1179
 
1180 1180
         }
1181 1181
         
@@ -1293,5 +1293,5 @@  discard block
 block discarded – undo
1293 1293
             }
1294 1294
             return $image;
1295 1295
         }
1296
-	}	
1296
+    }	
1297 1297
 }
1298 1298
\ No newline at end of file
Please login to merge, or discard this patch.
includes/admin/views/wizard-settings.php 1 patch
Indentation   +80 added lines, -80 removed lines patch added patch discarded remove patch
@@ -21,101 +21,101 @@
 block discarded – undo
21 21
                     global $wp_settings_fields;
22 22
 
23 23
                     if ( isset( $wp_settings_fields[ $page ][ $section ] ) ) {
24
-					$settings = $wp_settings_fields[ $page ][ $section ];
25
-
26
-					foreach ( $settings as $field ) {
27
-
28
-						$name      = esc_attr( $field['id'] );
29
-						$id        = sanitize_key( $name );
30
-						$class     = '';
31
-						$value     = isset( $field['args']['std'] ) ? $field['args']['std'] : '';
32
-						$value     = wpinv_clean( wpinv_get_option( $field['args']['id'], $value ) );
33
-						$help_text = isset( $field['args']['desc'] ) ? wp_kses_post( $field['args']['desc'] ) : '';
34
-						$type      = str_replace( 'wpinv_', '', str_replace( '_callback', '', $field['callback'] ) );
35
-						$label     = isset( $field['args']['name'] ) ? wp_kses_post( $field['args']['name'] ) : '';
36
-						$options   = isset( $field['args']['options'] ) ? $field['args']['options'] : array();
37
-
38
-						if ( false !== strpos( $name, 'logo' ) ) {
39
-							$type = 'hidden';
24
+                    $settings = $wp_settings_fields[ $page ][ $section ];
25
+
26
+                    foreach ( $settings as $field ) {
27
+
28
+                        $name      = esc_attr( $field['id'] );
29
+                        $id        = sanitize_key( $name );
30
+                        $class     = '';
31
+                        $value     = isset( $field['args']['std'] ) ? $field['args']['std'] : '';
32
+                        $value     = wpinv_clean( wpinv_get_option( $field['args']['id'], $value ) );
33
+                        $help_text = isset( $field['args']['desc'] ) ? wp_kses_post( $field['args']['desc'] ) : '';
34
+                        $type      = str_replace( 'wpinv_', '', str_replace( '_callback', '', $field['callback'] ) );
35
+                        $label     = isset( $field['args']['name'] ) ? wp_kses_post( $field['args']['name'] ) : '';
36
+                        $options   = isset( $field['args']['options'] ) ? $field['args']['options'] : array();
37
+
38
+                        if ( false !== strpos( $name, 'logo' ) ) {
39
+                            $type = 'hidden';
40 40
                             }
41 41
 
42
-						if ( 'country_states' == $type ) {
42
+                        if ( 'country_states' == $type ) {
43 43
 
44
-							if ( 0 == count( wpinv_get_country_states( wpinv_get_default_country() ) ) ) {
45
-								$type = 'text';
44
+                            if ( 0 == count( wpinv_get_country_states( wpinv_get_default_country() ) ) ) {
45
+                                $type = 'text';
46 46
                                 } else {
47
-								$type = 'select';
47
+                                $type = 'select';
48 48
                                 }
49 49
 
50
-							$class = 'getpaid_js_field-state';
50
+                            $class = 'getpaid_js_field-state';
51 51
                             }
52 52
 
53
-						if ( 'wpinv_settings[default_country]' == $name ) {
54
-							$class = 'getpaid_js_field-country';
53
+                        if ( 'wpinv_settings[default_country]' == $name ) {
54
+                            $class = 'getpaid_js_field-country';
55 55
                             }
56 56
 
57
-						switch ( $type ) {
57
+                        switch ( $type ) {
58 58
 
59
-							case 'hidden':
60
-								echo "<input type='hidden' id='" . esc_attr( $id ) . "' name='" . esc_attr( $name ) . "' value='" . esc_attr( $value ) . "' />";
61
-								break;
62
-							case 'text':
59
+                            case 'hidden':
60
+                                echo "<input type='hidden' id='" . esc_attr( $id ) . "' name='" . esc_attr( $name ) . "' value='" . esc_attr( $value ) . "' />";
61
+                                break;
62
+                            case 'text':
63 63
                             case 'number':
64
-								echo aui()->input(
64
+                                echo aui()->input(
65 65
                                     array(
66
-								'type'        => $type,
67
-								'id'          => $id,
68
-								'name'        => $name,
69
-								'value'       => is_scalar( $value ) ? esc_attr( $value ) : '',
70
-								'required'    => false,
71
-								'help_text'   => $help_text,
72
-								'label'       => $label,
73
-								'class'       => $class,
74
-								'label_type'  => 'floating',
75
-								'label_class' => 'settings-label',
66
+                                'type'        => $type,
67
+                                'id'          => $id,
68
+                                'name'        => $name,
69
+                                'value'       => is_scalar( $value ) ? esc_attr( $value ) : '',
70
+                                'required'    => false,
71
+                                'help_text'   => $help_text,
72
+                                'label'       => $label,
73
+                                'class'       => $class,
74
+                                'label_type'  => 'floating',
75
+                                'label_class' => 'settings-label',
76 76
                                     )
77 77
                                 );
78
-								break;
79
-							case 'textarea':
80
-								$textarea = aui()->textarea(
81
-									array(
82
-										'id'          => $id,
83
-										'name'        => $name,
84
-										'value'       => is_scalar( $value ) ? esc_textarea( $value ) : '',
85
-										'required'    => false,
86
-										'help_text'   => $help_text,
87
-										'label'       => $label,
88
-										'rows'        => '4',
89
-										'class'       => $class,
90
-										'label_type'  => 'floating',
91
-										'label_class' => 'settings-label',
92
-									)
93
-								);
94
-
95
-								// Bug fixed in AUI 0.1.51 for name stripping []
96
-								echo str_replace( sanitize_html_class( $name ), esc_attr( $name ), $textarea );
97
-
98
-								break;
99
-							case 'select':
100
-								echo aui()->select(
101
-									array(
102
-										'id'          => $id,
103
-										'name'        => $name,
104
-										'placeholder' => '',
105
-										'value'       => is_scalar( $value ) ? esc_attr( $value ) : '',
106
-										'required'    => false,
107
-										'help_text'   => $help_text,
108
-										'label'       => $label,
109
-										'options'     => $options,
110
-										'label_type'  => 'floating',
111
-										'label_class' => 'settings-label',
112
-										'class'       => $class,
113
-									)
114
-								);
115
-								break;
116
-							default:
117
-								// Do something.
118
-								break;
78
+                                break;
79
+                            case 'textarea':
80
+                                $textarea = aui()->textarea(
81
+                                    array(
82
+                                        'id'          => $id,
83
+                                        'name'        => $name,
84
+                                        'value'       => is_scalar( $value ) ? esc_textarea( $value ) : '',
85
+                                        'required'    => false,
86
+                                        'help_text'   => $help_text,
87
+                                        'label'       => $label,
88
+                                        'rows'        => '4',
89
+                                        'class'       => $class,
90
+                                        'label_type'  => 'floating',
91
+                                        'label_class' => 'settings-label',
92
+                                    )
93
+                                );
94
+
95
+                                // Bug fixed in AUI 0.1.51 for name stripping []
96
+                                echo str_replace( sanitize_html_class( $name ), esc_attr( $name ), $textarea );
97
+
98
+                                break;
99
+                            case 'select':
100
+                                echo aui()->select(
101
+                                    array(
102
+                                        'id'          => $id,
103
+                                        'name'        => $name,
104
+                                        'placeholder' => '',
105
+                                        'value'       => is_scalar( $value ) ? esc_attr( $value ) : '',
106
+                                        'required'    => false,
107
+                                        'help_text'   => $help_text,
108
+                                        'label'       => $label,
109
+                                        'options'     => $options,
110
+                                        'label_type'  => 'floating',
111
+                                        'label_class' => 'settings-label',
112
+                                        'class'       => $class,
113
+                                    )
114
+                                );
115
+                                break;
116
+                            default:
117
+                                // Do something.
118
+                                break;
119 119
                             }
120 120
                         }
121 121
                     }
Please login to merge, or discard this patch.
includes/admin/register-settings.php 1 patch
Indentation   +297 added lines, -297 removed lines patch added patch discarded remove patch
@@ -192,13 +192,13 @@  discard block
 block discarded – undo
192 192
     $name       = isset( $option['name'] ) ? $option['name'] : '';
193 193
     $cb         = "wpinv_{$option['type']}_callback";
194 194
     $section    = "wpinv_settings_{$tab}_$section";
195
-	$is_wizzard = is_admin() && isset( $_GET['page'] ) && 'gp-setup' == $_GET['page'];
195
+    $is_wizzard = is_admin() && isset( $_GET['page'] ) && 'gp-setup' == $_GET['page'];
196 196
 
197
-	if ( isset( $option['desc'] ) && ( ! $is_wizzard && ! empty( $option['help-tip'] ) ) ) {
198
-		$tip   = wpinv_clean( $option['desc'] );
199
-		$name .= "<span class='dashicons dashicons-editor-help wpi-help-tip' title='$tip'></span>";
200
-		unset( $option['desc'] );
201
-	}
197
+    if ( isset( $option['desc'] ) && ( ! $is_wizzard && ! empty( $option['help-tip'] ) ) ) {
198
+        $tip   = wpinv_clean( $option['desc'] );
199
+        $name .= "<span class='dashicons dashicons-editor-help wpi-help-tip' title='$tip'></span>";
200
+        unset( $option['desc'] );
201
+    }
202 202
 
203 203
     // Loop through all tabs.
204 204
     add_settings_field(
@@ -225,9 +225,9 @@  discard block
 block discarded – undo
225 225
             'faux'            => isset( $option['faux'] ) ? $option['faux'] : false,
226 226
             'onchange'        => isset( $option['onchange'] ) ? $option['onchange'] : '',
227 227
             'custom'          => isset( $option['custom'] ) ? $option['custom'] : '',
228
-			'default_content' => isset( $option['default_content'] ) ? $option['default_content'] : '',
229
-			'class'           => isset( $option['class'] ) ? $option['class'] : '',
230
-			'style'           => isset( $option['style'] ) ? $option['style'] : '',
228
+            'default_content' => isset( $option['default_content'] ) ? $option['default_content'] : '',
229
+            'class'           => isset( $option['class'] ) ? $option['class'] : '',
230
+            'style'           => isset( $option['style'] ) ? $option['style'] : '',
231 231
             'cols'            => isset( $option['cols'] ) && (int) $option['cols'] > 0 ? (int) $option['cols'] : 50,
232 232
             'rows'            => isset( $option['rows'] ) && (int) $option['rows'] > 0 ? (int) $option['rows'] : 5,
233 233
         )
@@ -241,7 +241,7 @@  discard block
 block discarded – undo
241 241
  * @return array
242 242
  */
243 243
 function wpinv_get_registered_settings() {
244
-	return array_filter( apply_filters( 'wpinv_registered_settings', wpinv_get_data( 'admin-settings' ) ) );
244
+    return array_filter( apply_filters( 'wpinv_registered_settings', wpinv_get_data( 'admin-settings' ) ) );
245 245
 }
246 246
 
247 247
 /**
@@ -260,18 +260,18 @@  discard block
 block discarded – undo
260 260
  */
261 261
 function wpinv_settings_sanitize( $input = array() ) {
262 262
 
263
-	$wpinv_options = wpinv_get_options();
264
-	$raw_referrer  = wp_get_raw_referer();
263
+    $wpinv_options = wpinv_get_options();
264
+    $raw_referrer  = wp_get_raw_referer();
265 265
 
266 266
     if ( empty( $raw_referrer ) ) {
267
-		return array_merge( $wpinv_options, $input );
267
+        return array_merge( $wpinv_options, $input );
268 268
     }
269 269
 
270 270
     wp_parse_str( $raw_referrer, $referrer );
271 271
 
272
-	if ( in_array( 'gp-setup', $referrer ) ) {
273
-		return array_merge( $wpinv_options, $input );
274
-	}
272
+    if ( in_array( 'gp-setup', $referrer ) ) {
273
+        return array_merge( $wpinv_options, $input );
274
+    }
275 275
 
276 276
     $settings = wpinv_get_registered_settings();
277 277
     $tab      = isset( $referrer['tab'] ) ? $referrer['tab'] : 'general';
@@ -293,10 +293,10 @@  discard block
 block discarded – undo
293 293
         }
294 294
 
295 295
         // General filter
296
-		$input[ $key ] = apply_filters( 'wpinv_settings_sanitize', $input[ $key ], $key );
296
+        $input[ $key ] = apply_filters( 'wpinv_settings_sanitize', $input[ $key ], $key );
297 297
 
298
-		// Key specific filter.
299
-		$input[ $key ] = apply_filters( "wpinv_settings_sanitize_$key", $input[ $key ] );
298
+        // Key specific filter.
299
+        $input[ $key ] = apply_filters( "wpinv_settings_sanitize_$key", $input[ $key ] );
300 300
     }
301 301
 
302 302
     // Loop through the whitelist and unset any that are empty for the tab being saved
@@ -339,14 +339,14 @@  discard block
 block discarded – undo
339 339
 
340 340
     foreach ( $new_rates as $rate ) {
341 341
 
342
-		$rate['rate']    = wpinv_sanitize_amount( $rate['rate'] );
343
-		$rate['name']    = sanitize_text_field( $rate['name'] );
344
-		$rate['state']   = sanitize_text_field( $rate['state'] );
345
-		$rate['country'] = sanitize_text_field( $rate['country'] );
346
-		$rate['global']  = empty( $rate['state'] );
347
-		$tax_rates[]     = $rate;
342
+        $rate['rate']    = wpinv_sanitize_amount( $rate['rate'] );
343
+        $rate['name']    = sanitize_text_field( $rate['name'] );
344
+        $rate['state']   = sanitize_text_field( $rate['state'] );
345
+        $rate['country'] = sanitize_text_field( $rate['country'] );
346
+        $rate['global']  = empty( $rate['state'] );
347
+        $tax_rates[]     = $rate;
348 348
 
349
-	}
349
+    }
350 350
 
351 351
     update_option( 'wpinv_tax_rates', $tax_rates );
352 352
 
@@ -359,11 +359,11 @@  discard block
 block discarded – undo
359 359
     $tabs['general']  = __( 'General', 'invoicing' );
360 360
     $tabs['gateways'] = __( 'Payment Gateways', 'invoicing' );
361 361
     $tabs['taxes']    = __( 'Taxes', 'invoicing' );
362
-	$tabs['emails']   = __( 'Emails', 'invoicing' );
362
+    $tabs['emails']   = __( 'Emails', 'invoicing' );
363 363
 
364
-	if ( count( getpaid_get_integration_settings() ) > 0 ) {
365
-		$tabs['integrations'] = __( 'Integrations', 'invoicing' );
366
-	}
364
+    if ( count( getpaid_get_integration_settings() ) > 0 ) {
365
+        $tabs['integrations'] = __( 'Integrations', 'invoicing' );
366
+    }
367 367
 
368 368
     $tabs['privacy']  = __( 'Privacy', 'invoicing' );
369 369
     $tabs['misc']     = __( 'Misc', 'invoicing' );
@@ -394,52 +394,52 @@  discard block
 block discarded – undo
394 394
         'general'      => apply_filters(
395 395
             'wpinv_settings_sections_general',
396 396
             array(
397
-				'main'             => __( 'General Settings', 'invoicing' ),
398
-				'page_section'     => __( 'Page Settings', 'invoicing' ),
399
-				'currency_section' => __( 'Currency Settings', 'invoicing' ),
400
-				'labels'           => __( 'Label Texts', 'invoicing' ),
397
+                'main'             => __( 'General Settings', 'invoicing' ),
398
+                'page_section'     => __( 'Page Settings', 'invoicing' ),
399
+                'currency_section' => __( 'Currency Settings', 'invoicing' ),
400
+                'labels'           => __( 'Label Texts', 'invoicing' ),
401 401
             )
402 402
         ),
403 403
         'gateways'     => apply_filters(
404 404
             'wpinv_settings_sections_gateways',
405 405
             array(
406
-				'main' => __( 'Gateway Settings', 'invoicing' ),
406
+                'main' => __( 'Gateway Settings', 'invoicing' ),
407 407
             )
408 408
         ),
409 409
         'taxes'        => apply_filters(
410 410
             'wpinv_settings_sections_taxes',
411 411
             array(
412
-				'main'  => __( 'Tax Settings', 'invoicing' ),
413
-				'rates' => __( 'Tax Rates', 'invoicing' ),
414
-				'vat'   => __( 'EU VAT Settings', 'invoicing' ),
412
+                'main'  => __( 'Tax Settings', 'invoicing' ),
413
+                'rates' => __( 'Tax Rates', 'invoicing' ),
414
+                'vat'   => __( 'EU VAT Settings', 'invoicing' ),
415 415
             )
416 416
         ),
417 417
         'emails'       => apply_filters(
418 418
             'wpinv_settings_sections_emails',
419 419
             array(
420
-				'main' => __( 'Email Settings', 'invoicing' ),
420
+                'main' => __( 'Email Settings', 'invoicing' ),
421 421
             )
422 422
         ),
423 423
 
424
-		'integrations' => wp_list_pluck( getpaid_get_integration_settings(), 'label', 'id' ),
424
+        'integrations' => wp_list_pluck( getpaid_get_integration_settings(), 'label', 'id' ),
425 425
 
426 426
         'privacy'      => apply_filters(
427 427
             'wpinv_settings_sections_privacy',
428 428
             array(
429
-				'main' => __( 'Privacy policy', 'invoicing' ),
429
+                'main' => __( 'Privacy policy', 'invoicing' ),
430 430
             )
431 431
         ),
432 432
         'misc'         => apply_filters(
433 433
             'wpinv_settings_sections_misc',
434 434
             array(
435
-				'main'       => __( 'Miscellaneous', 'invoicing' ),
436
-				'custom-css' => __( 'Custom CSS', 'invoicing' ),
435
+                'main'       => __( 'Miscellaneous', 'invoicing' ),
436
+                'custom-css' => __( 'Custom CSS', 'invoicing' ),
437 437
             )
438 438
         ),
439 439
         'tools'        => apply_filters(
440 440
             'wpinv_settings_sections_tools',
441 441
             array(
442
-				'main' => __( 'Diagnostic Tools', 'invoicing' ),
442
+                'main' => __( 'Diagnostic Tools', 'invoicing' ),
443 443
             )
444 444
         ),
445 445
     );
@@ -450,46 +450,46 @@  discard block
 block discarded – undo
450 450
 }
451 451
 
452 452
 function wpinv_get_pages( $with_slug = false, $default_label = null ) {
453
-	$pages_options = array();
453
+    $pages_options = array();
454 454
 
455
-	if ( $default_label !== null && $default_label !== false ) {
456
-		$pages_options = array( '' => $default_label ); // Blank option
457
-	}
455
+    if ( $default_label !== null && $default_label !== false ) {
456
+        $pages_options = array( '' => $default_label ); // Blank option
457
+    }
458 458
 
459
-	$pages = get_pages();
460
-	if ( $pages ) {
461
-		foreach ( $pages as $page ) {
462
-			$title = $with_slug ? $page->post_title . ' (' . $page->post_name . ')' : $page->post_title;
459
+    $pages = get_pages();
460
+    if ( $pages ) {
461
+        foreach ( $pages as $page ) {
462
+            $title = $with_slug ? $page->post_title . ' (' . $page->post_name . ')' : $page->post_title;
463 463
             $pages_options[ $page->ID ] = $title;
464
-		}
465
-	}
464
+        }
465
+    }
466 466
 
467
-	return $pages_options;
467
+    return $pages_options;
468 468
 }
469 469
 
470 470
 function wpinv_header_callback( $args ) {
471
-	if ( ! empty( $args['desc'] ) ) {
471
+    if ( ! empty( $args['desc'] ) ) {
472 472
         echo wp_kses_post( $args['desc'] );
473 473
     }
474 474
 }
475 475
 
476 476
 function wpinv_hidden_callback( $args ) {
477 477
 
478
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
479
-	$value   = wpinv_get_option( $args['id'], $std );
478
+    $std     = isset( $args['std'] ) ? $args['std'] : '';
479
+    $value   = wpinv_get_option( $args['id'], $std );
480 480
 
481
-	if ( isset( $args['set_value'] ) ) {
482
-		$value = $args['set_value'];
483
-	}
481
+    if ( isset( $args['set_value'] ) ) {
482
+        $value = $args['set_value'];
483
+    }
484 484
 
485
-	if ( isset( $args['faux'] ) && true === $args['faux'] ) {
486
-		$args['readonly'] = true;
487
-		$name  = '';
488
-	} else {
489
-		$name = 'wpinv_settings[' . esc_attr( $args['id'] ) . ']';
490
-	}
485
+    if ( isset( $args['faux'] ) && true === $args['faux'] ) {
486
+        $args['readonly'] = true;
487
+        $name  = '';
488
+    } else {
489
+        $name = 'wpinv_settings[' . esc_attr( $args['id'] ) . ']';
490
+    }
491 491
 
492
-	echo '<input type="hidden" id="wpinv_settings[' . esc_attr( $args['id'] ) . ']" name="' . esc_attr( $name ) . '" value="' . esc_attr( stripslashes( $value ) ) . '" />';
492
+    echo '<input type="hidden" id="wpinv_settings[' . esc_attr( $args['id'] ) . ']" name="' . esc_attr( $name ) . '" value="' . esc_attr( stripslashes( $value ) ) . '" />';
493 493
 
494 494
 }
495 495
 
@@ -498,12 +498,12 @@  discard block
 block discarded – undo
498 498
  */
499 499
 function wpinv_checkbox_callback( $args ) {
500 500
 
501
-	$std = isset( $args['std'] ) ? $args['std'] : '';
502
-	$std = wpinv_get_option( $args['id'], $std );
503
-	$id  = esc_attr( $args['id'] );
501
+    $std = isset( $args['std'] ) ? $args['std'] : '';
502
+    $std = wpinv_get_option( $args['id'], $std );
503
+    $id  = esc_attr( $args['id'] );
504 504
 
505
-	getpaid_hidden_field( "wpinv_settings[$id]", '0' );
506
-	?>
505
+    getpaid_hidden_field( "wpinv_settings[$id]", '0' );
506
+    ?>
507 507
 		<fieldset>
508 508
 			<label>
509 509
 				<input id="wpinv-settings-<?php echo esc_attr( $id ); ?>" name="wpinv_settings[<?php echo esc_attr( $id ); ?>]" <?php checked( empty( $std ), false ); ?> value="1" type="checkbox">
@@ -515,75 +515,75 @@  discard block
 block discarded – undo
515 515
 
516 516
 function wpinv_multicheck_callback( $args ) {
517 517
 
518
-	$sanitize_id = wpinv_sanitize_key( $args['id'] );
519
-	$class = ! empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : '';
518
+    $sanitize_id = wpinv_sanitize_key( $args['id'] );
519
+    $class = ! empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : '';
520 520
 
521
-	if ( ! empty( $args['options'] ) ) {
521
+    if ( ! empty( $args['options'] ) ) {
522 522
 
523
-		$std     = isset( $args['std'] ) ? $args['std'] : array();
524
-		$value   = wpinv_get_option( $args['id'], $std );
523
+        $std     = isset( $args['std'] ) ? $args['std'] : array();
524
+        $value   = wpinv_get_option( $args['id'], $std );
525 525
 
526
-		echo '<div class="wpi-mcheck-rows wpi-mcheck-' . esc_attr( $sanitize_id . $class ) . '">';
526
+        echo '<div class="wpi-mcheck-rows wpi-mcheck-' . esc_attr( $sanitize_id . $class ) . '">';
527 527
         foreach ( $args['options'] as $key => $option ) :
528
-			$sanitize_key = esc_attr( wpinv_sanitize_key( $key ) );
529
-			if ( in_array( $sanitize_key, $value ) ) {
530
-				$enabled = $sanitize_key;
531
-			} else {
532
-				$enabled = null;
533
-			}
534
-			echo '<div class="wpi-mcheck-row"><input name="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" id="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" type="checkbox" value="' . esc_attr( $sanitize_key ) . '" ' . checked( $sanitize_key, $enabled, false ) . '/>&nbsp;';
535
-			echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']">' . wp_kses_post( $option ) . '</label></div>';
536
-		endforeach;
537
-		echo '</div>';
538
-		echo '<p class="description">' . wp_kses_post( $args['desc'] ) . '</p>';
539
-	}
528
+            $sanitize_key = esc_attr( wpinv_sanitize_key( $key ) );
529
+            if ( in_array( $sanitize_key, $value ) ) {
530
+                $enabled = $sanitize_key;
531
+            } else {
532
+                $enabled = null;
533
+            }
534
+            echo '<div class="wpi-mcheck-row"><input name="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" id="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" type="checkbox" value="' . esc_attr( $sanitize_key ) . '" ' . checked( $sanitize_key, $enabled, false ) . '/>&nbsp;';
535
+            echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']">' . wp_kses_post( $option ) . '</label></div>';
536
+        endforeach;
537
+        echo '</div>';
538
+        echo '<p class="description">' . wp_kses_post( $args['desc'] ) . '</p>';
539
+    }
540 540
 }
541 541
 
542 542
 function wpinv_payment_icons_callback( $args ) {
543 543
 
544 544
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
545
-	$value   = wpinv_get_option( $args['id'], false );
545
+    $value   = wpinv_get_option( $args['id'], false );
546 546
 
547
-	if ( ! empty( $args['options'] ) ) {
548
-		foreach ( $args['options'] as $key => $option ) {
547
+    if ( ! empty( $args['options'] ) ) {
548
+        foreach ( $args['options'] as $key => $option ) {
549 549
             $sanitize_key = wpinv_sanitize_key( $key );
550 550
 
551
-			if ( empty( $value ) ) {
552
-				$enabled = $option;
553
-			} else {
554
-				$enabled = null;
555
-			}
556
-
557
-			echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" style="margin-right:10px;line-height:16px;height:16px;display:inline-block;">';
558
-
559
-				echo '<input name="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" id="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" type="checkbox" value="' . esc_attr( $option ) . '" ' . checked( $option, $enabled, false ) . '/>&nbsp;';
560
-
561
-				if ( wpinv_string_is_image_url( $key ) ) {
562
-				echo '<img class="payment-icon" src="' . esc_url( $key ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
563
-				} else {
564
-				$card = strtolower( str_replace( ' ', '', $option ) );
565
-
566
-				if ( has_filter( 'wpinv_accepted_payment_' . $card . '_image' ) ) {
567
-					$image = apply_filters( 'wpinv_accepted_payment_' . $card . '_image', '' );
568
-					} else {
569
-					$image       = wpinv_locate_template( 'images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false );
570
-					$content_dir = WP_CONTENT_DIR;
571
-
572
-					if ( function_exists( 'wp_normalize_path' ) ) {
573
-						// Replaces backslashes with forward slashes for Windows systems
574
-						$image = wp_normalize_path( $image );
575
-						$content_dir = wp_normalize_path( $content_dir );
576
-						}
577
-
578
-					$image = str_replace( $content_dir, content_url(), $image );
579
-					}
580
-
581
-				echo '<img class="payment-icon" src="' . esc_url( $image ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
582
-				}
583
-			echo wp_kses_post( $option ) . '</label>';
584
-		}
585
-		echo '<p class="description" style="margin-top:16px;">' . wp_kses_post( $args['desc'] ) . '</p>';
586
-	}
551
+            if ( empty( $value ) ) {
552
+                $enabled = $option;
553
+            } else {
554
+                $enabled = null;
555
+            }
556
+
557
+            echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" style="margin-right:10px;line-height:16px;height:16px;display:inline-block;">';
558
+
559
+                echo '<input name="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" id="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" type="checkbox" value="' . esc_attr( $option ) . '" ' . checked( $option, $enabled, false ) . '/>&nbsp;';
560
+
561
+                if ( wpinv_string_is_image_url( $key ) ) {
562
+                echo '<img class="payment-icon" src="' . esc_url( $key ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
563
+                } else {
564
+                $card = strtolower( str_replace( ' ', '', $option ) );
565
+
566
+                if ( has_filter( 'wpinv_accepted_payment_' . $card . '_image' ) ) {
567
+                    $image = apply_filters( 'wpinv_accepted_payment_' . $card . '_image', '' );
568
+                    } else {
569
+                    $image       = wpinv_locate_template( 'images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false );
570
+                    $content_dir = WP_CONTENT_DIR;
571
+
572
+                    if ( function_exists( 'wp_normalize_path' ) ) {
573
+                        // Replaces backslashes with forward slashes for Windows systems
574
+                        $image = wp_normalize_path( $image );
575
+                        $content_dir = wp_normalize_path( $content_dir );
576
+                        }
577
+
578
+                    $image = str_replace( $content_dir, content_url(), $image );
579
+                    }
580
+
581
+                echo '<img class="payment-icon" src="' . esc_url( $image ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
582
+                }
583
+            echo wp_kses_post( $option ) . '</label>';
584
+        }
585
+        echo '<p class="description" style="margin-top:16px;">' . wp_kses_post( $args['desc'] ) . '</p>';
586
+    }
587 587
 }
588 588
 
589 589
 /**
@@ -591,9 +591,9 @@  discard block
 block discarded – undo
591 591
  */
592 592
 function wpinv_radio_callback( $args ) {
593 593
 
594
-	$std = isset( $args['std'] ) ? $args['std'] : '';
595
-	$std = wpinv_get_option( $args['id'], $std );
596
-	?>
594
+    $std = isset( $args['std'] ) ? $args['std'] : '';
595
+    $std = wpinv_get_option( $args['id'], $std );
596
+    ?>
597 597
 		<fieldset>
598 598
 			<ul id="wpinv-settings-<?php echo esc_attr( $args['id'] ); ?>" style="margin-top: 0;">
599 599
 				<?php foreach ( $args['options'] as $key => $option ) : ?>
@@ -607,7 +607,7 @@  discard block
 block discarded – undo
607 607
 			</ul>
608 608
 		</fieldset>
609 609
 	<?php
610
-	getpaid_settings_description_callback( $args );
610
+    getpaid_settings_description_callback( $args );
611 611
 }
612 612
 
613 613
 /**
@@ -615,10 +615,10 @@  discard block
 block discarded – undo
615 615
  */
616 616
 function getpaid_settings_description_callback( $args ) {
617 617
 
618
-	if ( ! empty( $args['desc'] ) ) {
619
-		$description = $args['desc'];
620
-		echo wp_kses_post( "<p class='description'>$description</p>" );
621
-	}
618
+    if ( ! empty( $args['desc'] ) ) {
619
+        $description = $args['desc'];
620
+        echo wp_kses_post( "<p class='description'>$description</p>" );
621
+    }
622 622
 
623 623
 }
624 624
 
@@ -627,7 +627,7 @@  discard block
 block discarded – undo
627 627
  */
628 628
 function wpinv_gateways_callback() {
629 629
 
630
-	?>
630
+    ?>
631 631
 		</td>
632 632
 	</tr>
633 633
 	<tr class="bsui">
@@ -641,26 +641,26 @@  discard block
 block discarded – undo
641 641
 
642 642
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
643 643
     $class = ! empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : '';
644
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
645
-	$value   = wpinv_get_option( $args['id'], $std );
644
+    $std     = isset( $args['std'] ) ? $args['std'] : '';
645
+    $value   = wpinv_get_option( $args['id'], $std );
646 646
 
647
-	echo '<select name="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" class="' . esc_attr( $class ) . '" >';
647
+    echo '<select name="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" class="' . esc_attr( $class ) . '" >';
648 648
 
649
-	foreach ( $args['options'] as $key => $option ) :
649
+    foreach ( $args['options'] as $key => $option ) :
650 650
 
651
-		echo '<option value="' . esc_attr( $key ) . '" ';
651
+        echo '<option value="' . esc_attr( $key ) . '" ';
652 652
 
653
-		if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) {
653
+        if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) {
654 654
             selected( $key, $args['selected'] );
655 655
         } else {
656 656
             selected( $key, $value );
657 657
         }
658 658
 
659
-		echo '>' . esc_html( $option['admin_label'] ) . '</option>';
660
-	endforeach;
659
+        echo '>' . esc_html( $option['admin_label'] ) . '</option>';
660
+    endforeach;
661 661
 
662
-	echo '</select>';
663
-	echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
662
+    echo '</select>';
663
+    echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
664 664
 }
665 665
 
666 666
 /**
@@ -671,29 +671,29 @@  discard block
 block discarded – undo
671 671
  */
672 672
 function wpinv_settings_attrs_helper( $args ) {
673 673
 
674
-	$value        = isset( $args['std'] ) ? $args['std'] : '';
675
-	$id           = esc_attr( $args['id'] );
676
-	$placeholder  = esc_attr( $args['placeholder'] );
674
+    $value        = isset( $args['std'] ) ? $args['std'] : '';
675
+    $id           = esc_attr( $args['id'] );
676
+    $placeholder  = esc_attr( $args['placeholder'] );
677 677
 
678
-	if ( ! empty( $args['faux'] ) ) {
679
-		$args['readonly'] = true;
680
-		$name             = '';
681
-	} else {
682
-		$value  = wpinv_get_option( $args['id'], $value );
683
-		$name   = "wpinv_settings[$id]";
684
-	}
678
+    if ( ! empty( $args['faux'] ) ) {
679
+        $args['readonly'] = true;
680
+        $name             = '';
681
+    } else {
682
+        $value  = wpinv_get_option( $args['id'], $value );
683
+        $name   = "wpinv_settings[$id]";
684
+    }
685 685
 
686
-	$value    = is_scalar( $value ) ? esc_attr( $value ) : '';
687
-	$class    = esc_attr( $args['class'] );
688
-	$style    = esc_attr( $args['style'] );
689
-	$readonly = empty( $args['readonly'] ) ? '' : 'readonly onclick="this.select()"';
686
+    $value    = is_scalar( $value ) ? esc_attr( $value ) : '';
687
+    $class    = esc_attr( $args['class'] );
688
+    $style    = esc_attr( $args['style'] );
689
+    $readonly = empty( $args['readonly'] ) ? '' : 'readonly onclick="this.select()"';
690 690
 
691
-	$onchange = '';
691
+    $onchange = '';
692 692
     if ( ! empty( $args['onchange'] ) ) {
693 693
         $onchange = ' onchange="' . esc_attr( $args['onchange'] ) . '"';
694
-	}
694
+    }
695 695
 
696
-	return "name='$name' id='wpinv-settings-$id' style='$style' value='$value' class='$class' placeholder='$placeholder' data-placeholder='$placeholder' $onchange $readonly";
696
+    return "name='$name' id='wpinv-settings-$id' style='$style' value='$value' class='$class' placeholder='$placeholder' data-placeholder='$placeholder' $onchange $readonly";
697 697
 }
698 698
 
699 699
 /**
@@ -701,9 +701,9 @@  discard block
 block discarded – undo
701 701
  */
702 702
 function wpinv_text_callback( $args ) {
703 703
 
704
-	$desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>";
704
+    $desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>";
705 705
 
706
-	?>
706
+    ?>
707 707
 		<label style="width: 100%;">
708 708
 			<input type="text" <?php echo wpinv_settings_attrs_helper( $args ); ?>>
709 709
 			<?php echo wp_kses_post( $desc ); ?>
@@ -717,10 +717,10 @@  discard block
 block discarded – undo
717 717
  */
718 718
 function wpinv_number_callback( $args ) {
719 719
 
720
-	$desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>";
721
-	$attr = wpinv_settings_attrs_helper( $args );
720
+    $desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>";
721
+    $attr = wpinv_settings_attrs_helper( $args );
722 722
 
723
-	?>
723
+    ?>
724 724
 		<label style="width: 100%;">
725 725
 			<input type="number" step="<?php echo floatval( $args['step'] ); ?>" max="<?php echo intval( $args['max'] ); ?>" min="<?php echo intval( $args['min'] ); ?>" <?php echo $attr; ?>>
726 726
 			<?php echo wp_kses_post( $desc ); ?>
@@ -732,34 +732,34 @@  discard block
 block discarded – undo
732 732
 function wpinv_textarea_callback( $args ) {
733 733
 
734 734
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
735
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
736
-	$value   = wpinv_get_option( $args['id'], $std );
735
+    $std     = isset( $args['std'] ) ? $args['std'] : '';
736
+    $value   = wpinv_get_option( $args['id'], $std );
737 737
 
738 738
     $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
739 739
     $class = ( isset( $args['class'] ) && ! is_null( $args['class'] ) ) ? $args['class'] : 'large-text';
740 740
 
741
-	echo '<textarea class="' . sanitize_html_class( $class ) . ' txtarea-' . sanitize_html_class( $size ) . ' wpi-' . esc_attr( sanitize_html_class( $sanitize_id ) ) . ' " cols="' . $args['cols'] . '" rows="' . $args['rows'] . '" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
742
-	echo '<br /><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
741
+    echo '<textarea class="' . sanitize_html_class( $class ) . ' txtarea-' . sanitize_html_class( $size ) . ' wpi-' . esc_attr( sanitize_html_class( $sanitize_id ) ) . ' " cols="' . $args['cols'] . '" rows="' . $args['rows'] . '" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
742
+    echo '<br /><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
743 743
 
744 744
 }
745 745
 
746 746
 function wpinv_password_callback( $args ) {
747 747
 
748 748
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
749
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
750
-	$value   = wpinv_get_option( $args['id'], $std );
749
+    $std     = isset( $args['std'] ) ? $args['std'] : '';
750
+    $value   = wpinv_get_option( $args['id'], $std );
751 751
 
752
-	$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
753
-	echo '<input type="password" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '"/>';
754
-	echo '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
752
+    $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
753
+    echo '<input type="password" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '"/>';
754
+    echo '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
755 755
 
756 756
 }
757 757
 
758 758
 function wpinv_missing_callback( $args ) {
759
-	printf(
760
-		__( 'The callback function used for the %s setting is missing.', 'invoicing' ),
761
-		'<strong>' . $args['id'] . '</strong>'
762
-	);
759
+    printf(
760
+        __( 'The callback function used for the %s setting is missing.', 'invoicing' ),
761
+        '<strong>' . $args['id'] . '</strong>'
762
+    );
763 763
 }
764 764
 
765 765
 /**
@@ -767,14 +767,14 @@  discard block
 block discarded – undo
767 767
  */
768 768
 function wpinv_select_callback( $args ) {
769 769
 
770
-	$desc   = wp_kses_post( $args['desc'] );
771
-	$desc   = empty( $desc ) ? '' : "<p class='description'>$desc</p>";
772
-	$attr   = wpinv_settings_attrs_helper( $args );
773
-	$value  = isset( $args['std'] ) ? $args['std'] : '';
774
-	$value  = wpinv_get_option( $args['id'], $value );
775
-	$rand   = uniqid( 'random_id' );
770
+    $desc   = wp_kses_post( $args['desc'] );
771
+    $desc   = empty( $desc ) ? '' : "<p class='description'>$desc</p>";
772
+    $attr   = wpinv_settings_attrs_helper( $args );
773
+    $value  = isset( $args['std'] ) ? $args['std'] : '';
774
+    $value  = wpinv_get_option( $args['id'], $value );
775
+    $rand   = uniqid( 'random_id' );
776 776
 
777
-	?>
777
+    ?>
778 778
 		<label style="width: 100%;">
779 779
 			<select <?php echo $attr; ?> data-allow-clear="true">
780 780
 				<?php foreach ( $args['options'] as $option => $name ) : ?>
@@ -807,50 +807,50 @@  discard block
 block discarded – undo
807 807
 function wpinv_color_select_callback( $args ) {
808 808
 
809 809
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
810
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
811
-	$value   = wpinv_get_option( $args['id'], $std );
810
+    $std     = isset( $args['std'] ) ? $args['std'] : '';
811
+    $value   = wpinv_get_option( $args['id'], $std );
812 812
 
813
-	echo '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"/>';
813
+    echo '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"/>';
814 814
 
815
-	foreach ( $args['options'] as $option => $color ) {
816
-		echo '<option value="' . esc_attr( $option ) . '" ' . selected( $option, $value ) . '>' . esc_html( $color['label'] ) . '</option>';
817
-	}
815
+    foreach ( $args['options'] as $option => $color ) {
816
+        echo '<option value="' . esc_attr( $option ) . '" ' . selected( $option, $value ) . '>' . esc_html( $color['label'] ) . '</option>';
817
+    }
818 818
 
819
-	echo '</select>';
820
-	echo '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
819
+    echo '</select>';
820
+    echo '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
821 821
 
822 822
 }
823 823
 
824 824
 function wpinv_rich_editor_callback( $args ) {
825
-	global $wp_version;
825
+    global $wp_version;
826 826
 
827 827
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
828 828
 
829
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
830
-	$value   = wpinv_get_option( $args['id'], $std );
829
+    $std     = isset( $args['std'] ) ? $args['std'] : '';
830
+    $value   = wpinv_get_option( $args['id'], $std );
831 831
 
832
-	if ( ! empty( $args['allow_blank'] ) && empty( $value ) ) {
833
-		$value = $std;
834
-	}
832
+    if ( ! empty( $args['allow_blank'] ) && empty( $value ) ) {
833
+        $value = $std;
834
+    }
835 835
 
836
-	$rows = isset( $args['size'] ) ? $args['size'] : 20;
836
+    $rows = isset( $args['size'] ) ? $args['size'] : 20;
837 837
 
838
-	echo '<div class="getpaid-settings-editor-input">';
839
-	if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) {
840
-		wp_editor(
838
+    echo '<div class="getpaid-settings-editor-input">';
839
+    if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) {
840
+        wp_editor(
841 841
             stripslashes( $value ),
842 842
             'wpinv_settings_' . esc_attr( $args['id'] ),
843 843
             array(
844
-				'textarea_name' => 'wpinv_settings[' . esc_attr( $args['id'] ) . ']',
845
-				'textarea_rows' => absint( $rows ),
846
-				'media_buttons' => false,
844
+                'textarea_name' => 'wpinv_settings[' . esc_attr( $args['id'] ) . ']',
845
+                'textarea_rows' => absint( $rows ),
846
+                'media_buttons' => false,
847 847
             )
848 848
         );
849
-	} else {
850
-		echo '<textarea class="large-text" rows="10" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="wpi-' . esc_attr( sanitize_html_class( $args['id'] ) ) . '">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
851
-	}
849
+    } else {
850
+        echo '<textarea class="large-text" rows="10" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="wpi-' . esc_attr( sanitize_html_class( $args['id'] ) ) . '">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
851
+    }
852 852
 
853
-	echo '</div><br/><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
853
+    echo '</div><br/><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
854 854
 
855 855
 }
856 856
 
@@ -858,51 +858,51 @@  discard block
 block discarded – undo
858 858
 
859 859
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
860 860
 
861
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
862
-	$value   = wpinv_get_option( $args['id'], $std );
861
+    $std     = isset( $args['std'] ) ? $args['std'] : '';
862
+    $value   = wpinv_get_option( $args['id'], $std );
863 863
 
864
-	$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
865
-	echo '<input type="text" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( stripslashes( $value ) ) . '"/>';
866
-	echo '<span>&nbsp;<input type="button" class="wpinv_settings_upload_button button-secondary" value="' . __( 'Upload File', 'invoicing' ) . '"/></span>';
867
-	echo '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
864
+    $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
865
+    echo '<input type="text" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( stripslashes( $value ) ) . '"/>';
866
+    echo '<span>&nbsp;<input type="button" class="wpinv_settings_upload_button button-secondary" value="' . __( 'Upload File', 'invoicing' ) . '"/></span>';
867
+    echo '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
868 868
 
869 869
 }
870 870
 
871 871
 function wpinv_color_callback( $args ) {
872 872
 
873
-	$std         = isset( $args['std'] ) ? $args['std'] : '';
874
-	$value       = wpinv_get_option( $args['id'], $std );
873
+    $std         = isset( $args['std'] ) ? $args['std'] : '';
874
+    $value       = wpinv_get_option( $args['id'], $std );
875 875
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
876 876
 
877
-	echo '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '" data-default-color="' . esc_attr( $std ) . '" />';
878
-	echo '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
877
+    echo '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '" data-default-color="' . esc_attr( $std ) . '" />';
878
+    echo '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
879 879
 
880 880
 }
881 881
 
882 882
 function wpinv_country_states_callback( $args ) {
883 883
 
884
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
885
-	$value   = wpinv_get_option( $args['id'], $std );
884
+    $std     = isset( $args['std'] ) ? $args['std'] : '';
885
+    $value   = wpinv_get_option( $args['id'], $std );
886 886
 
887 887
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
888 888
 
889
-	if ( isset( $args['placeholder'] ) ) {
890
-		$placeholder = $args['placeholder'];
891
-	} else {
892
-		$placeholder = '';
893
-	}
889
+    if ( isset( $args['placeholder'] ) ) {
890
+        $placeholder = $args['placeholder'];
891
+    } else {
892
+        $placeholder = '';
893
+    }
894 894
 
895
-	$states = wpinv_get_country_states();
895
+    $states = wpinv_get_country_states();
896 896
 
897
-	$class = empty( $states ) ? ' class="wpinv-no-states"' : ' class="wpi_select2"';
898
-	echo '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"' . $class . 'data-placeholder="' . esc_html( $placeholder ) . '"/>';
897
+    $class = empty( $states ) ? ' class="wpinv-no-states"' : ' class="wpi_select2"';
898
+    echo '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"' . $class . 'data-placeholder="' . esc_html( $placeholder ) . '"/>';
899 899
 
900
-	foreach ( $states as $option => $name ) {
901
-		echo '<option value="' . esc_attr( $option ) . '" ' . selected( $option, $value ) . '>' . esc_html( $name ) . '</option>';
902
-	}
900
+    foreach ( $states as $option => $name ) {
901
+        echo '<option value="' . esc_attr( $option ) . '" ' . selected( $option, $value ) . '>' . esc_html( $name ) . '</option>';
902
+    }
903 903
 
904
-	echo '</select>';
905
-	echo '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
904
+    echo '</select>';
905
+    echo '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
906 906
 
907 907
 }
908 908
 
@@ -911,7 +911,7 @@  discard block
 block discarded – undo
911 911
  */
912 912
 function wpinv_tax_rates_callback() {
913 913
 
914
-	?>
914
+    ?>
915 915
 		</td>
916 916
 	</tr>
917 917
 	<tr class="bsui">
@@ -926,17 +926,17 @@  discard block
 block discarded – undo
926 926
  * Displays a tax rate' edit row.
927 927
  */
928 928
 function wpinv_tax_rate_callback( $tax_rate, $key, $echo = true ) {
929
-	ob_start();
929
+    ob_start();
930 930
 
931
-	$key                      = sanitize_key( $key );
932
-	$tax_rate['reduced_rate'] = empty( $tax_rate['reduced_rate'] ) ? 0 : $tax_rate['reduced_rate'];
933
-	include plugin_dir_path( __FILE__ ) . 'views/html-tax-rate-edit.php';
931
+    $key                      = sanitize_key( $key );
932
+    $tax_rate['reduced_rate'] = empty( $tax_rate['reduced_rate'] ) ? 0 : $tax_rate['reduced_rate'];
933
+    include plugin_dir_path( __FILE__ ) . 'views/html-tax-rate-edit.php';
934 934
 
935
-	if ( $echo ) {
936
-		echo ob_get_clean();
937
-	} else {
938
-		return ob_get_clean();
939
-	}
935
+    if ( $echo ) {
936
+        echo ob_get_clean();
937
+    } else {
938
+        return ob_get_clean();
939
+    }
940 940
 
941 941
 }
942 942
 
@@ -968,14 +968,14 @@  discard block
 block discarded – undo
968 968
                 <td>
969 969
 					<a href="
970 970
                     <?php
971
-						echo esc_url(
972
-							wp_nonce_url(
973
-								add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ),
974
-								'getpaid-nonce',
975
-								'getpaid-nonce'
976
-							)
977
-						);
978
-					?>
971
+                        echo esc_url(
972
+                            wp_nonce_url(
973
+                                add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ),
974
+                                'getpaid-nonce',
975
+                                'getpaid-nonce'
976
+                            )
977
+                        );
978
+                    ?>
979 979
                     " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a>
980 980
                 </td>
981 981
             </tr>
@@ -987,14 +987,14 @@  discard block
 block discarded – undo
987 987
                 <td>
988 988
 					<a href="
989 989
                     <?php
990
-						echo esc_url(
991
-							wp_nonce_url(
992
-								add_query_arg( 'getpaid-admin-action', 'create_missing_tables' ),
993
-								'getpaid-nonce',
994
-								'getpaid-nonce'
995
-							)
996
-						);
997
-					?>
990
+                        echo esc_url(
991
+                            wp_nonce_url(
992
+                                add_query_arg( 'getpaid-admin-action', 'create_missing_tables' ),
993
+                                'getpaid-nonce',
994
+                                'getpaid-nonce'
995
+                            )
996
+                        );
997
+                    ?>
998 998
                     " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a>
999 999
                 </td>
1000 1000
             </tr>
@@ -1006,14 +1006,14 @@  discard block
 block discarded – undo
1006 1006
                 <td>
1007 1007
 					<a href="
1008 1008
                     <?php
1009
-						echo esc_url(
1010
-							wp_nonce_url(
1011
-								add_query_arg( 'getpaid-admin-action', 'migrate_old_invoices' ),
1012
-								'getpaid-nonce',
1013
-								'getpaid-nonce'
1014
-							)
1015
-						);
1016
-					?>
1009
+                        echo esc_url(
1010
+                            wp_nonce_url(
1011
+                                add_query_arg( 'getpaid-admin-action', 'migrate_old_invoices' ),
1012
+                                'getpaid-nonce',
1013
+                                'getpaid-nonce'
1014
+                            )
1015
+                        );
1016
+                    ?>
1017 1017
                     " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a>
1018 1018
                 </td>
1019 1019
             </tr>
@@ -1026,14 +1026,14 @@  discard block
 block discarded – undo
1026 1026
                 <td>
1027 1027
 					<a href="
1028 1028
                     <?php
1029
-						echo esc_url(
1030
-							wp_nonce_url(
1031
-								add_query_arg( 'getpaid-admin-action', 'recalculate_discounts' ),
1032
-								'getpaid-nonce',
1033
-								'getpaid-nonce'
1034
-							)
1035
-						);
1036
-					?>
1029
+                        echo esc_url(
1030
+                            wp_nonce_url(
1031
+                                add_query_arg( 'getpaid-admin-action', 'recalculate_discounts' ),
1032
+                                'getpaid-nonce',
1033
+                                'getpaid-nonce'
1034
+                            )
1035
+                        );
1036
+                    ?>
1037 1037
                     " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a>
1038 1038
                 </td>
1039 1039
             </tr>
@@ -1046,8 +1046,8 @@  discard block
 block discarded – undo
1046 1046
                 <td>
1047 1047
 					<a href="
1048 1048
                     <?php
1049
-						echo esc_url( admin_url( 'index.php?page=gp-setup' ) );
1050
-					?>
1049
+                        echo esc_url( admin_url( 'index.php?page=gp-setup' ) );
1050
+                    ?>
1051 1051
                     " class="button button-primary"><?php esc_html_e( 'Launch', 'invoicing' ); ?></a>
1052 1052
                 </td>
1053 1053
             </tr>
@@ -1061,19 +1061,19 @@  discard block
 block discarded – undo
1061 1061
 
1062 1062
 
1063 1063
 function wpinv_descriptive_text_callback( $args ) {
1064
-	echo wp_kses_post( $args['desc'] );
1064
+    echo wp_kses_post( $args['desc'] );
1065 1065
 }
1066 1066
 
1067 1067
 function wpinv_raw_html_callback( $args ) {
1068
-	echo wp_kses_post( $args['desc'] );
1068
+    echo wp_kses_post( $args['desc'] );
1069 1069
 }
1070 1070
 
1071 1071
 function wpinv_hook_callback( $args ) {
1072
-	do_action( 'wpinv_' . $args['id'], $args );
1072
+    do_action( 'wpinv_' . $args['id'], $args );
1073 1073
 }
1074 1074
 
1075 1075
 function wpinv_set_settings_cap() {
1076
-	return wpinv_get_capability();
1076
+    return wpinv_get_capability();
1077 1077
 }
1078 1078
 add_filter( 'option_page_capability_wpinv_settings', 'wpinv_set_settings_cap' );
1079 1079
 
@@ -1097,15 +1097,15 @@  discard block
 block discarded – undo
1097 1097
  */
1098 1098
 function wpinv_get_merge_tags_help_text( $subscription = false ) {
1099 1099
 
1100
-	$url  = $subscription ? 'https://gist.github.com/picocodes/3d213982d57c34edf7a46fd3f0e8583e' : 'https://gist.github.com/picocodes/43bdc4d4bbba844534b2722e2af0b58f';
1101
-	$link = sprintf(
1102
-		'<strong><a href="%s" target="_blank">%s</a></strong>',
1103
-		$url,
1104
-		esc_html__( 'View available merge tags.', 'wpinv-quotes' )
1105
-	);
1100
+    $url  = $subscription ? 'https://gist.github.com/picocodes/3d213982d57c34edf7a46fd3f0e8583e' : 'https://gist.github.com/picocodes/43bdc4d4bbba844534b2722e2af0b58f';
1101
+    $link = sprintf(
1102
+        '<strong><a href="%s" target="_blank">%s</a></strong>',
1103
+        $url,
1104
+        esc_html__( 'View available merge tags.', 'wpinv-quotes' )
1105
+    );
1106 1106
 
1107
-	$description = esc_html__( 'The content of the email (Merge Tags and HTML are allowed).', 'invoicing' );
1107
+    $description = esc_html__( 'The content of the email (Merge Tags and HTML are allowed).', 'invoicing' );
1108 1108
 
1109
-	return "$description $link";
1109
+    return "$description $link";
1110 1110
 
1111 1111
 }
Please login to merge, or discard this patch.
includes/admin/html-admin-page-addons.php 1 patch
Indentation   +69 added lines, -69 removed lines patch added patch discarded remove patch
@@ -4,7 +4,7 @@  discard block
 block discarded – undo
4 4
  *
5 5
  */
6 6
 if ( ! defined( 'ABSPATH' ) ) {
7
-	exit;
7
+    exit;
8 8
 }
9 9
 add_ThickBox();
10 10
 ?>
@@ -14,18 +14,18 @@  discard block
 block discarded – undo
14 14
 	<?php if ( $tabs ) { ?>
15 15
 		<nav class="nav-tab-wrapper wpi-nav-tab-wrapper">
16 16
 			<?php
17
-			foreach ( $tabs as $name => $label ) {
18
-				echo '<a href="' . esc_url( admin_url( 'admin.php?page=wpi-addons&tab=' . $name ) ) . '" class="nav-tab ' . ( $current_tab == $name ? 'nav-tab-active' : '' ) . '">' . esc_html( $label ) . '</a>';
19
-			}
20
-			do_action( 'wpi_addons_tabs' );
21
-			?>
17
+            foreach ( $tabs as $name => $label ) {
18
+                echo '<a href="' . esc_url( admin_url( 'admin.php?page=wpi-addons&tab=' . $name ) ) . '" class="nav-tab ' . ( $current_tab == $name ? 'nav-tab-active' : '' ) . '">' . esc_html( $label ) . '</a>';
19
+            }
20
+            do_action( 'wpi_addons_tabs' );
21
+            ?>
22 22
 		</nav>
23 23
 
24 24
 		<?php
25 25
 
26
-		if ( $current_tab == 'membership' ) {
26
+        if ( $current_tab == 'membership' ) {
27 27
 
28
-			?>
28
+            ?>
29 29
 
30 30
 			<div class="wpi-membership-tab-conatiner">
31 31
 				<div class="membership-content">
@@ -36,9 +36,9 @@  discard block
 block discarded – undo
36 36
 					<h2><?php esc_html_e( 'Have a membership key?', 'invoicing' ); ?></h2>
37 37
 					<p>
38 38
 						<?php
39
-						$wpeu_admin = new External_Updates_Admin( 'wpinvoicing.com', '1' );
40
-						echo $wpeu_admin->render_licence_actions( 'wpinvoicing.com', 'membership', array( 95, 106, 108, 12351 ) );
41
-						?>
39
+                        $wpeu_admin = new External_Updates_Admin( 'wpinvoicing.com', '1' );
40
+                        echo $wpeu_admin->render_licence_actions( 'wpinvoicing.com', 'membership', array( 95, 106, 108, 12351 ) );
41
+                        ?>
42 42
 					</p>
43 43
 				<?php } ?>
44 44
 
@@ -48,13 +48,13 @@  discard block
 block discarded – undo
48 48
 							<div class="feature-list">
49 49
 								<ul>
50 50
 									<?php
51
-									$addon_obj = new WPInv_Admin_Addons();
52
-									if ( $addons = $addon_obj->get_section_data( 'addons' ) ) {
53
-										foreach ( $addons as $addon ) {
54
-											echo '<li><i class="far fa-check-circle fa-sm"></i> ' . esc_html( $addon->info->title ) . '</li>';
55
-										}
56
-									}
57
-									?>
51
+                                    $addon_obj = new WPInv_Admin_Addons();
52
+                                    if ( $addons = $addon_obj->get_section_data( 'addons' ) ) {
53
+                                        foreach ( $addons as $addon ) {
54
+                                            echo '<li><i class="far fa-check-circle fa-sm"></i> ' . esc_html( $addon->info->title ) . '</li>';
55
+                                        }
56
+                                    }
57
+                                    ?>
58 58
 									</ul>
59 59
 
60 60
 									<div class="feature-cta">
@@ -65,12 +65,12 @@  discard block
 block discarded – undo
65 65
 									<h3><?php esc_html_e( 'Included Gateways:', 'invoicing' ); ?></h3>
66 66
 									<ul>
67 67
 										<?php
68
-										if ( $addons = $addon_obj->get_section_data( 'gateways' ) ) {
69
-											foreach ( $addons as $addon ) {
70
-												echo '<li><i class="far fa-check-circle fa-sm"></i> ' . esc_html( $addon->info->title ) . '</li>';
71
-											}
72
-										}
73
-										?>
68
+                                        if ( $addons = $addon_obj->get_section_data( 'gateways' ) ) {
69
+                                            foreach ( $addons as $addon ) {
70
+                                                echo '<li><i class="far fa-check-circle fa-sm"></i> ' . esc_html( $addon->info->title ) . '</li>';
71
+                                            }
72
+                                        }
73
+                                        ?>
74 74
 								</ul>
75 75
 							</div>
76 76
 
@@ -81,8 +81,8 @@  discard block
 block discarded – undo
81 81
 						<div class="testimonial-content">
82 82
 							<div class="t-image">
83 83
 								<?php
84
-									echo '<img src="' . plugins_url( 'images/t-image2.png', dirname( __FILE__ ) ) . '" > ';
85
-								?>
84
+                                    echo '<img src="' . plugins_url( 'images/t-image2.png', dirname( __FILE__ ) ) . '" > ';
85
+                                ?>
86 86
 							</div>
87 87
 							<div class="t-content">
88 88
 								<p>
@@ -101,8 +101,8 @@  discard block
 block discarded – undo
101 101
 						<div class="testimonial-content">
102 102
 							<div class="t-image">
103 103
 								<?php
104
-									echo '<img src="' . plugins_url( 'images/t-image1.png', dirname( __FILE__ ) ) . '" > ';
105
-								?>
104
+                                    echo '<img src="' . plugins_url( 'images/t-image1.png', dirname( __FILE__ ) ) . '" > ';
105
+                                ?>
106 106
 							</div>
107 107
 							<div class="t-content">
108 108
 								<p>
@@ -126,26 +126,26 @@  discard block
 block discarded – undo
126 126
 			</div>
127 127
 		</div>
128 128
 			<?php
129
-		} else {
130
-			$installed_plugins = get_plugins();
129
+        } else {
130
+            $installed_plugins = get_plugins();
131 131
             $addon_obj = new WPInv_Admin_Addons();
132
-			if ( $addons = $addon_obj->get_section_data( $current_tab ) ) :
133
-				//print_r($addons);
134
-				?>
132
+            if ( $addons = $addon_obj->get_section_data( $current_tab ) ) :
133
+                //print_r($addons);
134
+                ?>
135 135
 				<ul class="wpi-products">
136 136
                 <?php
137 137
                 foreach ( $addons as $addon ) :
138 138
                         if ( 965 == $addon->info->id ) {
139 139
 continue;}// don't show quote add on
140
-						?>
140
+                        ?>
141 141
                         <li class="wpi-product">
142 142
 								<div class="wpi-product-title">
143 143
 									<h3>
144 144
                                     <?php
145
-										if ( ! empty( $addon->info->excerpt ) ) {
146
-										echo wpi_help_tip( $addon->info->excerpt );
147
-										}
148
-										echo esc_html( $addon->info->title );
145
+                                        if ( ! empty( $addon->info->excerpt ) ) {
146
+                                        echo wpi_help_tip( $addon->info->excerpt );
147
+                                        }
148
+                                        echo esc_html( $addon->info->title );
149 149
                                         ?>
150 150
                                         </h3>
151 151
 								</div>
@@ -156,32 +156,32 @@  discard block
 block discarded – undo
156 156
 									<?php
157 157
                                     endif;
158 158
 
159
-									if ( 'stripe-payment-gateway' == $addon->info->slug ) {
160
-										$addon->info->slug = 'getpaid-stripe-payments';
161
-										$addon->info->link = 'https://wordpress.org/plugins/getpaid-stripe-payments/';
162
-									}
163
-
164
-									if ( isset( $addon->info->link ) && substr( $addon->info->link, 0, 21 ) === 'https://wordpress.org' ) {
165
-										echo '<a href="' . esc_url( admin_url( '/plugin-install.php?tab=plugin-information&plugin=' . $addon->info->slug ) ) . '&width=770&height=660&TB_iframe=true" class="thickbox" >';
166
-										echo '<span class="wpi-product-info">' . __( 'More info', 'invoicing' ) . '</span>';
167
-										echo '</a>';
168
-									} elseif ( isset( $addon->info->link ) && ( substr( $addon->info->link, 0, 23 ) === 'https://wpinvoicing.com' || substr( $addon->info->link, 0, 21 ) === 'https://wpgetpaid.com' ) ) {
169
-										if ( defined( 'WP_EASY_UPDATES_ACTIVE' ) ) {
170
-											$url = admin_url( '/plugin-install.php?tab=plugin-information&plugin=' . $addon->info->slug . '&width=770&height=660&item_id=' . $addon->info->id . '&update_url=https://wpgetpaid.com&TB_iframe=true' );
171
-										} else {
172
-											// if installed show activation link
173
-											if ( isset( $installed_plugins['wp-easy-updates/external-updates.php'] ) ) {
174
-												$url = '#TB_inline?width=600&height=50&inlineId=wpi-wpeu-required-activation';
175
-											} else {
176
-												$url = '#TB_inline?width=600&height=50&inlineId=wpi-wpeu-required-for-external';
177
-											}
178
-										}
179
-										echo '<a href="' . esc_url( $url ) . '" class="thickbox">';
180
-										echo '<span class="wpi-product-info">' . __( 'More info', 'invoicing' ) . '</span>';
181
-										echo '</a>';
182
-									}
183
-
184
-									?>
159
+                                    if ( 'stripe-payment-gateway' == $addon->info->slug ) {
160
+                                        $addon->info->slug = 'getpaid-stripe-payments';
161
+                                        $addon->info->link = 'https://wordpress.org/plugins/getpaid-stripe-payments/';
162
+                                    }
163
+
164
+                                    if ( isset( $addon->info->link ) && substr( $addon->info->link, 0, 21 ) === 'https://wordpress.org' ) {
165
+                                        echo '<a href="' . esc_url( admin_url( '/plugin-install.php?tab=plugin-information&plugin=' . $addon->info->slug ) ) . '&width=770&height=660&TB_iframe=true" class="thickbox" >';
166
+                                        echo '<span class="wpi-product-info">' . __( 'More info', 'invoicing' ) . '</span>';
167
+                                        echo '</a>';
168
+                                    } elseif ( isset( $addon->info->link ) && ( substr( $addon->info->link, 0, 23 ) === 'https://wpinvoicing.com' || substr( $addon->info->link, 0, 21 ) === 'https://wpgetpaid.com' ) ) {
169
+                                        if ( defined( 'WP_EASY_UPDATES_ACTIVE' ) ) {
170
+                                            $url = admin_url( '/plugin-install.php?tab=plugin-information&plugin=' . $addon->info->slug . '&width=770&height=660&item_id=' . $addon->info->id . '&update_url=https://wpgetpaid.com&TB_iframe=true' );
171
+                                        } else {
172
+                                            // if installed show activation link
173
+                                            if ( isset( $installed_plugins['wp-easy-updates/external-updates.php'] ) ) {
174
+                                                $url = '#TB_inline?width=600&height=50&inlineId=wpi-wpeu-required-activation';
175
+                                            } else {
176
+                                                $url = '#TB_inline?width=600&height=50&inlineId=wpi-wpeu-required-for-external';
177
+                                            }
178
+                                        }
179
+                                        echo '<a href="' . esc_url( $url ) . '" class="thickbox">';
180
+                                        echo '<span class="wpi-product-info">' . __( 'More info', 'invoicing' ) . '</span>';
181
+                                        echo '</a>';
182
+                                    }
183
+
184
+                                    ?>
185 185
 
186 186
 								</span>
187 187
 
@@ -189,15 +189,15 @@  discard block
 block discarded – undo
189 189
 								<span class="wpi-product-button">
190 190
 									<?php
191 191
                                     $addon_obj->output_button( $addon );
192
-									?>
192
+                                    ?>
193 193
 								</span>
194 194
 
195 195
 								<span class="wpi-price"><?php //print_r($addon); //echo wp_kses_post( $addon->price ); ?></span></li><?php endforeach; ?></ul>
196 196
 			<?php
197 197
             endif;
198
-		}
198
+        }
199 199
 }
200
-	?>
200
+    ?>
201 201
 
202 202
 
203 203
 	<div class="clearfix" ></div>
@@ -216,8 +216,8 @@  discard block
 block discarded – undo
216 216
 			<input class="wpeu-licence-key" type="text" placeholder="<?php esc_attr_e( 'Enter your licence key', 'invoicing' ); ?>"> <button class="button-primary wpeu-licence-popup-button" ><?php esc_html_e( 'Install', 'invoicing' ); ?></button>
217 217
 			<br>
218 218
 			<?php
219
-			echo sprintf( __( '%1$sFind your licence key here%2$s OR %3$sBuy one here%4$s', 'invoicing' ), '<a href="https://wpinvoicing.com/your-account/" target="_blank">', '</a>', '<a class="wpeu-licence-link" href="https://wpinvoicing.com/downloads/category/addons/" target="_blank">', '</a>' );
220
-			?>
219
+            echo sprintf( __( '%1$sFind your licence key here%2$s OR %3$sBuy one here%4$s', 'invoicing' ), '<a href="https://wpinvoicing.com/your-account/" target="_blank">', '</a>', '<a class="wpeu-licence-link" href="https://wpinvoicing.com/downloads/category/addons/" target="_blank">', '</a>' );
220
+            ?>
221 221
 		</span>
222 222
 	</div>
223 223
 
Please login to merge, or discard this patch.
vendor/ayecode/wp-ayecode-ui/includes/ayecode-ui-settings.php 1 patch
Indentation   +1220 added lines, -1220 removed lines patch added patch discarded remove patch
@@ -13,7 +13,7 @@  discard block
 block discarded – undo
13 13
  * Bail if we are not in WP.
14 14
  */
15 15
 if ( ! defined( 'ABSPATH' ) ) {
16
-	exit;
16
+    exit;
17 17
 }
18 18
 
19 19
 /**
@@ -21,273 +21,273 @@  discard block
 block discarded – undo
21 21
  */
22 22
 if ( ! class_exists( 'AyeCode_UI_Settings' ) ) {
23 23
 
24
-	/**
25
-	 * A Class to be able to change settings for Font Awesome.
26
-	 *
27
-	 * Class AyeCode_UI_Settings
28
-	 * @ver 1.0.0
29
-	 * @todo decide how to implement textdomain
30
-	 */
31
-	class AyeCode_UI_Settings {
32
-
33
-		/**
34
-		 * Class version version.
35
-		 *
36
-		 * @var string
37
-		 */
38
-		public $version = '0.1.68';
39
-
40
-		/**
41
-		 * Class textdomain.
42
-		 *
43
-		 * @var string
44
-		 */
45
-		public $textdomain = 'aui';
46
-
47
-		/**
48
-		 * Latest version of Bootstrap at time of publish published.
49
-		 *
50
-		 * @var string
51
-		 */
52
-		public $latest = "4.5.3";
53
-
54
-		/**
55
-		 * Current version of select2 being used.
56
-		 *
57
-		 * @var string
58
-		 */
59
-		public $select2_version = "4.0.11";
60
-
61
-		/**
62
-		 * The title.
63
-		 *
64
-		 * @var string
65
-		 */
66
-		public $name = 'AyeCode UI';
67
-
68
-		/**
69
-		 * The relative url to the assets.
70
-		 *
71
-		 * @var string
72
-		 */
73
-		public $url = '';
74
-
75
-		/**
76
-		 * Holds the settings values.
77
-		 *
78
-		 * @var array
79
-		 */
80
-		private $settings;
81
-
82
-		/**
83
-		 * AyeCode_UI_Settings instance.
84
-		 *
85
-		 * @access private
86
-		 * @since  1.0.0
87
-		 * @var    AyeCode_UI_Settings There can be only one!
88
-		 */
89
-		private static $instance = null;
90
-
91
-		/**
92
-		 * Main AyeCode_UI_Settings Instance.
93
-		 *
94
-		 * Ensures only one instance of AyeCode_UI_Settings is loaded or can be loaded.
95
-		 *
96
-		 * @since 1.0.0
97
-		 * @static
98
-		 * @return AyeCode_UI_Settings - Main instance.
99
-		 */
100
-		public static function instance() {
101
-			if ( ! isset( self::$instance ) && ! ( self::$instance instanceof AyeCode_UI_Settings ) ) {
102
-
103
-				self::$instance = new AyeCode_UI_Settings;
104
-
105
-				add_action( 'init', array( self::$instance, 'init' ) ); // set settings
106
-
107
-				if ( is_admin() ) {
108
-					add_action( 'admin_menu', array( self::$instance, 'menu_item' ) );
109
-					add_action( 'admin_init', array( self::$instance, 'register_settings' ) );
110
-
111
-					// Maybe show example page
112
-					add_action( 'template_redirect', array( self::$instance,'maybe_show_examples' ) );
113
-				}
24
+    /**
25
+     * A Class to be able to change settings for Font Awesome.
26
+     *
27
+     * Class AyeCode_UI_Settings
28
+     * @ver 1.0.0
29
+     * @todo decide how to implement textdomain
30
+     */
31
+    class AyeCode_UI_Settings {
32
+
33
+        /**
34
+         * Class version version.
35
+         *
36
+         * @var string
37
+         */
38
+        public $version = '0.1.68';
39
+
40
+        /**
41
+         * Class textdomain.
42
+         *
43
+         * @var string
44
+         */
45
+        public $textdomain = 'aui';
46
+
47
+        /**
48
+         * Latest version of Bootstrap at time of publish published.
49
+         *
50
+         * @var string
51
+         */
52
+        public $latest = "4.5.3";
53
+
54
+        /**
55
+         * Current version of select2 being used.
56
+         *
57
+         * @var string
58
+         */
59
+        public $select2_version = "4.0.11";
60
+
61
+        /**
62
+         * The title.
63
+         *
64
+         * @var string
65
+         */
66
+        public $name = 'AyeCode UI';
67
+
68
+        /**
69
+         * The relative url to the assets.
70
+         *
71
+         * @var string
72
+         */
73
+        public $url = '';
74
+
75
+        /**
76
+         * Holds the settings values.
77
+         *
78
+         * @var array
79
+         */
80
+        private $settings;
81
+
82
+        /**
83
+         * AyeCode_UI_Settings instance.
84
+         *
85
+         * @access private
86
+         * @since  1.0.0
87
+         * @var    AyeCode_UI_Settings There can be only one!
88
+         */
89
+        private static $instance = null;
90
+
91
+        /**
92
+         * Main AyeCode_UI_Settings Instance.
93
+         *
94
+         * Ensures only one instance of AyeCode_UI_Settings is loaded or can be loaded.
95
+         *
96
+         * @since 1.0.0
97
+         * @static
98
+         * @return AyeCode_UI_Settings - Main instance.
99
+         */
100
+        public static function instance() {
101
+            if ( ! isset( self::$instance ) && ! ( self::$instance instanceof AyeCode_UI_Settings ) ) {
102
+
103
+                self::$instance = new AyeCode_UI_Settings;
104
+
105
+                add_action( 'init', array( self::$instance, 'init' ) ); // set settings
106
+
107
+                if ( is_admin() ) {
108
+                    add_action( 'admin_menu', array( self::$instance, 'menu_item' ) );
109
+                    add_action( 'admin_init', array( self::$instance, 'register_settings' ) );
110
+
111
+                    // Maybe show example page
112
+                    add_action( 'template_redirect', array( self::$instance,'maybe_show_examples' ) );
113
+                }
114 114
 
115
-				add_action( 'customize_register', array( self::$instance, 'customizer_settings' ));
115
+                add_action( 'customize_register', array( self::$instance, 'customizer_settings' ));
116 116
 
117
-				do_action( 'ayecode_ui_settings_loaded' );
118
-			}
117
+                do_action( 'ayecode_ui_settings_loaded' );
118
+            }
119 119
 
120
-			return self::$instance;
121
-		}
120
+            return self::$instance;
121
+        }
122 122
 
123
-		/**
124
-		 * Setup some constants.
125
-		 */
126
-		public function constants(){
127
-			define('AUI_PRIMARY_COLOR_ORIGINAL', "#1e73be");
128
-			define('AUI_SECONDARY_COLOR_ORIGINAL', '#6c757d');
129
-			if (!defined('AUI_PRIMARY_COLOR')) define('AUI_PRIMARY_COLOR', AUI_PRIMARY_COLOR_ORIGINAL);
130
-			if (!defined('AUI_SECONDARY_COLOR')) define('AUI_SECONDARY_COLOR', AUI_SECONDARY_COLOR_ORIGINAL);
131
-		}
123
+        /**
124
+         * Setup some constants.
125
+         */
126
+        public function constants(){
127
+            define('AUI_PRIMARY_COLOR_ORIGINAL', "#1e73be");
128
+            define('AUI_SECONDARY_COLOR_ORIGINAL', '#6c757d');
129
+            if (!defined('AUI_PRIMARY_COLOR')) define('AUI_PRIMARY_COLOR', AUI_PRIMARY_COLOR_ORIGINAL);
130
+            if (!defined('AUI_SECONDARY_COLOR')) define('AUI_SECONDARY_COLOR', AUI_SECONDARY_COLOR_ORIGINAL);
131
+        }
132 132
 
133
-		/**
134
-		 * Initiate the settings and add the required action hooks.
135
-		 */
136
-		public function init() {
137
-
138
-			// Maybe fix settings
139
-			if ( ! empty( $_REQUEST['aui-fix-admin'] ) && !empty($_REQUEST['nonce']) && wp_verify_nonce( $_REQUEST['nonce'], "aui-fix-admin" ) ) {
140
-				$db_settings = get_option( 'ayecode-ui-settings' );
141
-				if ( ! empty( $db_settings ) ) {
142
-					$db_settings['css_backend'] = 'compatibility';
143
-					$db_settings['js_backend'] = 'core-popper';
144
-					update_option( 'ayecode-ui-settings', $db_settings );
145
-					wp_safe_redirect(admin_url("options-general.php?page=ayecode-ui-settings&updated=true"));
146
-				}
147
-			}
133
+        /**
134
+         * Initiate the settings and add the required action hooks.
135
+         */
136
+        public function init() {
137
+
138
+            // Maybe fix settings
139
+            if ( ! empty( $_REQUEST['aui-fix-admin'] ) && !empty($_REQUEST['nonce']) && wp_verify_nonce( $_REQUEST['nonce'], "aui-fix-admin" ) ) {
140
+                $db_settings = get_option( 'ayecode-ui-settings' );
141
+                if ( ! empty( $db_settings ) ) {
142
+                    $db_settings['css_backend'] = 'compatibility';
143
+                    $db_settings['js_backend'] = 'core-popper';
144
+                    update_option( 'ayecode-ui-settings', $db_settings );
145
+                    wp_safe_redirect(admin_url("options-general.php?page=ayecode-ui-settings&updated=true"));
146
+                }
147
+            }
148 148
 
149
-			$this->constants();
150
-			$this->settings = $this->get_settings();
151
-			$this->url = $this->get_url();
149
+            $this->constants();
150
+            $this->settings = $this->get_settings();
151
+            $this->url = $this->get_url();
152
+
153
+            /**
154
+             * Maybe load CSS
155
+             *
156
+             * We load super early in case there is a theme version that might change the colors
157
+             */
158
+            if ( $this->settings['css'] ) {
159
+                $priority = $this->is_bs3_compat() ? 100 : 1;
160
+                add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_style' ), $priority );
161
+            }
162
+            if ( $this->settings['css_backend'] && $this->load_admin_scripts() ) {
163
+                add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_style' ), 1 );
164
+            }
152 165
 
153
-			/**
154
-			 * Maybe load CSS
155
-			 *
156
-			 * We load super early in case there is a theme version that might change the colors
157
-			 */
158
-			if ( $this->settings['css'] ) {
159
-				$priority = $this->is_bs3_compat() ? 100 : 1;
160
-				add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_style' ), $priority );
161
-			}
162
-			if ( $this->settings['css_backend'] && $this->load_admin_scripts() ) {
163
-				add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_style' ), 1 );
164
-			}
165
-
166
-			// maybe load JS
167
-			if ( $this->settings['js'] ) {
168
-				$priority = $this->is_bs3_compat() ? 100 : 1;
169
-				add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), $priority );
170
-			}
171
-			if ( $this->settings['js_backend'] && $this->load_admin_scripts() ) {
172
-				add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 1 );
173
-			}
174
-
175
-			// Maybe set the HTML font size
176
-			if ( $this->settings['html_font_size'] ) {
177
-				add_action( 'wp_footer', array( $this, 'html_font_size' ), 10 );
178
-			}
179
-
180
-			// Maybe show backend style error
181
-			if( $this->settings['css_backend'] != 'compatibility' || $this->settings['js_backend'] != 'core-popper' ){
182
-				add_action( 'admin_notices', array( $this, 'show_admin_style_notice' ) );
183
-			}
166
+            // maybe load JS
167
+            if ( $this->settings['js'] ) {
168
+                $priority = $this->is_bs3_compat() ? 100 : 1;
169
+                add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), $priority );
170
+            }
171
+            if ( $this->settings['js_backend'] && $this->load_admin_scripts() ) {
172
+                add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 1 );
173
+            }
184 174
 
185
-		}
175
+            // Maybe set the HTML font size
176
+            if ( $this->settings['html_font_size'] ) {
177
+                add_action( 'wp_footer', array( $this, 'html_font_size' ), 10 );
178
+            }
186 179
 
187
-		/**
188
-		 * Show admin notice if backend scripts not loaded.
189
-		 */
190
-		public function show_admin_style_notice(){
191
-			$fix_url = admin_url("options-general.php?page=ayecode-ui-settings&aui-fix-admin=true&nonce=".wp_create_nonce('aui-fix-admin'));
192
-			$button = '<a href="'.esc_url($fix_url).'" class="button-primary">Fix Now</a>';
193
-			$message = __( '<b>Style Issue:</b> AyeCode UI is disable or set wrong.')." " .$button;
194
-			echo '<div class="notice notice-error aui-settings-error-notice"><p>'.$message.'</p></div>';
195
-		}
180
+            // Maybe show backend style error
181
+            if( $this->settings['css_backend'] != 'compatibility' || $this->settings['js_backend'] != 'core-popper' ){
182
+                add_action( 'admin_notices', array( $this, 'show_admin_style_notice' ) );
183
+            }
196 184
 
197
-		/**
198
-		 * Check if we should load the admin scripts or not.
199
-		 *
200
-		 * @return bool
201
-		 */
202
-		public function load_admin_scripts(){
203
-			$result = true;
204
-
205
-			// check if specifically disabled
206
-			if(!empty($this->settings['disable_admin'])){
207
-				$url_parts = explode("\n",$this->settings['disable_admin']);
208
-				foreach($url_parts as $part){
209
-					if( strpos($_SERVER['REQUEST_URI'], trim($part)) !== false ){
210
-						return false; // return early, no point checking further
211
-					}
212
-				}
213
-			}
185
+        }
214 186
 
215
-			return $result;
216
-		}
187
+        /**
188
+         * Show admin notice if backend scripts not loaded.
189
+         */
190
+        public function show_admin_style_notice(){
191
+            $fix_url = admin_url("options-general.php?page=ayecode-ui-settings&aui-fix-admin=true&nonce=".wp_create_nonce('aui-fix-admin'));
192
+            $button = '<a href="'.esc_url($fix_url).'" class="button-primary">Fix Now</a>';
193
+            $message = __( '<b>Style Issue:</b> AyeCode UI is disable or set wrong.')." " .$button;
194
+            echo '<div class="notice notice-error aui-settings-error-notice"><p>'.$message.'</p></div>';
195
+        }
217 196
 
218
-		/**
219
-		 * Add a html font size to the footer.
220
-		 */
221
-		public function html_font_size(){
222
-			$this->settings = $this->get_settings();
223
-			echo "<style>html{font-size:".absint($this->settings['html_font_size'])."px;}</style>";
224
-		}
197
+        /**
198
+         * Check if we should load the admin scripts or not.
199
+         *
200
+         * @return bool
201
+         */
202
+        public function load_admin_scripts(){
203
+            $result = true;
204
+
205
+            // check if specifically disabled
206
+            if(!empty($this->settings['disable_admin'])){
207
+                $url_parts = explode("\n",$this->settings['disable_admin']);
208
+                foreach($url_parts as $part){
209
+                    if( strpos($_SERVER['REQUEST_URI'], trim($part)) !== false ){
210
+                        return false; // return early, no point checking further
211
+                    }
212
+                }
213
+            }
214
+
215
+            return $result;
216
+        }
217
+
218
+        /**
219
+         * Add a html font size to the footer.
220
+         */
221
+        public function html_font_size(){
222
+            $this->settings = $this->get_settings();
223
+            echo "<style>html{font-size:".absint($this->settings['html_font_size'])."px;}</style>";
224
+        }
225 225
 
226
-		/**
227
-		 * Check if the current admin screen should load scripts.
228
-		 * 
229
-		 * @return bool
230
-		 */
231
-		public function is_aui_screen(){
226
+        /**
227
+         * Check if the current admin screen should load scripts.
228
+         * 
229
+         * @return bool
230
+         */
231
+        public function is_aui_screen(){
232 232
 //			echo '###';exit;
233
-			$load = false;
234
-			// check if we should load or not
235
-			if ( is_admin() ) {
236
-				// Only enable on set pages
237
-				$aui_screens = array(
238
-					'page',
239
-					'post',
240
-					'settings_page_ayecode-ui-settings',
241
-					'appearance_page_gutenberg-widgets',
242
-					'widgets',
243
-					'ayecode-ui-settings',
244
-					'site-editor'
245
-				);
246
-				$screen_ids = apply_filters( 'aui_screen_ids', $aui_screens );
247
-
248
-				$screen = get_current_screen();
233
+            $load = false;
234
+            // check if we should load or not
235
+            if ( is_admin() ) {
236
+                // Only enable on set pages
237
+                $aui_screens = array(
238
+                    'page',
239
+                    'post',
240
+                    'settings_page_ayecode-ui-settings',
241
+                    'appearance_page_gutenberg-widgets',
242
+                    'widgets',
243
+                    'ayecode-ui-settings',
244
+                    'site-editor'
245
+                );
246
+                $screen_ids = apply_filters( 'aui_screen_ids', $aui_screens );
247
+
248
+                $screen = get_current_screen();
249 249
 
250 250
 //				echo '###'.$screen->id;
251 251
 
252
-				// check if we are on a AUI screen
253
-				if ( $screen && in_array( $screen->id, $screen_ids ) ) {
254
-					$load = true;
255
-				}
252
+                // check if we are on a AUI screen
253
+                if ( $screen && in_array( $screen->id, $screen_ids ) ) {
254
+                    $load = true;
255
+                }
256 256
 
257
-				//load for widget previews in WP 5.8
258
-				if( !empty($_REQUEST['legacy-widget-preview'])){
259
-					$load = true;
260
-				}
261
-			}
257
+                //load for widget previews in WP 5.8
258
+                if( !empty($_REQUEST['legacy-widget-preview'])){
259
+                    $load = true;
260
+                }
261
+            }
262 262
 
263
-			return apply_filters( 'aui_load_on_admin' , $load );
264
-		}
263
+            return apply_filters( 'aui_load_on_admin' , $load );
264
+        }
265 265
 
266
-		/**
267
-		 * Adds the styles.
268
-		 */
269
-		public function enqueue_style() {
266
+        /**
267
+         * Adds the styles.
268
+         */
269
+        public function enqueue_style() {
270 270
 
271 271
 
272
-			if( is_admin() && !$this->is_aui_screen()){
273
-				// don't add wp-admin scripts if not requested to
274
-			}else{
275
-				$css_setting = current_action() == 'wp_enqueue_scripts' ? 'css' : 'css_backend';
272
+            if( is_admin() && !$this->is_aui_screen()){
273
+                // don't add wp-admin scripts if not requested to
274
+            }else{
275
+                $css_setting = current_action() == 'wp_enqueue_scripts' ? 'css' : 'css_backend';
276 276
 
277
-				$rtl = is_rtl() ? '-rtl' : '';
277
+                $rtl = is_rtl() ? '-rtl' : '';
278 278
 
279
-				if($this->settings[$css_setting]){
280
-					$compatibility = $this->settings[$css_setting]=='core' ? false : true;
281
-					$url = $this->settings[$css_setting]=='core' ? $this->url.'assets/css/ayecode-ui'.$rtl.'.css' : $this->url.'assets/css/ayecode-ui-compatibility'.$rtl.'.css';
282
-					wp_register_style( 'ayecode-ui', $url, array(), $this->version );
283
-					wp_enqueue_style( 'ayecode-ui' );
279
+                if($this->settings[$css_setting]){
280
+                    $compatibility = $this->settings[$css_setting]=='core' ? false : true;
281
+                    $url = $this->settings[$css_setting]=='core' ? $this->url.'assets/css/ayecode-ui'.$rtl.'.css' : $this->url.'assets/css/ayecode-ui-compatibility'.$rtl.'.css';
282
+                    wp_register_style( 'ayecode-ui', $url, array(), $this->version );
283
+                    wp_enqueue_style( 'ayecode-ui' );
284 284
 
285
-					// flatpickr
286
-					wp_register_style( 'flatpickr', $this->url.'assets/css/flatpickr.min.css', array(), $this->version );
285
+                    // flatpickr
286
+                    wp_register_style( 'flatpickr', $this->url.'assets/css/flatpickr.min.css', array(), $this->version );
287 287
 
288
-					// fix some wp-admin issues
289
-					if(is_admin()){
290
-						$custom_css = "
288
+                    // fix some wp-admin issues
289
+                    if(is_admin()){
290
+                        $custom_css = "
291 291
                 body{
292 292
                     background-color: #f1f1f1;
293 293
                     font-family: -apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;
@@ -333,35 +333,35 @@  discard block
 block discarded – undo
333 333
 				}
334 334
                 ";
335 335
 
336
-						// @todo, remove once fixed :: fix for this bug https://github.com/WordPress/gutenberg/issues/14377
337
-						$custom_css .= "
336
+                        // @todo, remove once fixed :: fix for this bug https://github.com/WordPress/gutenberg/issues/14377
337
+                        $custom_css .= "
338 338
 						.edit-post-sidebar input[type=color].components-text-control__input{
339 339
 						    padding: 0;
340 340
 						}
341 341
 					";
342
-						wp_add_inline_style( 'ayecode-ui', $custom_css );
343
-					}
342
+                        wp_add_inline_style( 'ayecode-ui', $custom_css );
343
+                    }
344 344
 
345
-					// custom changes
346
-					wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) );
345
+                    // custom changes
346
+                    wp_add_inline_style( 'ayecode-ui', self::custom_css($compatibility) );
347 347
 
348
-				}
349
-			}
348
+                }
349
+            }
350 350
 
351 351
 
352
-		}
352
+        }
353 353
 
354
-		/**
355
-		 * Get inline script used if bootstrap enqueued
356
-		 *
357
-		 * If this remains small then its best to use this than to add another JS file.
358
-		 */
359
-		public function inline_script() {
360
-			// Flatpickr calendar locale
361
-			$flatpickr_locale = self::flatpickr_locale();
362
-
363
-			ob_start();
364
-			?>
354
+        /**
355
+         * Get inline script used if bootstrap enqueued
356
+         *
357
+         * If this remains small then its best to use this than to add another JS file.
358
+         */
359
+        public function inline_script() {
360
+            // Flatpickr calendar locale
361
+            $flatpickr_locale = self::flatpickr_locale();
362
+
363
+            ob_start();
364
+            ?>
365 365
 			<script>
366 366
 				/**
367 367
 				 * An AUI bootstrap adaptation of GreedyNav.js ( by Luke Jackson ).
@@ -1196,29 +1196,29 @@  discard block
 block discarded – undo
1196 1196
 				}
1197 1197
 			</script>
1198 1198
 			<?php
1199
-			$output = ob_get_clean();
1199
+            $output = ob_get_clean();
1200 1200
 
1201 1201
 
1202 1202
 
1203
-			/*
1203
+            /*
1204 1204
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1205 1205
 			 */
1206
-			return str_replace( array(
1207
-				'<script>',
1208
-				'</script>'
1209
-			), '', self::minify_js($output) );
1210
-		}
1206
+            return str_replace( array(
1207
+                '<script>',
1208
+                '</script>'
1209
+            ), '', self::minify_js($output) );
1210
+        }
1211 1211
 
1212 1212
 
1213
-		/**
1214
-		 * JS to help with conflict issues with other plugins and themes using bootstrap v3.
1215
-		 *
1216
-		 * @TODO we may need this when other conflicts arrise.
1217
-		 * @return mixed
1218
-		 */
1219
-		public static function bs3_compat_js() {
1220
-			ob_start();
1221
-			?>
1213
+        /**
1214
+         * JS to help with conflict issues with other plugins and themes using bootstrap v3.
1215
+         *
1216
+         * @TODO we may need this when other conflicts arrise.
1217
+         * @return mixed
1218
+         */
1219
+        public static function bs3_compat_js() {
1220
+            ob_start();
1221
+            ?>
1222 1222
 			<script>
1223 1223
 				<?php if( defined( 'FUSION_BUILDER_VERSION' ) ){ ?>
1224 1224
 				/* With Avada builder */
@@ -1226,20 +1226,20 @@  discard block
 block discarded – undo
1226 1226
 				<?php } ?>
1227 1227
 			</script>
1228 1228
 			<?php
1229
-			return str_replace( array(
1230
-				'<script>',
1231
-				'</script>'
1232
-			), '', ob_get_clean());
1233
-		}
1229
+            return str_replace( array(
1230
+                '<script>',
1231
+                '</script>'
1232
+            ), '', ob_get_clean());
1233
+        }
1234 1234
 
1235
-		/**
1236
-		 * Get inline script used if bootstrap file browser enqueued.
1237
-		 *
1238
-		 * If this remains small then its best to use this than to add another JS file.
1239
-		 */
1240
-		public function inline_script_file_browser(){
1241
-			ob_start();
1242
-			?>
1235
+        /**
1236
+         * Get inline script used if bootstrap file browser enqueued.
1237
+         *
1238
+         * If this remains small then its best to use this than to add another JS file.
1239
+         */
1240
+        public function inline_script_file_browser(){
1241
+            ob_start();
1242
+            ?>
1243 1243
 			<script>
1244 1244
 				// run on doc ready
1245 1245
 				jQuery(document).ready(function () {
@@ -1247,203 +1247,203 @@  discard block
 block discarded – undo
1247 1247
 				});
1248 1248
 			</script>
1249 1249
 			<?php
1250
-			$output = ob_get_clean();
1250
+            $output = ob_get_clean();
1251 1251
 
1252
-			/*
1252
+            /*
1253 1253
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1254 1254
 			 */
1255
-			return str_replace( array(
1256
-				'<script>',
1257
-				'</script>'
1258
-			), '', $output );
1259
-		}
1255
+            return str_replace( array(
1256
+                '<script>',
1257
+                '</script>'
1258
+            ), '', $output );
1259
+        }
1260 1260
 
1261
-		/**
1262
-		 * Adds the Font Awesome JS.
1263
-		 */
1264
-		public function enqueue_scripts() {
1261
+        /**
1262
+         * Adds the Font Awesome JS.
1263
+         */
1264
+        public function enqueue_scripts() {
1265 1265
 
1266
-			if( is_admin() && !$this->is_aui_screen()){
1267
-				// don't add wp-admin scripts if not requested to
1268
-			}else {
1266
+            if( is_admin() && !$this->is_aui_screen()){
1267
+                // don't add wp-admin scripts if not requested to
1268
+            }else {
1269 1269
 
1270
-				$js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend';
1270
+                $js_setting = current_action() == 'wp_enqueue_scripts' ? 'js' : 'js_backend';
1271 1271
 
1272
-				// select2
1273
-				wp_register_script( 'select2', $this->url . 'assets/js/select2.min.js', array( 'jquery' ), $this->select2_version );
1272
+                // select2
1273
+                wp_register_script( 'select2', $this->url . 'assets/js/select2.min.js', array( 'jquery' ), $this->select2_version );
1274 1274
 
1275
-				// flatpickr
1276
-				wp_register_script( 'flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->version );
1275
+                // flatpickr
1276
+                wp_register_script( 'flatpickr', $this->url . 'assets/js/flatpickr.min.js', array(), $this->version );
1277 1277
 
1278
-				// flatpickr
1279
-				wp_register_script( 'iconpicker', $this->url . 'assets/js/fontawesome-iconpicker.min.js', array(), $this->version );
1278
+                // flatpickr
1279
+                wp_register_script( 'iconpicker', $this->url . 'assets/js/fontawesome-iconpicker.min.js', array(), $this->version );
1280 1280
 				
1281
-				// Bootstrap file browser
1282
-				wp_register_script( 'aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array( 'jquery' ), $this->select2_version );
1283
-				wp_add_inline_script( 'aui-custom-file-input', $this->inline_script_file_browser() );
1284
-
1285
-				$load_inline = false;
1286
-
1287
-				if ( $this->settings[ $js_setting ] == 'core-popper' ) {
1288
-					// Bootstrap bundle
1289
-					$url = $this->url . 'assets/js/bootstrap.bundle.min.js';
1290
-					wp_register_script( 'bootstrap-js-bundle', $url, array(
1291
-						'select2',
1292
-						'jquery'
1293
-					), $this->version, $this->is_bs3_compat() );
1294
-					// if in admin then add to footer for compatibility.
1295
-					is_admin() ? wp_enqueue_script( 'bootstrap-js-bundle', '', null, null, true ) : wp_enqueue_script( 'bootstrap-js-bundle' );
1296
-					$script = $this->inline_script();
1297
-					wp_add_inline_script( 'bootstrap-js-bundle', $script );
1298
-				} elseif ( $this->settings[ $js_setting ] == 'popper' ) {
1299
-					$url = $this->url . 'assets/js/popper.min.js';
1300
-					wp_register_script( 'bootstrap-js-popper', $url, array( 'select2', 'jquery' ), $this->version );
1301
-					wp_enqueue_script( 'bootstrap-js-popper' );
1302
-					$load_inline = true;
1303
-				} else {
1304
-					$load_inline = true;
1305
-				}
1281
+                // Bootstrap file browser
1282
+                wp_register_script( 'aui-custom-file-input', $url = $this->url . 'assets/js/bs-custom-file-input.min.js', array( 'jquery' ), $this->select2_version );
1283
+                wp_add_inline_script( 'aui-custom-file-input', $this->inline_script_file_browser() );
1284
+
1285
+                $load_inline = false;
1286
+
1287
+                if ( $this->settings[ $js_setting ] == 'core-popper' ) {
1288
+                    // Bootstrap bundle
1289
+                    $url = $this->url . 'assets/js/bootstrap.bundle.min.js';
1290
+                    wp_register_script( 'bootstrap-js-bundle', $url, array(
1291
+                        'select2',
1292
+                        'jquery'
1293
+                    ), $this->version, $this->is_bs3_compat() );
1294
+                    // if in admin then add to footer for compatibility.
1295
+                    is_admin() ? wp_enqueue_script( 'bootstrap-js-bundle', '', null, null, true ) : wp_enqueue_script( 'bootstrap-js-bundle' );
1296
+                    $script = $this->inline_script();
1297
+                    wp_add_inline_script( 'bootstrap-js-bundle', $script );
1298
+                } elseif ( $this->settings[ $js_setting ] == 'popper' ) {
1299
+                    $url = $this->url . 'assets/js/popper.min.js';
1300
+                    wp_register_script( 'bootstrap-js-popper', $url, array( 'select2', 'jquery' ), $this->version );
1301
+                    wp_enqueue_script( 'bootstrap-js-popper' );
1302
+                    $load_inline = true;
1303
+                } else {
1304
+                    $load_inline = true;
1305
+                }
1306 1306
 
1307
-				// Load needed inline scripts by faking the loading of a script if the main script is not being loaded
1308
-				if ( $load_inline ) {
1309
-					wp_register_script( 'bootstrap-dummy', '', array( 'select2', 'jquery' ) );
1310
-					wp_enqueue_script( 'bootstrap-dummy' );
1311
-					$script = $this->inline_script();
1312
-					wp_add_inline_script( 'bootstrap-dummy', $script );
1313
-				}
1314
-			}
1307
+                // Load needed inline scripts by faking the loading of a script if the main script is not being loaded
1308
+                if ( $load_inline ) {
1309
+                    wp_register_script( 'bootstrap-dummy', '', array( 'select2', 'jquery' ) );
1310
+                    wp_enqueue_script( 'bootstrap-dummy' );
1311
+                    $script = $this->inline_script();
1312
+                    wp_add_inline_script( 'bootstrap-dummy', $script );
1313
+                }
1314
+            }
1315 1315
 
1316
-		}
1316
+        }
1317 1317
 
1318
-		/**
1319
-		 * Enqueue flatpickr if called.
1320
-		 */
1321
-		public function enqueue_flatpickr(){
1322
-			wp_enqueue_style( 'flatpickr' );
1323
-			wp_enqueue_script( 'flatpickr' );
1324
-		}
1318
+        /**
1319
+         * Enqueue flatpickr if called.
1320
+         */
1321
+        public function enqueue_flatpickr(){
1322
+            wp_enqueue_style( 'flatpickr' );
1323
+            wp_enqueue_script( 'flatpickr' );
1324
+        }
1325 1325
 
1326
-		/**
1327
-		 * Enqueue iconpicker if called.
1328
-		 */
1329
-		public function enqueue_iconpicker(){
1330
-			wp_enqueue_style( 'iconpicker' );
1331
-			wp_enqueue_script( 'iconpicker' );
1332
-		}
1326
+        /**
1327
+         * Enqueue iconpicker if called.
1328
+         */
1329
+        public function enqueue_iconpicker(){
1330
+            wp_enqueue_style( 'iconpicker' );
1331
+            wp_enqueue_script( 'iconpicker' );
1332
+        }
1333 1333
 
1334
-		/**
1335
-		 * Get the url path to the current folder.
1336
-		 *
1337
-		 * @return string
1338
-		 */
1339
-		public function get_url() {
1334
+        /**
1335
+         * Get the url path to the current folder.
1336
+         *
1337
+         * @return string
1338
+         */
1339
+        public function get_url() {
1340 1340
 
1341
-			$url = '';
1342
-			// check if we are inside a plugin
1343
-			$file_dir = str_replace( "/includes","", wp_normalize_path( dirname( __FILE__ ) ) );
1341
+            $url = '';
1342
+            // check if we are inside a plugin
1343
+            $file_dir = str_replace( "/includes","", wp_normalize_path( dirname( __FILE__ ) ) );
1344 1344
 
1345
-			// add check in-case user has changed wp-content dir name.
1346
-			$wp_content_folder_name = basename(WP_CONTENT_DIR);
1347
-			$dir_parts = explode("/$wp_content_folder_name/",$file_dir);
1348
-			$url_parts = explode("/$wp_content_folder_name/",plugins_url());
1345
+            // add check in-case user has changed wp-content dir name.
1346
+            $wp_content_folder_name = basename(WP_CONTENT_DIR);
1347
+            $dir_parts = explode("/$wp_content_folder_name/",$file_dir);
1348
+            $url_parts = explode("/$wp_content_folder_name/",plugins_url());
1349 1349
 
1350
-			if(!empty($url_parts[0]) && !empty($dir_parts[1])){
1351
-				$url = trailingslashit( $url_parts[0]."/$wp_content_folder_name/".$dir_parts[1] );
1352
-			}
1350
+            if(!empty($url_parts[0]) && !empty($dir_parts[1])){
1351
+                $url = trailingslashit( $url_parts[0]."/$wp_content_folder_name/".$dir_parts[1] );
1352
+            }
1353 1353
 
1354
-			return $url;
1355
-		}
1354
+            return $url;
1355
+        }
1356 1356
 
1357
-		/**
1358
-		 * Register the database settings with WordPress.
1359
-		 */
1360
-		public function register_settings() {
1361
-			register_setting( 'ayecode-ui-settings', 'ayecode-ui-settings' );
1362
-		}
1357
+        /**
1358
+         * Register the database settings with WordPress.
1359
+         */
1360
+        public function register_settings() {
1361
+            register_setting( 'ayecode-ui-settings', 'ayecode-ui-settings' );
1362
+        }
1363 1363
 
1364
-		/**
1365
-		 * Add the WordPress settings menu item.
1366
-		 * @since 1.0.10 Calling function name direct will fail theme check so we don't.
1367
-		 */
1368
-		public function menu_item() {
1369
-			$menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
1370
-			call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array(
1371
-				$this,
1372
-				'settings_page'
1373
-			) );
1374
-		}
1364
+        /**
1365
+         * Add the WordPress settings menu item.
1366
+         * @since 1.0.10 Calling function name direct will fail theme check so we don't.
1367
+         */
1368
+        public function menu_item() {
1369
+            $menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
1370
+            call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'ayecode-ui-settings', array(
1371
+                $this,
1372
+                'settings_page'
1373
+            ) );
1374
+        }
1375 1375
 
1376
-		/**
1377
-		 * Get a list of themes and their default JS settings.
1378
-		 *
1379
-		 * @return array
1380
-		 */
1381
-		public function theme_js_settings(){
1382
-			return array(
1383
-				'ayetheme' => 'popper',
1384
-				'listimia' => 'required',
1385
-				'listimia_backend' => 'core-popper',
1386
-				//'avada'    => 'required', // removed as we now add compatibility
1387
-			);
1388
-		}
1376
+        /**
1377
+         * Get a list of themes and their default JS settings.
1378
+         *
1379
+         * @return array
1380
+         */
1381
+        public function theme_js_settings(){
1382
+            return array(
1383
+                'ayetheme' => 'popper',
1384
+                'listimia' => 'required',
1385
+                'listimia_backend' => 'core-popper',
1386
+                //'avada'    => 'required', // removed as we now add compatibility
1387
+            );
1388
+        }
1389 1389
 
1390
-		/**
1391
-		 * Get the current Font Awesome output settings.
1392
-		 *
1393
-		 * @return array The array of settings.
1394
-		 */
1395
-		public function get_settings() {
1396
-
1397
-			$db_settings = get_option( 'ayecode-ui-settings' );
1398
-			$js_default = 'core-popper';
1399
-			$js_default_backend = $js_default;
1400
-
1401
-			// maybe set defaults (if no settings set)
1402
-			if(empty($db_settings)){
1403
-				$active_theme = strtolower( get_template() ); // active parent theme.
1404
-				$theme_js_settings = self::theme_js_settings();
1405
-				if(isset($theme_js_settings[$active_theme])){
1406
-					$js_default = $theme_js_settings[$active_theme];
1407
-					$js_default_backend = isset($theme_js_settings[$active_theme."_backend"]) ? $theme_js_settings[$active_theme."_backend"] : $js_default;
1408
-				}
1409
-			}
1410
-
1411
-			$defaults = array(
1412
-				'css'       => 'compatibility', // core, compatibility
1413
-				'js'        => $js_default, // js to load, core-popper, popper
1414
-				'html_font_size'        => '16', // js to load, core-popper, popper
1415
-				'css_backend'       => 'compatibility', // core, compatibility
1416
-				'js_backend'        => $js_default_backend, // js to load, core-popper, popper
1417
-				'disable_admin'     =>  '', // URL snippets to disable loading on admin
1418
-			);
1419
-
1420
-			$settings = wp_parse_args( $db_settings, $defaults );
1421
-
1422
-			/**
1423
-			 * Filter the Bootstrap settings.
1424
-			 *
1425
-			 * @todo if we add this filer people might use it and then it defeates the purpose of this class :/
1426
-			 */
1427
-			return $this->settings = apply_filters( 'ayecode-ui-settings', $settings, $db_settings, $defaults );
1428
-		}
1390
+        /**
1391
+         * Get the current Font Awesome output settings.
1392
+         *
1393
+         * @return array The array of settings.
1394
+         */
1395
+        public function get_settings() {
1396
+
1397
+            $db_settings = get_option( 'ayecode-ui-settings' );
1398
+            $js_default = 'core-popper';
1399
+            $js_default_backend = $js_default;
1400
+
1401
+            // maybe set defaults (if no settings set)
1402
+            if(empty($db_settings)){
1403
+                $active_theme = strtolower( get_template() ); // active parent theme.
1404
+                $theme_js_settings = self::theme_js_settings();
1405
+                if(isset($theme_js_settings[$active_theme])){
1406
+                    $js_default = $theme_js_settings[$active_theme];
1407
+                    $js_default_backend = isset($theme_js_settings[$active_theme."_backend"]) ? $theme_js_settings[$active_theme."_backend"] : $js_default;
1408
+                }
1409
+            }
1410
+
1411
+            $defaults = array(
1412
+                'css'       => 'compatibility', // core, compatibility
1413
+                'js'        => $js_default, // js to load, core-popper, popper
1414
+                'html_font_size'        => '16', // js to load, core-popper, popper
1415
+                'css_backend'       => 'compatibility', // core, compatibility
1416
+                'js_backend'        => $js_default_backend, // js to load, core-popper, popper
1417
+                'disable_admin'     =>  '', // URL snippets to disable loading on admin
1418
+            );
1419
+
1420
+            $settings = wp_parse_args( $db_settings, $defaults );
1421
+
1422
+            /**
1423
+             * Filter the Bootstrap settings.
1424
+             *
1425
+             * @todo if we add this filer people might use it and then it defeates the purpose of this class :/
1426
+             */
1427
+            return $this->settings = apply_filters( 'ayecode-ui-settings', $settings, $db_settings, $defaults );
1428
+        }
1429 1429
 
1430 1430
 
1431
-		/**
1432
-		 * The settings page html output.
1433
-		 */
1434
-		public function settings_page() {
1435
-			if ( ! current_user_can( 'manage_options' ) ) {
1436
-				wp_die( __( 'You do not have sufficient permissions to access this page.', 'aui' ) );
1437
-			}
1438
-			?>
1431
+        /**
1432
+         * The settings page html output.
1433
+         */
1434
+        public function settings_page() {
1435
+            if ( ! current_user_can( 'manage_options' ) ) {
1436
+                wp_die( __( 'You do not have sufficient permissions to access this page.', 'aui' ) );
1437
+            }
1438
+            ?>
1439 1439
 			<div class="wrap">
1440 1440
 				<h1><?php echo $this->name; ?></h1>
1441 1441
 				<p><?php esc_html_e("Here you can adjust settings if you are having compatibility issues.",'aui');?></p>
1442 1442
 				<form method="post" action="options.php">
1443 1443
 					<?php
1444
-					settings_fields( 'ayecode-ui-settings' );
1445
-					do_settings_sections( 'ayecode-ui-settings' );
1446
-					?>
1444
+                    settings_fields( 'ayecode-ui-settings' );
1445
+                    do_settings_sections( 'ayecode-ui-settings' );
1446
+                    ?>
1447 1447
 
1448 1448
 					<h2><?php esc_html_e( 'Frontend', 'aui' ); ?></h2>
1449 1449
 					<table class="form-table wpbs-table-settings">
@@ -1523,60 +1523,60 @@  discard block
 block discarded – undo
1523 1523
 					</table>
1524 1524
 
1525 1525
 					<?php
1526
-					submit_button();
1527
-					?>
1526
+                    submit_button();
1527
+                    ?>
1528 1528
 				</form>
1529 1529
 
1530 1530
 				<div id="wpbs-version"><?php echo $this->version; ?></div>
1531 1531
 			</div>
1532 1532
 
1533 1533
 			<?php
1534
-		}
1534
+        }
1535 1535
 
1536
-		public function customizer_settings($wp_customize){
1537
-			$wp_customize->add_section('aui_settings', array(
1538
-				'title'    => __('AyeCode UI','aui'),
1539
-				'priority' => 120,
1540
-			));
1541
-
1542
-			//  =============================
1543
-			//  = Color Picker              =
1544
-			//  =============================
1545
-			$wp_customize->add_setting('aui_options[color_primary]', array(
1546
-				'default'           => AUI_PRIMARY_COLOR,
1547
-				'sanitize_callback' => 'sanitize_hex_color',
1548
-				'capability'        => 'edit_theme_options',
1549
-				'type'              => 'option',
1550
-				'transport'         => 'refresh',
1551
-			));
1552
-			$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_primary', array(
1553
-				'label'    => __('Primary Color','aui'),
1554
-				'section'  => 'aui_settings',
1555
-				'settings' => 'aui_options[color_primary]',
1556
-			)));
1557
-
1558
-			$wp_customize->add_setting('aui_options[color_secondary]', array(
1559
-				'default'           => '#6c757d',
1560
-				'sanitize_callback' => 'sanitize_hex_color',
1561
-				'capability'        => 'edit_theme_options',
1562
-				'type'              => 'option',
1563
-				'transport'         => 'refresh',
1564
-			));
1565
-			$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_secondary', array(
1566
-				'label'    => __('Secondary Color','aui'),
1567
-				'section'  => 'aui_settings',
1568
-				'settings' => 'aui_options[color_secondary]',
1569
-			)));
1570
-		}
1536
+        public function customizer_settings($wp_customize){
1537
+            $wp_customize->add_section('aui_settings', array(
1538
+                'title'    => __('AyeCode UI','aui'),
1539
+                'priority' => 120,
1540
+            ));
1541
+
1542
+            //  =============================
1543
+            //  = Color Picker              =
1544
+            //  =============================
1545
+            $wp_customize->add_setting('aui_options[color_primary]', array(
1546
+                'default'           => AUI_PRIMARY_COLOR,
1547
+                'sanitize_callback' => 'sanitize_hex_color',
1548
+                'capability'        => 'edit_theme_options',
1549
+                'type'              => 'option',
1550
+                'transport'         => 'refresh',
1551
+            ));
1552
+            $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_primary', array(
1553
+                'label'    => __('Primary Color','aui'),
1554
+                'section'  => 'aui_settings',
1555
+                'settings' => 'aui_options[color_primary]',
1556
+            )));
1557
+
1558
+            $wp_customize->add_setting('aui_options[color_secondary]', array(
1559
+                'default'           => '#6c757d',
1560
+                'sanitize_callback' => 'sanitize_hex_color',
1561
+                'capability'        => 'edit_theme_options',
1562
+                'type'              => 'option',
1563
+                'transport'         => 'refresh',
1564
+            ));
1565
+            $wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'color_secondary', array(
1566
+                'label'    => __('Secondary Color','aui'),
1567
+                'section'  => 'aui_settings',
1568
+                'settings' => 'aui_options[color_secondary]',
1569
+            )));
1570
+        }
1571 1571
 
1572
-		/**
1573
-		 * CSS to help with conflict issues with other plugins and themes using bootstrap v3.
1574
-		 *
1575
-		 * @return mixed
1576
-		 */
1577
-		public static function bs3_compat_css() {
1578
-			ob_start();
1579
-			?>
1572
+        /**
1573
+         * CSS to help with conflict issues with other plugins and themes using bootstrap v3.
1574
+         *
1575
+         * @return mixed
1576
+         */
1577
+        public static function bs3_compat_css() {
1578
+            ob_start();
1579
+            ?>
1580 1580
 			<style>
1581 1581
 			/* Bootstrap 3 compatibility */
1582 1582
 			body.modal-open .modal-backdrop.show:not(.in) {opacity:0.5;}
@@ -1605,583 +1605,583 @@  discard block
 block discarded – undo
1605 1605
 			<?php } ?>
1606 1606
 			</style>
1607 1607
 			<?php
1608
-			return str_replace( array(
1609
-				'<style>',
1610
-				'</style>'
1611
-			), '', self::minify_css( ob_get_clean() ) );
1612
-		}
1608
+            return str_replace( array(
1609
+                '<style>',
1610
+                '</style>'
1611
+            ), '', self::minify_css( ob_get_clean() ) );
1612
+        }
1613 1613
 
1614 1614
 
1615
-		public static function custom_css($compatibility = true) {
1616
-			$settings = get_option('aui_options');
1615
+        public static function custom_css($compatibility = true) {
1616
+            $settings = get_option('aui_options');
1617 1617
 
1618
-			ob_start();
1618
+            ob_start();
1619 1619
 
1620
-			$primary_color = !empty($settings['color_primary']) ? $settings['color_primary'] : AUI_PRIMARY_COLOR;
1621
-			$secondary_color = !empty($settings['color_secondary']) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR;
1622
-				//AUI_PRIMARY_COLOR_ORIGINAL
1623
-			?>
1620
+            $primary_color = !empty($settings['color_primary']) ? $settings['color_primary'] : AUI_PRIMARY_COLOR;
1621
+            $secondary_color = !empty($settings['color_secondary']) ? $settings['color_secondary'] : AUI_SECONDARY_COLOR;
1622
+                //AUI_PRIMARY_COLOR_ORIGINAL
1623
+            ?>
1624 1624
 			<style>
1625 1625
 				<?php
1626 1626
 
1627
-					// BS v3 compat
1628
-					if( self::is_bs3_compat() ){
1629
-					    echo self::bs3_compat_css();
1630
-					}
1627
+                    // BS v3 compat
1628
+                    if( self::is_bs3_compat() ){
1629
+                        echo self::bs3_compat_css();
1630
+                    }
1631 1631
 
1632
-					if(!is_admin() && $primary_color != AUI_PRIMARY_COLOR_ORIGINAL){
1633
-						echo self::css_primary($primary_color,$compatibility);
1634
-					}
1632
+                    if(!is_admin() && $primary_color != AUI_PRIMARY_COLOR_ORIGINAL){
1633
+                        echo self::css_primary($primary_color,$compatibility);
1634
+                    }
1635 1635
 
1636
-					if(!is_admin() && $secondary_color != AUI_SECONDARY_COLOR_ORIGINAL){
1637
-						echo self::css_secondary($settings['color_secondary'],$compatibility);
1638
-					}
1636
+                    if(!is_admin() && $secondary_color != AUI_SECONDARY_COLOR_ORIGINAL){
1637
+                        echo self::css_secondary($settings['color_secondary'],$compatibility);
1638
+                    }
1639 1639
 
1640
-					// Set admin bar z-index lower when modal is open.
1641
-					echo ' body.modal-open #wpadminbar{z-index:999}.embed-responsive-16by9 .fluid-width-video-wrapper{padding:0 !important;position:initial}';
1640
+                    // Set admin bar z-index lower when modal is open.
1641
+                    echo ' body.modal-open #wpadminbar{z-index:999}.embed-responsive-16by9 .fluid-width-video-wrapper{padding:0 !important;position:initial}';
1642 1642
 
1643
-					if(is_admin()){
1644
-						echo ' body.modal-open #adminmenuwrap{z-index:999} body.modal-open #wpadminbar{z-index:1025}';
1645
-					}
1643
+                    if(is_admin()){
1644
+                        echo ' body.modal-open #adminmenuwrap{z-index:999} body.modal-open #wpadminbar{z-index:1025}';
1645
+                    }
1646 1646
                 ?>
1647 1647
 			</style>
1648 1648
 			<?php
1649 1649
 
1650 1650
 
1651
-			/*
1651
+            /*
1652 1652
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1653 1653
 			 */
1654
-			return str_replace( array(
1655
-				'<style>',
1656
-				'</style>'
1657
-			), '', self::minify_css( ob_get_clean() ) );
1658
-		}
1654
+            return str_replace( array(
1655
+                '<style>',
1656
+                '</style>'
1657
+            ), '', self::minify_css( ob_get_clean() ) );
1658
+        }
1659 1659
 
1660
-		/**
1661
-		 * Check if we should add booststrap 3 compatibility changes.
1662
-		 *
1663
-		 * @return bool
1664
-		 */
1665
-		public static function is_bs3_compat(){
1666
-			return defined('AYECODE_UI_BS3_COMPAT') || defined('SVQ_THEME_VERSION') || defined('FUSION_BUILDER_VERSION');
1667
-		}
1660
+        /**
1661
+         * Check if we should add booststrap 3 compatibility changes.
1662
+         *
1663
+         * @return bool
1664
+         */
1665
+        public static function is_bs3_compat(){
1666
+            return defined('AYECODE_UI_BS3_COMPAT') || defined('SVQ_THEME_VERSION') || defined('FUSION_BUILDER_VERSION');
1667
+        }
1668 1668
 
1669
-		public static function css_primary($color_code,$compatibility){;
1670
-			$color_code = sanitize_hex_color($color_code);
1671
-			if(!$color_code){return '';}
1672
-			/**
1673
-			 * c = color, b = background color, o = border-color, f = fill
1674
-			 */
1675
-			$selectors = array(
1676
-				'a' => array('c'),
1677
-				'.btn-primary' => array('b','o'),
1678
-				'.btn-primary.disabled' => array('b','o'),
1679
-				'.btn-primary:disabled' => array('b','o'),
1680
-				'.btn-outline-primary' => array('c','o'),
1681
-				'.btn-outline-primary:hover' => array('b','o'),
1682
-				'.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'),
1683
-				'.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'),
1684
-				'.show>.btn-outline-primary.dropdown-toggle' => array('b','o'),
1685
-				'.btn-link' => array('c'),
1686
-				'.dropdown-item.active' => array('b'),
1687
-				'.custom-control-input:checked~.custom-control-label::before' => array('b','o'),
1688
-				'.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'),
1669
+        public static function css_primary($color_code,$compatibility){;
1670
+            $color_code = sanitize_hex_color($color_code);
1671
+            if(!$color_code){return '';}
1672
+            /**
1673
+             * c = color, b = background color, o = border-color, f = fill
1674
+             */
1675
+            $selectors = array(
1676
+                'a' => array('c'),
1677
+                '.btn-primary' => array('b','o'),
1678
+                '.btn-primary.disabled' => array('b','o'),
1679
+                '.btn-primary:disabled' => array('b','o'),
1680
+                '.btn-outline-primary' => array('c','o'),
1681
+                '.btn-outline-primary:hover' => array('b','o'),
1682
+                '.btn-outline-primary:not(:disabled):not(.disabled).active' => array('b','o'),
1683
+                '.btn-outline-primary:not(:disabled):not(.disabled):active' => array('b','o'),
1684
+                '.show>.btn-outline-primary.dropdown-toggle' => array('b','o'),
1685
+                '.btn-link' => array('c'),
1686
+                '.dropdown-item.active' => array('b'),
1687
+                '.custom-control-input:checked~.custom-control-label::before' => array('b','o'),
1688
+                '.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before' => array('b','o'),
1689 1689
 //				'.custom-range::-webkit-slider-thumb' => array('b'), // these break the inline rules...
1690 1690
 //				'.custom-range::-moz-range-thumb' => array('b'),
1691 1691
 //				'.custom-range::-ms-thumb' => array('b'),
1692
-				'.nav-pills .nav-link.active' => array('b'),
1693
-				'.nav-pills .show>.nav-link' => array('b'),
1694
-				'.page-link' => array('c'),
1695
-				'.page-item.active .page-link' => array('b','o'),
1696
-				'.badge-primary' => array('b'),
1697
-				'.alert-primary' => array('b','o'),
1698
-				'.progress-bar' => array('b'),
1699
-				'.list-group-item.active' => array('b','o'),
1700
-				'.bg-primary' => array('b','f'),
1701
-				'.btn-link.btn-primary' => array('c'),
1702
-				'.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1703
-			);
1704
-
1705
-			$important_selectors = array(
1706
-				'.bg-primary' => array('b','f'),
1707
-				'.border-primary' => array('o'),
1708
-				'.text-primary' => array('c'),
1709
-			);
1710
-
1711
-			$color = array();
1712
-			$color_i = array();
1713
-			$background = array();
1714
-			$background_i = array();
1715
-			$border = array();
1716
-			$border_i = array();
1717
-			$fill = array();
1718
-			$fill_i = array();
1719
-
1720
-			$output = '';
1721
-
1722
-			// build rules into each type
1723
-			foreach($selectors as $selector => $types){
1724
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1725
-				$types = array_combine($types,$types);
1726
-				if(isset($types['c'])){$color[] = $selector;}
1727
-				if(isset($types['b'])){$background[] = $selector;}
1728
-				if(isset($types['o'])){$border[] = $selector;}
1729
-				if(isset($types['f'])){$fill[] = $selector;}
1730
-			}
1731
-
1732
-			// build rules into each type
1733
-			foreach($important_selectors as $selector => $types){
1734
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1735
-				$types = array_combine($types,$types);
1736
-				if(isset($types['c'])){$color_i[] = $selector;}
1737
-				if(isset($types['b'])){$background_i[] = $selector;}
1738
-				if(isset($types['o'])){$border_i[] = $selector;}
1739
-				if(isset($types['f'])){$fill_i[] = $selector;}
1740
-			}
1741
-
1742
-			// add any color rules
1743
-			if(!empty($color)){
1744
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1745
-			}
1746
-			if(!empty($color_i)){
1747
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1748
-			}
1749
-
1750
-			// add any background color rules
1751
-			if(!empty($background)){
1752
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1753
-			}
1754
-			if(!empty($background_i)){
1755
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1756
-			}
1757
-
1758
-			// add any border color rules
1759
-			if(!empty($border)){
1760
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1761
-			}
1762
-			if(!empty($border_i)){
1763
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1764
-			}
1765
-
1766
-			// add any fill color rules
1767
-			if(!empty($fill)){
1768
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1769
-			}
1770
-			if(!empty($fill_i)){
1771
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1772
-			}
1773
-
1774
-
1775
-			$prefix = $compatibility ? ".bsui " : "";
1776
-
1777
-			// darken
1778
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1779
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1780
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1781
-
1782
-			// lighten
1783
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1784
-
1785
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
1786
-			$op_25 = $color_code."40"; // 25% opacity
1787
-
1788
-
1789
-			// button states
1790
-			$output .= $prefix ." .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1791
-			$output .= $prefix ." .btn-outline-primary:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-primary.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1792
-			$output .= $prefix ." .btn-primary:not(:disabled):not(.disabled):active, $prefix .btn-primary:not(:disabled):not(.disabled).active, .show>$prefix .btn-primary.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
1793
-			$output .= $prefix ." .btn-primary:not(:disabled):not(.disabled):active:focus, $prefix .btn-primary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-primary.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1794
-
1795
-
1796
-			// dropdown's
1797
-			$output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1798
-
1799
-
1800
-			// input states
1801
-			$output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} ";
1802
-
1803
-			// page link
1804
-			$output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1805
-
1806
-			return $output;
1807
-		}
1692
+                '.nav-pills .nav-link.active' => array('b'),
1693
+                '.nav-pills .show>.nav-link' => array('b'),
1694
+                '.page-link' => array('c'),
1695
+                '.page-item.active .page-link' => array('b','o'),
1696
+                '.badge-primary' => array('b'),
1697
+                '.alert-primary' => array('b','o'),
1698
+                '.progress-bar' => array('b'),
1699
+                '.list-group-item.active' => array('b','o'),
1700
+                '.bg-primary' => array('b','f'),
1701
+                '.btn-link.btn-primary' => array('c'),
1702
+                '.select2-container .select2-results__option--highlighted.select2-results__option[aria-selected=true]' => array('b'),
1703
+            );
1704
+
1705
+            $important_selectors = array(
1706
+                '.bg-primary' => array('b','f'),
1707
+                '.border-primary' => array('o'),
1708
+                '.text-primary' => array('c'),
1709
+            );
1710
+
1711
+            $color = array();
1712
+            $color_i = array();
1713
+            $background = array();
1714
+            $background_i = array();
1715
+            $border = array();
1716
+            $border_i = array();
1717
+            $fill = array();
1718
+            $fill_i = array();
1719
+
1720
+            $output = '';
1721
+
1722
+            // build rules into each type
1723
+            foreach($selectors as $selector => $types){
1724
+                $selector = $compatibility ? ".bsui ".$selector : $selector;
1725
+                $types = array_combine($types,$types);
1726
+                if(isset($types['c'])){$color[] = $selector;}
1727
+                if(isset($types['b'])){$background[] = $selector;}
1728
+                if(isset($types['o'])){$border[] = $selector;}
1729
+                if(isset($types['f'])){$fill[] = $selector;}
1730
+            }
1808 1731
 
1809
-		public static function css_secondary($color_code,$compatibility){;
1810
-			$color_code = sanitize_hex_color($color_code);
1811
-			if(!$color_code){return '';}
1812
-			/**
1813
-			 * c = color, b = background color, o = border-color, f = fill
1814
-			 */
1815
-			$selectors = array(
1816
-				'.btn-secondary' => array('b','o'),
1817
-				'.btn-secondary.disabled' => array('b','o'),
1818
-				'.btn-secondary:disabled' => array('b','o'),
1819
-				'.btn-outline-secondary' => array('c','o'),
1820
-				'.btn-outline-secondary:hover' => array('b','o'),
1821
-				'.btn-outline-secondary.disabled' => array('c'),
1822
-				'.btn-outline-secondary:disabled' => array('c'),
1823
-				'.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'),
1824
-				'.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'),
1825
-				'.btn-outline-secondary.dropdown-toggle' => array('b','o'),
1826
-				'.badge-secondary' => array('b'),
1827
-				'.alert-secondary' => array('b','o'),
1828
-				'.btn-link.btn-secondary' => array('c'),
1829
-			);
1830
-
1831
-			$important_selectors = array(
1832
-				'.bg-secondary' => array('b','f'),
1833
-				'.border-secondary' => array('o'),
1834
-				'.text-secondary' => array('c'),
1835
-			);
1836
-
1837
-			$color = array();
1838
-			$color_i = array();
1839
-			$background = array();
1840
-			$background_i = array();
1841
-			$border = array();
1842
-			$border_i = array();
1843
-			$fill = array();
1844
-			$fill_i = array();
1845
-
1846
-			$output = '';
1847
-
1848
-			// build rules into each type
1849
-			foreach($selectors as $selector => $types){
1850
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1851
-				$types = array_combine($types,$types);
1852
-				if(isset($types['c'])){$color[] = $selector;}
1853
-				if(isset($types['b'])){$background[] = $selector;}
1854
-				if(isset($types['o'])){$border[] = $selector;}
1855
-				if(isset($types['f'])){$fill[] = $selector;}
1856
-			}
1857
-
1858
-			// build rules into each type
1859
-			foreach($important_selectors as $selector => $types){
1860
-				$selector = $compatibility ? ".bsui ".$selector : $selector;
1861
-				$types = array_combine($types,$types);
1862
-				if(isset($types['c'])){$color_i[] = $selector;}
1863
-				if(isset($types['b'])){$background_i[] = $selector;}
1864
-				if(isset($types['o'])){$border_i[] = $selector;}
1865
-				if(isset($types['f'])){$fill_i[] = $selector;}
1866
-			}
1867
-
1868
-			// add any color rules
1869
-			if(!empty($color)){
1870
-				$output .= implode(",",$color) . "{color: $color_code;} ";
1871
-			}
1872
-			if(!empty($color_i)){
1873
-				$output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1874
-			}
1875
-
1876
-			// add any background color rules
1877
-			if(!empty($background)){
1878
-				$output .= implode(",",$background) . "{background-color: $color_code;} ";
1879
-			}
1880
-			if(!empty($background_i)){
1881
-				$output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1882
-			}
1883
-
1884
-			// add any border color rules
1885
-			if(!empty($border)){
1886
-				$output .= implode(",",$border) . "{border-color: $color_code;} ";
1887
-			}
1888
-			if(!empty($border_i)){
1889
-				$output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1890
-			}
1891
-
1892
-			// add any fill color rules
1893
-			if(!empty($fill)){
1894
-				$output .= implode(",",$fill) . "{fill: $color_code;} ";
1895
-			}
1896
-			if(!empty($fill_i)){
1897
-				$output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1898
-			}
1899
-
1900
-
1901
-			$prefix = $compatibility ? ".bsui " : "";
1902
-
1903
-			// darken
1904
-			$darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1905
-			$darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1906
-			$darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1907
-
1908
-			// lighten
1909
-			$lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1910
-
1911
-			// opacity see https://css-tricks.com/8-digit-hex-codes/
1912
-			$op_25 = $color_code."40"; // 25% opacity
1913
-
1914
-
1915
-			// button states
1916
-			$output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1917
-			$output .= $prefix ." .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-secondary.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1918
-			$output .= $prefix ." .btn-secondary:not(:disabled):not(.disabled):active, $prefix .btn-secondary:not(:disabled):not(.disabled).active, .show>$prefix .btn-secondary.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
1919
-			$output .= $prefix ." .btn-secondary:not(:disabled):not(.disabled):active:focus, $prefix .btn-secondary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-secondary.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1920
-
1921
-
1922
-			return $output;
1923
-		}
1732
+            // build rules into each type
1733
+            foreach($important_selectors as $selector => $types){
1734
+                $selector = $compatibility ? ".bsui ".$selector : $selector;
1735
+                $types = array_combine($types,$types);
1736
+                if(isset($types['c'])){$color_i[] = $selector;}
1737
+                if(isset($types['b'])){$background_i[] = $selector;}
1738
+                if(isset($types['o'])){$border_i[] = $selector;}
1739
+                if(isset($types['f'])){$fill_i[] = $selector;}
1740
+            }
1924 1741
 
1925
-		/**
1926
-		 * Increases or decreases the brightness of a color by a percentage of the current brightness.
1927
-		 *
1928
-		 * @param   string  $hexCode        Supported formats: `#FFF`, `#FFFFFF`, `FFF`, `FFFFFF`
1929
-		 * @param   float   $adjustPercent  A number between -1 and 1. E.g. 0.3 = 30% lighter; -0.4 = 40% darker.
1930
-		 *
1931
-		 * @return  string
1932
-		 */
1933
-		public static function css_hex_lighten_darken($hexCode, $adjustPercent) {
1934
-			$hexCode = ltrim($hexCode, '#');
1742
+            // add any color rules
1743
+            if(!empty($color)){
1744
+                $output .= implode(",",$color) . "{color: $color_code;} ";
1745
+            }
1746
+            if(!empty($color_i)){
1747
+                $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1748
+            }
1935 1749
 
1936
-			if (strlen($hexCode) == 3) {
1937
-				$hexCode = $hexCode[0] . $hexCode[0] . $hexCode[1] . $hexCode[1] . $hexCode[2] . $hexCode[2];
1938
-			}
1750
+            // add any background color rules
1751
+            if(!empty($background)){
1752
+                $output .= implode(",",$background) . "{background-color: $color_code;} ";
1753
+            }
1754
+            if(!empty($background_i)){
1755
+                $output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1756
+            }
1939 1757
 
1940
-			$hexCode = array_map('hexdec', str_split($hexCode, 2));
1758
+            // add any border color rules
1759
+            if(!empty($border)){
1760
+                $output .= implode(",",$border) . "{border-color: $color_code;} ";
1761
+            }
1762
+            if(!empty($border_i)){
1763
+                $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1764
+            }
1941 1765
 
1942
-			foreach ($hexCode as & $color) {
1943
-				$adjustableLimit = $adjustPercent < 0 ? $color : 255 - $color;
1944
-				$adjustAmount = ceil($adjustableLimit * $adjustPercent);
1766
+            // add any fill color rules
1767
+            if(!empty($fill)){
1768
+                $output .= implode(",",$fill) . "{fill: $color_code;} ";
1769
+            }
1770
+            if(!empty($fill_i)){
1771
+                $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1772
+            }
1945 1773
 
1946
-				$color = str_pad(dechex($color + $adjustAmount), 2, '0', STR_PAD_LEFT);
1947
-			}
1948 1774
 
1949
-			return '#' . implode($hexCode);
1950
-		}
1775
+            $prefix = $compatibility ? ".bsui " : "";
1951 1776
 
1952
-		/**
1953
-		 * Check if we should display examples.
1954
-		 */
1955
-		public function maybe_show_examples(){
1956
-			if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){
1957
-				echo "<head>";
1958
-				wp_head();
1959
-				echo "</head>";
1960
-				echo "<body>";
1961
-				echo $this->get_examples();
1962
-				echo "</body>";
1963
-				exit;
1964
-			}
1965
-		}
1777
+            // darken
1778
+            $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1779
+            $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1780
+            $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1966 1781
 
1967
-		/**
1968
-		 * Get developer examples.
1969
-		 *
1970
-		 * @return string
1971
-		 */
1972
-		public function get_examples(){
1973
-			$output = '';
1974
-
1975
-
1976
-			// open form
1977
-			$output .= "<form class='p-5 m-5 border rounded'>";
1978
-
1979
-			// input example
1980
-			$output .= aui()->input(array(
1981
-				'type'  =>  'text',
1982
-				'id'    =>  'text-example',
1983
-				'name'    =>  'text-example',
1984
-				'placeholder'   => 'text placeholder',
1985
-				'title'   => 'Text input example',
1986
-				'value' =>  '',
1987
-				'required'  => false,
1988
-				'help_text' => 'help text',
1989
-				'label' => 'Text input example label'
1990
-			));
1991
-
1992
-			// input example
1993
-			$output .= aui()->input(array(
1994
-				'type'  =>  'url',
1995
-				'id'    =>  'text-example2',
1996
-				'name'    =>  'text-example',
1997
-				'placeholder'   => 'url placeholder',
1998
-				'title'   => 'Text input example',
1999
-				'value' =>  '',
2000
-				'required'  => false,
2001
-				'help_text' => 'help text',
2002
-				'label' => 'Text input example label'
2003
-			));
2004
-
2005
-			// checkbox example
2006
-			$output .= aui()->input(array(
2007
-				'type'  =>  'checkbox',
2008
-				'id'    =>  'checkbox-example',
2009
-				'name'    =>  'checkbox-example',
2010
-				'placeholder'   => 'checkbox-example',
2011
-				'title'   => 'Checkbox example',
2012
-				'value' =>  '1',
2013
-				'checked'   => true,
2014
-				'required'  => false,
2015
-				'help_text' => 'help text',
2016
-				'label' => 'Checkbox checked'
2017
-			));
2018
-
2019
-			// checkbox example
2020
-			$output .= aui()->input(array(
2021
-				'type'  =>  'checkbox',
2022
-				'id'    =>  'checkbox-example2',
2023
-				'name'    =>  'checkbox-example2',
2024
-				'placeholder'   => 'checkbox-example',
2025
-				'title'   => 'Checkbox example',
2026
-				'value' =>  '1',
2027
-				'checked'   => false,
2028
-				'required'  => false,
2029
-				'help_text' => 'help text',
2030
-				'label' => 'Checkbox un-checked'
2031
-			));
2032
-
2033
-			// switch example
2034
-			$output .= aui()->input(array(
2035
-				'type'  =>  'checkbox',
2036
-				'id'    =>  'switch-example',
2037
-				'name'    =>  'switch-example',
2038
-				'placeholder'   => 'checkbox-example',
2039
-				'title'   => 'Switch example',
2040
-				'value' =>  '1',
2041
-				'checked'   => true,
2042
-				'switch'    => true,
2043
-				'required'  => false,
2044
-				'help_text' => 'help text',
2045
-				'label' => 'Switch on'
2046
-			));
2047
-
2048
-			// switch example
2049
-			$output .= aui()->input(array(
2050
-				'type'  =>  'checkbox',
2051
-				'id'    =>  'switch-example2',
2052
-				'name'    =>  'switch-example2',
2053
-				'placeholder'   => 'checkbox-example',
2054
-				'title'   => 'Switch example',
2055
-				'value' =>  '1',
2056
-				'checked'   => false,
2057
-				'switch'    => true,
2058
-				'required'  => false,
2059
-				'help_text' => 'help text',
2060
-				'label' => 'Switch off'
2061
-			));
2062
-
2063
-			// close form
2064
-			$output .= "</form>";
2065
-
2066
-			return $output;
2067
-		}
1782
+            // lighten
1783
+            $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
2068 1784
 
2069
-		/**
2070
-		 * Calendar params.
2071
-		 *
2072
-		 * @since 0.1.44
2073
-		 *
2074
-		 * @return array Calendar params.
2075
-		 */
2076
-		public static function calendar_params() {
2077
-			$params = array(
2078
-				'month_long_1' => __( 'January', 'aui' ),
2079
-				'month_long_2' => __( 'February', 'aui' ),
2080
-				'month_long_3' => __( 'March', 'aui' ),
2081
-				'month_long_4' => __( 'April', 'aui' ),
2082
-				'month_long_5' => __( 'May', 'aui' ),
2083
-				'month_long_6' => __( 'June', 'aui' ),
2084
-				'month_long_7' => __( 'July', 'aui' ),
2085
-				'month_long_8' => __( 'August', 'aui' ),
2086
-				'month_long_9' => __( 'September', 'aui' ),
2087
-				'month_long_10' => __( 'October', 'aui' ),
2088
-				'month_long_11' => __( 'November', 'aui' ),
2089
-				'month_long_12' => __( 'December', 'aui' ),
2090
-				'month_s_1' => _x( 'Jan', 'January abbreviation', 'aui' ),
2091
-				'month_s_2' => _x( 'Feb', 'February abbreviation', 'aui' ),
2092
-				'month_s_3' => _x( 'Mar', 'March abbreviation', 'aui' ),
2093
-				'month_s_4' => _x( 'Apr', 'April abbreviation', 'aui' ),
2094
-				'month_s_5' => _x( 'May', 'May abbreviation', 'aui' ),
2095
-				'month_s_6' => _x( 'Jun', 'June abbreviation', 'aui' ),
2096
-				'month_s_7' => _x( 'Jul', 'July abbreviation', 'aui' ),
2097
-				'month_s_8' => _x( 'Aug', 'August abbreviation', 'aui' ),
2098
-				'month_s_9' => _x( 'Sep', 'September abbreviation', 'aui' ),
2099
-				'month_s_10' => _x( 'Oct', 'October abbreviation', 'aui' ),
2100
-				'month_s_11' => _x( 'Nov', 'November abbreviation', 'aui' ),
2101
-				'month_s_12' => _x( 'Dec', 'December abbreviation', 'aui' ),
2102
-				'day_s1_1' => _x( 'S', 'Sunday initial', 'aui' ),
2103
-				'day_s1_2' => _x( 'M', 'Monday initial', 'aui' ),
2104
-				'day_s1_3' => _x( 'T', 'Tuesday initial', 'aui' ),
2105
-				'day_s1_4' => _x( 'W', 'Wednesday initial', 'aui' ),
2106
-				'day_s1_5' => _x( 'T', 'Friday initial', 'aui' ),
2107
-				'day_s1_6' => _x( 'F', 'Thursday initial', 'aui' ),
2108
-				'day_s1_7' => _x( 'S', 'Saturday initial', 'aui' ),
2109
-				'day_s2_1' => __( 'Su', 'aui' ),
2110
-				'day_s2_2' => __( 'Mo', 'aui' ),
2111
-				'day_s2_3' => __( 'Tu', 'aui' ),
2112
-				'day_s2_4' => __( 'We', 'aui' ),
2113
-				'day_s2_5' => __( 'Th', 'aui' ),
2114
-				'day_s2_6' => __( 'Fr', 'aui' ),
2115
-				'day_s2_7' => __( 'Sa', 'aui' ),
2116
-				'day_s3_1' => __( 'Sun', 'aui' ),
2117
-				'day_s3_2' => __( 'Mon', 'aui' ),
2118
-				'day_s3_3' => __( 'Tue', 'aui' ),
2119
-				'day_s3_4' => __( 'Wed', 'aui' ),
2120
-				'day_s3_5' => __( 'Thu', 'aui' ),
2121
-				'day_s3_6' => __( 'Fri', 'aui' ),
2122
-				'day_s3_7' => __( 'Sat', 'aui' ),
2123
-				'day_s5_1' => __( 'Sunday', 'aui' ),
2124
-				'day_s5_2' => __( 'Monday', 'aui' ),
2125
-				'day_s5_3' => __( 'Tuesday', 'aui' ),
2126
-				'day_s5_4' => __( 'Wednesday', 'aui' ),
2127
-				'day_s5_5' => __( 'Thursday', 'aui' ),
2128
-				'day_s5_6' => __( 'Friday', 'aui' ),
2129
-				'day_s5_7' => __( 'Saturday', 'aui' ),
2130
-				'am_lower' => __( 'am', 'aui' ),
2131
-				'pm_lower' => __( 'pm', 'aui' ),
2132
-				'am_upper' => __( 'AM', 'aui' ),
2133
-				'pm_upper' => __( 'PM', 'aui' ),
2134
-				'firstDayOfWeek' => (int) get_option( 'start_of_week' ),
2135
-				'time_24hr' => false,
2136
-				'year' => __( 'Year', 'aui' ),
2137
-				'hour' => __( 'Hour', 'aui' ),
2138
-				'minute' => __( 'Minute', 'aui' ),
2139
-				'weekAbbreviation' => __( 'Wk', 'aui' ),
2140
-				'rangeSeparator' => __( ' to ', 'aui' ),
2141
-				'scrollTitle' => __( 'Scroll to increment', 'aui' ),
2142
-				'toggleTitle' => __( 'Click to toggle', 'aui' )
2143
-			);
2144
-
2145
-			return apply_filters( 'ayecode_ui_calendar_params', $params );
2146
-		}
1785
+            // opacity see https://css-tricks.com/8-digit-hex-codes/
1786
+            $op_25 = $color_code."40"; // 25% opacity
2147 1787
 
2148
-		/**
2149
-		 * Flatpickr calendar localize.
2150
-		 *
2151
-		 * @since 0.1.44
2152
-		 *
2153
-		 * @return string Calendar locale.
2154
-		 */
2155
-		public static function flatpickr_locale() {
2156
-			$params = self::calendar_params();
2157
-
2158
-			if ( is_string( $params ) ) {
2159
-				$params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' );
2160
-			} else {
2161
-				foreach ( (array) $params as $key => $value ) {
2162
-					if ( ! is_scalar( $value ) ) {
2163
-						continue;
2164
-					}
2165 1788
 
2166
-					$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2167
-				}
2168
-			}
1789
+            // button states
1790
+            $output .= $prefix ." .btn-primary:hover, $prefix .btn-primary:focus, $prefix .btn-primary.focus{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1791
+            $output .= $prefix ." .btn-outline-primary:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-primary.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1792
+            $output .= $prefix ." .btn-primary:not(:disabled):not(.disabled):active, $prefix .btn-primary:not(:disabled):not(.disabled).active, .show>$prefix .btn-primary.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
1793
+            $output .= $prefix ." .btn-primary:not(:disabled):not(.disabled):active:focus, $prefix .btn-primary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-primary.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
1794
+
1795
+
1796
+            // dropdown's
1797
+            $output .= $prefix ." .dropdown-item.active, $prefix .dropdown-item:active{background-color: $color_code;} ";
1798
+
1799
+
1800
+            // input states
1801
+            $output .= $prefix ." .form-control:focus{border-color: ".$lighten_25.";box-shadow: 0 0 0 0.2rem $op_25;} ";
1802
+
1803
+            // page link
1804
+            $output .= $prefix ." .page-link:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1805
+
1806
+            return $output;
1807
+        }
1808
+
1809
+        public static function css_secondary($color_code,$compatibility){;
1810
+            $color_code = sanitize_hex_color($color_code);
1811
+            if(!$color_code){return '';}
1812
+            /**
1813
+             * c = color, b = background color, o = border-color, f = fill
1814
+             */
1815
+            $selectors = array(
1816
+                '.btn-secondary' => array('b','o'),
1817
+                '.btn-secondary.disabled' => array('b','o'),
1818
+                '.btn-secondary:disabled' => array('b','o'),
1819
+                '.btn-outline-secondary' => array('c','o'),
1820
+                '.btn-outline-secondary:hover' => array('b','o'),
1821
+                '.btn-outline-secondary.disabled' => array('c'),
1822
+                '.btn-outline-secondary:disabled' => array('c'),
1823
+                '.btn-outline-secondary:not(:disabled):not(.disabled):active' => array('b','o'),
1824
+                '.btn-outline-secondary:not(:disabled):not(.disabled).active' => array('b','o'),
1825
+                '.btn-outline-secondary.dropdown-toggle' => array('b','o'),
1826
+                '.badge-secondary' => array('b'),
1827
+                '.alert-secondary' => array('b','o'),
1828
+                '.btn-link.btn-secondary' => array('c'),
1829
+            );
1830
+
1831
+            $important_selectors = array(
1832
+                '.bg-secondary' => array('b','f'),
1833
+                '.border-secondary' => array('o'),
1834
+                '.text-secondary' => array('c'),
1835
+            );
1836
+
1837
+            $color = array();
1838
+            $color_i = array();
1839
+            $background = array();
1840
+            $background_i = array();
1841
+            $border = array();
1842
+            $border_i = array();
1843
+            $fill = array();
1844
+            $fill_i = array();
1845
+
1846
+            $output = '';
1847
+
1848
+            // build rules into each type
1849
+            foreach($selectors as $selector => $types){
1850
+                $selector = $compatibility ? ".bsui ".$selector : $selector;
1851
+                $types = array_combine($types,$types);
1852
+                if(isset($types['c'])){$color[] = $selector;}
1853
+                if(isset($types['b'])){$background[] = $selector;}
1854
+                if(isset($types['o'])){$border[] = $selector;}
1855
+                if(isset($types['f'])){$fill[] = $selector;}
1856
+            }
1857
+
1858
+            // build rules into each type
1859
+            foreach($important_selectors as $selector => $types){
1860
+                $selector = $compatibility ? ".bsui ".$selector : $selector;
1861
+                $types = array_combine($types,$types);
1862
+                if(isset($types['c'])){$color_i[] = $selector;}
1863
+                if(isset($types['b'])){$background_i[] = $selector;}
1864
+                if(isset($types['o'])){$border_i[] = $selector;}
1865
+                if(isset($types['f'])){$fill_i[] = $selector;}
1866
+            }
1867
+
1868
+            // add any color rules
1869
+            if(!empty($color)){
1870
+                $output .= implode(",",$color) . "{color: $color_code;} ";
1871
+            }
1872
+            if(!empty($color_i)){
1873
+                $output .= implode(",",$color_i) . "{color: $color_code !important;} ";
1874
+            }
1875
+
1876
+            // add any background color rules
1877
+            if(!empty($background)){
1878
+                $output .= implode(",",$background) . "{background-color: $color_code;} ";
1879
+            }
1880
+            if(!empty($background_i)){
1881
+                $output .= implode(",",$background_i) . "{background-color: $color_code !important;} ";
1882
+            }
1883
+
1884
+            // add any border color rules
1885
+            if(!empty($border)){
1886
+                $output .= implode(",",$border) . "{border-color: $color_code;} ";
1887
+            }
1888
+            if(!empty($border_i)){
1889
+                $output .= implode(",",$border_i) . "{border-color: $color_code !important;} ";
1890
+            }
1891
+
1892
+            // add any fill color rules
1893
+            if(!empty($fill)){
1894
+                $output .= implode(",",$fill) . "{fill: $color_code;} ";
1895
+            }
1896
+            if(!empty($fill_i)){
1897
+                $output .= implode(",",$fill_i) . "{fill: $color_code !important;} ";
1898
+            }
1899
+
1900
+
1901
+            $prefix = $compatibility ? ".bsui " : "";
1902
+
1903
+            // darken
1904
+            $darker_075 = self::css_hex_lighten_darken($color_code,"-0.075");
1905
+            $darker_10 = self::css_hex_lighten_darken($color_code,"-0.10");
1906
+            $darker_125 = self::css_hex_lighten_darken($color_code,"-0.125");
1907
+
1908
+            // lighten
1909
+            $lighten_25 = self::css_hex_lighten_darken($color_code,"0.25");
1910
+
1911
+            // opacity see https://css-tricks.com/8-digit-hex-codes/
1912
+            $op_25 = $color_code."40"; // 25% opacity
2169 1913
 
2170
-			$day_s3 = array();
2171
-			$day_s5 = array();
2172 1914
 
2173
-			for ( $i = 1; $i <= 7; $i ++ ) {
2174
-				$day_s3[] = addslashes( $params[ 'day_s3_' . $i ] );
2175
-				$day_s5[] = addslashes( $params[ 'day_s3_' . $i ] );
2176
-			}
1915
+            // button states
1916
+            $output .= $prefix ." .btn-secondary:hover{background-color: ".$darker_075.";    border-color: ".$darker_10.";} ";
1917
+            $output .= $prefix ." .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, $prefix .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-outline-secondary.dropdown-toggle:focus{box-shadow: 0 0 0 0.2rem $op_25;} ";
1918
+            $output .= $prefix ." .btn-secondary:not(:disabled):not(.disabled):active, $prefix .btn-secondary:not(:disabled):not(.disabled).active, .show>$prefix .btn-secondary.dropdown-toggle{background-color: ".$darker_10.";    border-color: ".$darker_125.";} ";
1919
+            $output .= $prefix ." .btn-secondary:not(:disabled):not(.disabled):active:focus, $prefix .btn-secondary:not(:disabled):not(.disabled).active:focus, .show>$prefix .btn-secondary.dropdown-toggle:focus {box-shadow: 0 0 0 0.2rem $op_25;} ";
2177 1920
 
2178
-			$month_s = array();
2179
-			$month_long = array();
2180 1921
 
2181
-			for ( $i = 1; $i <= 12; $i ++ ) {
2182
-				$month_s[] = addslashes( $params[ 'month_s_' . $i ] );
2183
-				$month_long[] = addslashes( $params[ 'month_long_' . $i ] );
2184
-			}
1922
+            return $output;
1923
+        }
1924
+
1925
+        /**
1926
+         * Increases or decreases the brightness of a color by a percentage of the current brightness.
1927
+         *
1928
+         * @param   string  $hexCode        Supported formats: `#FFF`, `#FFFFFF`, `FFF`, `FFFFFF`
1929
+         * @param   float   $adjustPercent  A number between -1 and 1. E.g. 0.3 = 30% lighter; -0.4 = 40% darker.
1930
+         *
1931
+         * @return  string
1932
+         */
1933
+        public static function css_hex_lighten_darken($hexCode, $adjustPercent) {
1934
+            $hexCode = ltrim($hexCode, '#');
1935
+
1936
+            if (strlen($hexCode) == 3) {
1937
+                $hexCode = $hexCode[0] . $hexCode[0] . $hexCode[1] . $hexCode[1] . $hexCode[2] . $hexCode[2];
1938
+            }
1939
+
1940
+            $hexCode = array_map('hexdec', str_split($hexCode, 2));
1941
+
1942
+            foreach ($hexCode as & $color) {
1943
+                $adjustableLimit = $adjustPercent < 0 ? $color : 255 - $color;
1944
+                $adjustAmount = ceil($adjustableLimit * $adjustPercent);
1945
+
1946
+                $color = str_pad(dechex($color + $adjustAmount), 2, '0', STR_PAD_LEFT);
1947
+            }
1948
+
1949
+            return '#' . implode($hexCode);
1950
+        }
1951
+
1952
+        /**
1953
+         * Check if we should display examples.
1954
+         */
1955
+        public function maybe_show_examples(){
1956
+            if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){
1957
+                echo "<head>";
1958
+                wp_head();
1959
+                echo "</head>";
1960
+                echo "<body>";
1961
+                echo $this->get_examples();
1962
+                echo "</body>";
1963
+                exit;
1964
+            }
1965
+        }
1966
+
1967
+        /**
1968
+         * Get developer examples.
1969
+         *
1970
+         * @return string
1971
+         */
1972
+        public function get_examples(){
1973
+            $output = '';
1974
+
1975
+
1976
+            // open form
1977
+            $output .= "<form class='p-5 m-5 border rounded'>";
1978
+
1979
+            // input example
1980
+            $output .= aui()->input(array(
1981
+                'type'  =>  'text',
1982
+                'id'    =>  'text-example',
1983
+                'name'    =>  'text-example',
1984
+                'placeholder'   => 'text placeholder',
1985
+                'title'   => 'Text input example',
1986
+                'value' =>  '',
1987
+                'required'  => false,
1988
+                'help_text' => 'help text',
1989
+                'label' => 'Text input example label'
1990
+            ));
1991
+
1992
+            // input example
1993
+            $output .= aui()->input(array(
1994
+                'type'  =>  'url',
1995
+                'id'    =>  'text-example2',
1996
+                'name'    =>  'text-example',
1997
+                'placeholder'   => 'url placeholder',
1998
+                'title'   => 'Text input example',
1999
+                'value' =>  '',
2000
+                'required'  => false,
2001
+                'help_text' => 'help text',
2002
+                'label' => 'Text input example label'
2003
+            ));
2004
+
2005
+            // checkbox example
2006
+            $output .= aui()->input(array(
2007
+                'type'  =>  'checkbox',
2008
+                'id'    =>  'checkbox-example',
2009
+                'name'    =>  'checkbox-example',
2010
+                'placeholder'   => 'checkbox-example',
2011
+                'title'   => 'Checkbox example',
2012
+                'value' =>  '1',
2013
+                'checked'   => true,
2014
+                'required'  => false,
2015
+                'help_text' => 'help text',
2016
+                'label' => 'Checkbox checked'
2017
+            ));
2018
+
2019
+            // checkbox example
2020
+            $output .= aui()->input(array(
2021
+                'type'  =>  'checkbox',
2022
+                'id'    =>  'checkbox-example2',
2023
+                'name'    =>  'checkbox-example2',
2024
+                'placeholder'   => 'checkbox-example',
2025
+                'title'   => 'Checkbox example',
2026
+                'value' =>  '1',
2027
+                'checked'   => false,
2028
+                'required'  => false,
2029
+                'help_text' => 'help text',
2030
+                'label' => 'Checkbox un-checked'
2031
+            ));
2032
+
2033
+            // switch example
2034
+            $output .= aui()->input(array(
2035
+                'type'  =>  'checkbox',
2036
+                'id'    =>  'switch-example',
2037
+                'name'    =>  'switch-example',
2038
+                'placeholder'   => 'checkbox-example',
2039
+                'title'   => 'Switch example',
2040
+                'value' =>  '1',
2041
+                'checked'   => true,
2042
+                'switch'    => true,
2043
+                'required'  => false,
2044
+                'help_text' => 'help text',
2045
+                'label' => 'Switch on'
2046
+            ));
2047
+
2048
+            // switch example
2049
+            $output .= aui()->input(array(
2050
+                'type'  =>  'checkbox',
2051
+                'id'    =>  'switch-example2',
2052
+                'name'    =>  'switch-example2',
2053
+                'placeholder'   => 'checkbox-example',
2054
+                'title'   => 'Switch example',
2055
+                'value' =>  '1',
2056
+                'checked'   => false,
2057
+                'switch'    => true,
2058
+                'required'  => false,
2059
+                'help_text' => 'help text',
2060
+                'label' => 'Switch off'
2061
+            ));
2062
+
2063
+            // close form
2064
+            $output .= "</form>";
2065
+
2066
+            return $output;
2067
+        }
2068
+
2069
+        /**
2070
+         * Calendar params.
2071
+         *
2072
+         * @since 0.1.44
2073
+         *
2074
+         * @return array Calendar params.
2075
+         */
2076
+        public static function calendar_params() {
2077
+            $params = array(
2078
+                'month_long_1' => __( 'January', 'aui' ),
2079
+                'month_long_2' => __( 'February', 'aui' ),
2080
+                'month_long_3' => __( 'March', 'aui' ),
2081
+                'month_long_4' => __( 'April', 'aui' ),
2082
+                'month_long_5' => __( 'May', 'aui' ),
2083
+                'month_long_6' => __( 'June', 'aui' ),
2084
+                'month_long_7' => __( 'July', 'aui' ),
2085
+                'month_long_8' => __( 'August', 'aui' ),
2086
+                'month_long_9' => __( 'September', 'aui' ),
2087
+                'month_long_10' => __( 'October', 'aui' ),
2088
+                'month_long_11' => __( 'November', 'aui' ),
2089
+                'month_long_12' => __( 'December', 'aui' ),
2090
+                'month_s_1' => _x( 'Jan', 'January abbreviation', 'aui' ),
2091
+                'month_s_2' => _x( 'Feb', 'February abbreviation', 'aui' ),
2092
+                'month_s_3' => _x( 'Mar', 'March abbreviation', 'aui' ),
2093
+                'month_s_4' => _x( 'Apr', 'April abbreviation', 'aui' ),
2094
+                'month_s_5' => _x( 'May', 'May abbreviation', 'aui' ),
2095
+                'month_s_6' => _x( 'Jun', 'June abbreviation', 'aui' ),
2096
+                'month_s_7' => _x( 'Jul', 'July abbreviation', 'aui' ),
2097
+                'month_s_8' => _x( 'Aug', 'August abbreviation', 'aui' ),
2098
+                'month_s_9' => _x( 'Sep', 'September abbreviation', 'aui' ),
2099
+                'month_s_10' => _x( 'Oct', 'October abbreviation', 'aui' ),
2100
+                'month_s_11' => _x( 'Nov', 'November abbreviation', 'aui' ),
2101
+                'month_s_12' => _x( 'Dec', 'December abbreviation', 'aui' ),
2102
+                'day_s1_1' => _x( 'S', 'Sunday initial', 'aui' ),
2103
+                'day_s1_2' => _x( 'M', 'Monday initial', 'aui' ),
2104
+                'day_s1_3' => _x( 'T', 'Tuesday initial', 'aui' ),
2105
+                'day_s1_4' => _x( 'W', 'Wednesday initial', 'aui' ),
2106
+                'day_s1_5' => _x( 'T', 'Friday initial', 'aui' ),
2107
+                'day_s1_6' => _x( 'F', 'Thursday initial', 'aui' ),
2108
+                'day_s1_7' => _x( 'S', 'Saturday initial', 'aui' ),
2109
+                'day_s2_1' => __( 'Su', 'aui' ),
2110
+                'day_s2_2' => __( 'Mo', 'aui' ),
2111
+                'day_s2_3' => __( 'Tu', 'aui' ),
2112
+                'day_s2_4' => __( 'We', 'aui' ),
2113
+                'day_s2_5' => __( 'Th', 'aui' ),
2114
+                'day_s2_6' => __( 'Fr', 'aui' ),
2115
+                'day_s2_7' => __( 'Sa', 'aui' ),
2116
+                'day_s3_1' => __( 'Sun', 'aui' ),
2117
+                'day_s3_2' => __( 'Mon', 'aui' ),
2118
+                'day_s3_3' => __( 'Tue', 'aui' ),
2119
+                'day_s3_4' => __( 'Wed', 'aui' ),
2120
+                'day_s3_5' => __( 'Thu', 'aui' ),
2121
+                'day_s3_6' => __( 'Fri', 'aui' ),
2122
+                'day_s3_7' => __( 'Sat', 'aui' ),
2123
+                'day_s5_1' => __( 'Sunday', 'aui' ),
2124
+                'day_s5_2' => __( 'Monday', 'aui' ),
2125
+                'day_s5_3' => __( 'Tuesday', 'aui' ),
2126
+                'day_s5_4' => __( 'Wednesday', 'aui' ),
2127
+                'day_s5_5' => __( 'Thursday', 'aui' ),
2128
+                'day_s5_6' => __( 'Friday', 'aui' ),
2129
+                'day_s5_7' => __( 'Saturday', 'aui' ),
2130
+                'am_lower' => __( 'am', 'aui' ),
2131
+                'pm_lower' => __( 'pm', 'aui' ),
2132
+                'am_upper' => __( 'AM', 'aui' ),
2133
+                'pm_upper' => __( 'PM', 'aui' ),
2134
+                'firstDayOfWeek' => (int) get_option( 'start_of_week' ),
2135
+                'time_24hr' => false,
2136
+                'year' => __( 'Year', 'aui' ),
2137
+                'hour' => __( 'Hour', 'aui' ),
2138
+                'minute' => __( 'Minute', 'aui' ),
2139
+                'weekAbbreviation' => __( 'Wk', 'aui' ),
2140
+                'rangeSeparator' => __( ' to ', 'aui' ),
2141
+                'scrollTitle' => __( 'Scroll to increment', 'aui' ),
2142
+                'toggleTitle' => __( 'Click to toggle', 'aui' )
2143
+            );
2144
+
2145
+            return apply_filters( 'ayecode_ui_calendar_params', $params );
2146
+        }
2147
+
2148
+        /**
2149
+         * Flatpickr calendar localize.
2150
+         *
2151
+         * @since 0.1.44
2152
+         *
2153
+         * @return string Calendar locale.
2154
+         */
2155
+        public static function flatpickr_locale() {
2156
+            $params = self::calendar_params();
2157
+
2158
+            if ( is_string( $params ) ) {
2159
+                $params = html_entity_decode( $params, ENT_QUOTES, 'UTF-8' );
2160
+            } else {
2161
+                foreach ( (array) $params as $key => $value ) {
2162
+                    if ( ! is_scalar( $value ) ) {
2163
+                        continue;
2164
+                    }
2165
+
2166
+                    $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2167
+                }
2168
+            }
2169
+
2170
+            $day_s3 = array();
2171
+            $day_s5 = array();
2172
+
2173
+            for ( $i = 1; $i <= 7; $i ++ ) {
2174
+                $day_s3[] = addslashes( $params[ 'day_s3_' . $i ] );
2175
+                $day_s5[] = addslashes( $params[ 'day_s3_' . $i ] );
2176
+            }
2177
+
2178
+            $month_s = array();
2179
+            $month_long = array();
2180
+
2181
+            for ( $i = 1; $i <= 12; $i ++ ) {
2182
+                $month_s[] = addslashes( $params[ 'month_s_' . $i ] );
2183
+                $month_long[] = addslashes( $params[ 'month_long_' . $i ] );
2184
+            }
2185 2185
 
2186 2186
 ob_start();
2187 2187
 if ( 0 ) { ?><script><?php } ?>
@@ -2223,189 +2223,189 @@  discard block
 block discarded – undo
2223 2223
 }
2224 2224
 <?php if ( 0 ) { ?></script><?php } ?>
2225 2225
 <?php
2226
-			$locale = ob_get_clean();
2226
+            $locale = ob_get_clean();
2227 2227
 
2228
-			return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) );
2229
-		}
2228
+            return apply_filters( 'ayecode_ui_flatpickr_locale', trim( $locale ) );
2229
+        }
2230 2230
 
2231
-		/**
2232
-		 * Select2 JS params.
2233
-		 *
2234
-		 * @since 0.1.44
2235
-		 *
2236
-		 * @return array Select2 JS params.
2237
-		 */
2238
-		public static function select2_params() {
2239
-			$params = array(
2240
-				'i18n_select_state_text'    => esc_attr__( 'Select an option&hellip;', 'aui' ),
2241
-				'i18n_no_matches'           => _x( 'No matches found', 'enhanced select', 'aui' ),
2242
-				'i18n_ajax_error'           => _x( 'Loading failed', 'enhanced select', 'aui' ),
2243
-				'i18n_input_too_short_1'    => _x( 'Please enter 1 or more characters', 'enhanced select', 'aui' ),
2244
-				'i18n_input_too_short_n'    => _x( 'Please enter %item% or more characters', 'enhanced select', 'aui' ),
2245
-				'i18n_input_too_long_1'     => _x( 'Please delete 1 character', 'enhanced select', 'aui' ),
2246
-				'i18n_input_too_long_n'     => _x( 'Please delete %item% characters', 'enhanced select', 'aui' ),
2247
-				'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'aui' ),
2248
-				'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'aui' ),
2249
-				'i18n_load_more'            => _x( 'Loading more results&hellip;', 'enhanced select', 'aui' ),
2250
-				'i18n_searching'            => _x( 'Searching&hellip;', 'enhanced select', 'aui' )
2251
-			);
2252
-
2253
-			return apply_filters( 'ayecode_ui_select2_params', $params );
2254
-		}
2231
+        /**
2232
+         * Select2 JS params.
2233
+         *
2234
+         * @since 0.1.44
2235
+         *
2236
+         * @return array Select2 JS params.
2237
+         */
2238
+        public static function select2_params() {
2239
+            $params = array(
2240
+                'i18n_select_state_text'    => esc_attr__( 'Select an option&hellip;', 'aui' ),
2241
+                'i18n_no_matches'           => _x( 'No matches found', 'enhanced select', 'aui' ),
2242
+                'i18n_ajax_error'           => _x( 'Loading failed', 'enhanced select', 'aui' ),
2243
+                'i18n_input_too_short_1'    => _x( 'Please enter 1 or more characters', 'enhanced select', 'aui' ),
2244
+                'i18n_input_too_short_n'    => _x( 'Please enter %item% or more characters', 'enhanced select', 'aui' ),
2245
+                'i18n_input_too_long_1'     => _x( 'Please delete 1 character', 'enhanced select', 'aui' ),
2246
+                'i18n_input_too_long_n'     => _x( 'Please delete %item% characters', 'enhanced select', 'aui' ),
2247
+                'i18n_selection_too_long_1' => _x( 'You can only select 1 item', 'enhanced select', 'aui' ),
2248
+                'i18n_selection_too_long_n' => _x( 'You can only select %item% items', 'enhanced select', 'aui' ),
2249
+                'i18n_load_more'            => _x( 'Loading more results&hellip;', 'enhanced select', 'aui' ),
2250
+                'i18n_searching'            => _x( 'Searching&hellip;', 'enhanced select', 'aui' )
2251
+            );
2252
+
2253
+            return apply_filters( 'ayecode_ui_select2_params', $params );
2254
+        }
2255 2255
 
2256
-		/**
2257
-		 * Select2 JS localize.
2258
-		 *
2259
-		 * @since 0.1.44
2260
-		 *
2261
-		 * @return string Select2 JS locale.
2262
-		 */
2263
-		public static function select2_locale() {
2264
-			$params = self::select2_params();
2265
-
2266
-			foreach ( (array) $params as $key => $value ) {
2267
-				if ( ! is_scalar( $value ) ) {
2268
-					continue;
2269
-				}
2256
+        /**
2257
+         * Select2 JS localize.
2258
+         *
2259
+         * @since 0.1.44
2260
+         *
2261
+         * @return string Select2 JS locale.
2262
+         */
2263
+        public static function select2_locale() {
2264
+            $params = self::select2_params();
2265
+
2266
+            foreach ( (array) $params as $key => $value ) {
2267
+                if ( ! is_scalar( $value ) ) {
2268
+                    continue;
2269
+                }
2270 2270
 
2271
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2272
-			}
2271
+                $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2272
+            }
2273 2273
 
2274
-			$locale = json_encode( $params );
2274
+            $locale = json_encode( $params );
2275 2275
 
2276
-			return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) );
2277
-		}
2276
+            return apply_filters( 'ayecode_ui_select2_locale', trim( $locale ) );
2277
+        }
2278 2278
 
2279
-		/**
2280
-		 * Time ago JS localize.
2281
-		 *
2282
-		 * @since 0.1.47
2283
-		 *
2284
-		 * @return string Time ago JS locale.
2285
-		 */
2286
-		public static function timeago_locale() {
2287
-			$params = array(
2288
-				'prefix_ago' => '',
2289
-				'suffix_ago' => ' ' . _x( 'ago', 'time ago', 'aui' ),
2290
-				'prefix_after' => _x( 'after', 'time ago', 'aui' ) . ' ',
2291
-				'suffix_after' => '',
2292
-				'seconds' => _x( 'less than a minute', 'time ago', 'aui' ),
2293
-				'minute' => _x( 'about a minute', 'time ago', 'aui' ),
2294
-				'minutes' => _x( '%d minutes', 'time ago', 'aui' ),
2295
-				'hour' => _x( 'about an hour', 'time ago', 'aui' ),
2296
-				'hours' => _x( 'about %d hours', 'time ago', 'aui' ),
2297
-				'day' => _x( 'a day', 'time ago', 'aui' ),
2298
-				'days' => _x( '%d days', 'time ago', 'aui' ),
2299
-				'month' => _x( 'about a month', 'time ago', 'aui' ),
2300
-				'months' => _x( '%d months', 'time ago', 'aui' ),
2301
-				'year' => _x( 'about a year', 'time ago', 'aui' ),
2302
-				'years' => _x( '%d years', 'time ago', 'aui' ),
2303
-			);
2304
-
2305
-			$params = apply_filters( 'ayecode_ui_timeago_params', $params );
2306
-
2307
-			foreach ( (array) $params as $key => $value ) {
2308
-				if ( ! is_scalar( $value ) ) {
2309
-					continue;
2310
-				}
2279
+        /**
2280
+         * Time ago JS localize.
2281
+         *
2282
+         * @since 0.1.47
2283
+         *
2284
+         * @return string Time ago JS locale.
2285
+         */
2286
+        public static function timeago_locale() {
2287
+            $params = array(
2288
+                'prefix_ago' => '',
2289
+                'suffix_ago' => ' ' . _x( 'ago', 'time ago', 'aui' ),
2290
+                'prefix_after' => _x( 'after', 'time ago', 'aui' ) . ' ',
2291
+                'suffix_after' => '',
2292
+                'seconds' => _x( 'less than a minute', 'time ago', 'aui' ),
2293
+                'minute' => _x( 'about a minute', 'time ago', 'aui' ),
2294
+                'minutes' => _x( '%d minutes', 'time ago', 'aui' ),
2295
+                'hour' => _x( 'about an hour', 'time ago', 'aui' ),
2296
+                'hours' => _x( 'about %d hours', 'time ago', 'aui' ),
2297
+                'day' => _x( 'a day', 'time ago', 'aui' ),
2298
+                'days' => _x( '%d days', 'time ago', 'aui' ),
2299
+                'month' => _x( 'about a month', 'time ago', 'aui' ),
2300
+                'months' => _x( '%d months', 'time ago', 'aui' ),
2301
+                'year' => _x( 'about a year', 'time ago', 'aui' ),
2302
+                'years' => _x( '%d years', 'time ago', 'aui' ),
2303
+            );
2304
+
2305
+            $params = apply_filters( 'ayecode_ui_timeago_params', $params );
2306
+
2307
+            foreach ( (array) $params as $key => $value ) {
2308
+                if ( ! is_scalar( $value ) ) {
2309
+                    continue;
2310
+                }
2311 2311
 
2312
-				$params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2313
-			}
2312
+                $params[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
2313
+            }
2314 2314
 
2315
-			$locale = json_encode( $params );
2315
+            $locale = json_encode( $params );
2316 2316
 
2317
-			return apply_filters( 'ayecode_ui_timeago_locale', trim( $locale ) );
2318
-		}
2317
+            return apply_filters( 'ayecode_ui_timeago_locale', trim( $locale ) );
2318
+        }
2319 2319
 
2320
-		/**
2321
-		 * JavaScript Minifier
2322
-		 *
2323
-		 * @param $input
2324
-		 *
2325
-		 * @return mixed
2326
-		 */
2327
-		public static function minify_js($input) {
2328
-			if(trim($input) === "") return $input;
2329
-			return preg_replace(
2330
-				array(
2331
-					// Remove comment(s)
2332
-					'#\s*("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')\s*|\s*\/\*(?!\!|@cc_on)(?>[\s\S]*?\*\/)\s*|\s*(?<![\:\=])\/\/.*(?=[\n\r]|$)|^\s*|\s*$#',
2333
-					// Remove white-space(s) outside the string and regex
2334
-					'#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/)|\/(?!\/)[^\n\r]*?\/(?=[\s.,;]|[gimuy]|$))|\s*([!%&*\(\)\-=+\[\]\{\}|;:,.<>?\/])\s*#s',
2335
-					// Remove the last semicolon
2336
-					'#;+\}#',
2337
-					// Minify object attribute(s) except JSON attribute(s). From `{'foo':'bar'}` to `{foo:'bar'}`
2338
-					'#([\{,])([\'])(\d+|[a-z_][a-z0-9_]*)\2(?=\:)#i',
2339
-					// --ibid. From `foo['bar']` to `foo.bar`
2340
-					'#([a-z0-9_\)\]])\[([\'"])([a-z_][a-z0-9_]*)\2\]#i'
2341
-				),
2342
-				array(
2343
-					'$1',
2344
-					'$1$2',
2345
-					'}',
2346
-					'$1$3',
2347
-					'$1.$3'
2348
-				),
2349
-				$input);
2350
-		}
2320
+        /**
2321
+         * JavaScript Minifier
2322
+         *
2323
+         * @param $input
2324
+         *
2325
+         * @return mixed
2326
+         */
2327
+        public static function minify_js($input) {
2328
+            if(trim($input) === "") return $input;
2329
+            return preg_replace(
2330
+                array(
2331
+                    // Remove comment(s)
2332
+                    '#\s*("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')\s*|\s*\/\*(?!\!|@cc_on)(?>[\s\S]*?\*\/)\s*|\s*(?<![\:\=])\/\/.*(?=[\n\r]|$)|^\s*|\s*$#',
2333
+                    // Remove white-space(s) outside the string and regex
2334
+                    '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/)|\/(?!\/)[^\n\r]*?\/(?=[\s.,;]|[gimuy]|$))|\s*([!%&*\(\)\-=+\[\]\{\}|;:,.<>?\/])\s*#s',
2335
+                    // Remove the last semicolon
2336
+                    '#;+\}#',
2337
+                    // Minify object attribute(s) except JSON attribute(s). From `{'foo':'bar'}` to `{foo:'bar'}`
2338
+                    '#([\{,])([\'])(\d+|[a-z_][a-z0-9_]*)\2(?=\:)#i',
2339
+                    // --ibid. From `foo['bar']` to `foo.bar`
2340
+                    '#([a-z0-9_\)\]])\[([\'"])([a-z_][a-z0-9_]*)\2\]#i'
2341
+                ),
2342
+                array(
2343
+                    '$1',
2344
+                    '$1$2',
2345
+                    '}',
2346
+                    '$1$3',
2347
+                    '$1.$3'
2348
+                ),
2349
+                $input);
2350
+        }
2351 2351
 
2352
-		/**
2353
-		 * Minify CSS
2354
-		 *
2355
-		 * @param $input
2356
-		 *
2357
-		 * @return mixed
2358
-		 */
2359
-		public static function minify_css($input) {
2360
-			if(trim($input) === "") return $input;
2361
-			return preg_replace(
2362
-				array(
2363
-					// Remove comment(s)
2364
-					'#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')|\/\*(?!\!)(?>.*?\*\/)|^\s*|\s*$#s',
2365
-					// Remove unused white-space(s)
2366
-					'#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/))|\s*+;\s*+(})\s*+|\s*+([*$~^|]?+=|[{};,>~]|\s(?![0-9\.])|!important\b)\s*+|([[(:])\s++|\s++([])])|\s++(:)\s*+(?!(?>[^{}"\']++|"(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')*+{)|^\s++|\s++\z|(\s)\s+#si',
2367
-					// Replace `0(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)` with `0`
2368
-					'#(?<=[\s:])(0)(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)#si',
2369
-					// Replace `:0 0 0 0` with `:0`
2370
-					'#:(0\s+0|0\s+0\s+0\s+0)(?=[;\}]|\!important)#i',
2371
-					// Replace `background-position:0` with `background-position:0 0`
2372
-					'#(background-position):0(?=[;\}])#si',
2373
-					// Replace `0.6` with `.6`, but only when preceded by `:`, `,`, `-` or a white-space
2374
-					'#(?<=[\s:,\-])0+\.(\d+)#s',
2375
-					// Minify string value
2376
-					'#(\/\*(?>.*?\*\/))|(?<!content\:)([\'"])([a-z_][a-z0-9\-_]*?)\2(?=[\s\{\}\];,])#si',
2377
-					'#(\/\*(?>.*?\*\/))|(\burl\()([\'"])([^\s]+?)\3(\))#si',
2378
-					// Minify HEX color code
2379
-					'#(?<=[\s:,\-]\#)([a-f0-6]+)\1([a-f0-6]+)\2([a-f0-6]+)\3#i',
2380
-					// Replace `(border|outline):none` with `(border|outline):0`
2381
-					'#(?<=[\{;])(border|outline):none(?=[;\}\!])#',
2382
-					// Remove empty selector(s)
2383
-					'#(\/\*(?>.*?\*\/))|(^|[\{\}])(?:[^\s\{\}]+)\{\}#s'
2384
-				),
2385
-				array(
2386
-					'$1',
2387
-					'$1$2$3$4$5$6$7',
2388
-					'$1',
2389
-					':0',
2390
-					'$1:0 0',
2391
-					'.$1',
2392
-					'$1$3',
2393
-					'$1$2$4$5',
2394
-					'$1$2$3',
2395
-					'$1:0',
2396
-					'$1$2'
2397
-				),
2398
-				$input);
2399
-		}
2352
+        /**
2353
+         * Minify CSS
2354
+         *
2355
+         * @param $input
2356
+         *
2357
+         * @return mixed
2358
+         */
2359
+        public static function minify_css($input) {
2360
+            if(trim($input) === "") return $input;
2361
+            return preg_replace(
2362
+                array(
2363
+                    // Remove comment(s)
2364
+                    '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')|\/\*(?!\!)(?>.*?\*\/)|^\s*|\s*$#s',
2365
+                    // Remove unused white-space(s)
2366
+                    '#("(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\'|\/\*(?>.*?\*\/))|\s*+;\s*+(})\s*+|\s*+([*$~^|]?+=|[{};,>~]|\s(?![0-9\.])|!important\b)\s*+|([[(:])\s++|\s++([])])|\s++(:)\s*+(?!(?>[^{}"\']++|"(?:[^"\\\]++|\\\.)*+"|\'(?:[^\'\\\\]++|\\\.)*+\')*+{)|^\s++|\s++\z|(\s)\s+#si',
2367
+                    // Replace `0(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)` with `0`
2368
+                    '#(?<=[\s:])(0)(cm|em|ex|in|mm|pc|pt|px|vh|vw|%)#si',
2369
+                    // Replace `:0 0 0 0` with `:0`
2370
+                    '#:(0\s+0|0\s+0\s+0\s+0)(?=[;\}]|\!important)#i',
2371
+                    // Replace `background-position:0` with `background-position:0 0`
2372
+                    '#(background-position):0(?=[;\}])#si',
2373
+                    // Replace `0.6` with `.6`, but only when preceded by `:`, `,`, `-` or a white-space
2374
+                    '#(?<=[\s:,\-])0+\.(\d+)#s',
2375
+                    // Minify string value
2376
+                    '#(\/\*(?>.*?\*\/))|(?<!content\:)([\'"])([a-z_][a-z0-9\-_]*?)\2(?=[\s\{\}\];,])#si',
2377
+                    '#(\/\*(?>.*?\*\/))|(\burl\()([\'"])([^\s]+?)\3(\))#si',
2378
+                    // Minify HEX color code
2379
+                    '#(?<=[\s:,\-]\#)([a-f0-6]+)\1([a-f0-6]+)\2([a-f0-6]+)\3#i',
2380
+                    // Replace `(border|outline):none` with `(border|outline):0`
2381
+                    '#(?<=[\{;])(border|outline):none(?=[;\}\!])#',
2382
+                    // Remove empty selector(s)
2383
+                    '#(\/\*(?>.*?\*\/))|(^|[\{\}])(?:[^\s\{\}]+)\{\}#s'
2384
+                ),
2385
+                array(
2386
+                    '$1',
2387
+                    '$1$2$3$4$5$6$7',
2388
+                    '$1',
2389
+                    ':0',
2390
+                    '$1:0 0',
2391
+                    '.$1',
2392
+                    '$1$3',
2393
+                    '$1$2$4$5',
2394
+                    '$1$2$3',
2395
+                    '$1:0',
2396
+                    '$1$2'
2397
+                ),
2398
+                $input);
2399
+        }
2400 2400
 
2401
-		/**
2402
-		 * Get the conditional fields JavaScript.
2403
-		 *
2404
-		 * @return mixed
2405
-		 */
2406
-		public function conditional_fields_js() {
2407
-			ob_start();
2408
-			?>
2401
+        /**
2402
+         * Get the conditional fields JavaScript.
2403
+         *
2404
+         * @return mixed
2405
+         */
2406
+        public function conditional_fields_js() {
2407
+            ob_start();
2408
+            ?>
2409 2409
 <script>
2410 2410
 /**
2411 2411
  * Conditional Fields
@@ -2909,14 +2909,14 @@  discard block
 block discarded – undo
2909 2909
 <?php do_action( 'aui_conditional_fields_js', $this ); ?>
2910 2910
 </script>
2911 2911
 			<?php
2912
-			$output = ob_get_clean();
2912
+            $output = ob_get_clean();
2913 2913
 
2914
-			return str_replace( array( '<script>', '</script>' ), '', self::minify_js( $output ) );
2915
-		}
2916
-	}
2914
+            return str_replace( array( '<script>', '</script>' ), '', self::minify_js( $output ) );
2915
+        }
2916
+    }
2917 2917
 
2918
-	/**
2919
-	 * Run the class if found.
2920
-	 */
2921
-	AyeCode_UI_Settings::instance();
2918
+    /**
2919
+     * Run the class if found.
2920
+     */
2921
+    AyeCode_UI_Settings::instance();
2922 2922
 }
2923 2923
\ No newline at end of file
Please login to merge, or discard this patch.