PluginProbe ʕ •ᴥ•ʔ
Essential Addons for Elementor – Popular Elementor Templates & Widgets / 5.8.7
Essential Addons for Elementor – Popular Elementor Templates & Widgets v5.8.7
6.6.5 6.6.4 6.6.3 5.7.3 5.7.4 5.8.0 5.8.1 5.8.10 5.8.11 5.8.12 5.8.13 5.8.14 5.8.15 5.8.16 5.8.18 5.8.2 5.8.3 5.8.4 5.8.5 5.8.6 5.8.7 5.8.8 5.8.9 5.9.0 5.9.1 5.9.10 5.9.11 5.9.12 5.9.13 5.9.14 5.9.15 5.9.16 5.9.17 5.9.18 5.9.19 5.9.2 5.9.20 5.9.21 5.9.22 5.9.23 5.9.24 5.9.25 5.9.26 5.9.27 5.9.3 5.9.4 5.9.5 5.9.6 5.9.7 5.9.8 5.9.9 6.0.0 6.0.1 6.0.10 6.0.11 6.0.12 6.0.13 6.0.14 6.0.15 6.0.2 6.0.3 6.0.4 6.0.5 6.0.6 6.0.7 6.0.8 6.0.9 6.1.0 6.1.1 6.1.10 6.1.11 trunk 6.1.12 1.0.0 6.1.13 1.0.1 6.1.14 1.1.0 6.1.15 2.0 6.1.17 2.1 6.1.18 2.10.0 6.1.19 2.10.1 6.1.2 2.10.2 6.1.20 2.10.3 6.1.3 2.10.4 6.1.4 2.10.5 6.1.5 2.2.0 6.1.6 2.2.1 6.1.7 2.2.2 6.1.8 2.2.3 6.1.9 2.2.4 6.2.0 2.2.5 6.2.1 2.3.0 6.2.2 2.3.1 6.2.3 2.4.0 6.2.4 2.4.1 6.3.0 2.4.2 6.3.1 2.4.3 6.3.2 2.5.0 6.3.3 2.6.0 6.4.0 2.7.0 6.5.0 2.7.1 6.5.1 2.7.10 6.5.10 2.7.11 6.5.11 2.7.2 6.5.12 2.7.3 6.5.13 2.7.4 6.5.2 2.7.5 6.5.3 2.7.6 6.5.4 2.7.7 6.5.5 2.7.8 6.5.6 2.7.9 6.5.7 2.8.0 6.5.8 2.8.1 6.5.9 2.8.2 6.6.0 2.8.3 6.6.1 2.8.4 6.6.2 2.8.5 2.8.6 2.8.7 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 2.9.8 2.9.9 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.4.1 3.1.5 3.2.0 3.3.0 3.3.1 3.3.2 3.3.3 3.4.0 3.5.0 3.5.1 3.5.2 3.6.0 3.6.1 3.6.2 3.7.0 3.7.1 3.7.2 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 3.9.1 3.9.2 3.9.3 3.9.4 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.2.0 4.2.1 4.2.2 4.2.3 4.2.4 4.3.0 4.3.1 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.3.8 4.3.9 4.4.0 4.4.1 4.5.0 4.5.1 4.5.2 4.5.3 4.5.4 4.5.5 4.6.0 4.6.1 4.6.2 4.6.3 4.6.4 4.6.5 4.6.6 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.7.5 4.8.0 4.8.1 4.8.2 4.8.3 4.8.4 4.9.0 4.9.1 4.9.2 4.9.3 4.9.4 4.9.5 4.9.6 4.9.7 5.0.0 5.0.1 5.0.10 5.0.11 5.0.12 5.0.13 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.0.9 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.1.8 5.1.9 5.2.0 5.2.1 5.2.2 5.2.3 5.2.4 5.3.0 5.3.1 5.3.2 5.4.6 5.5.5 5.6.5 5.7.2
essential-addons-for-elementor-lite / includes / Traits / Core.php
essential-addons-for-elementor-lite / includes / Traits Last commit date
Admin.php 3 years ago Ajax_Handler.php 2 years ago Controls.php 2 years ago Core.php 3 years ago Elements.php 2 years ago Enqueue.php 3 years ago Facebook_Feed.php 3 years ago Helper.php 2 years ago Library.php 3 years ago Login_Registration.php 2 years ago Shared.php 5 years ago Template_Query.php 4 years ago Twitter_Feed.php 2 years ago Woo_Product_Comparable.php 3 years ago index.php 3 years ago
Core.php
409 lines
1 <?php
2
3 namespace Essential_Addons_Elementor\Traits;
4
5 if (!defined('ABSPATH')) {
6 exit;
7 } // Exit if accessed directly
8
9 use \Elementor\Plugin;
10 use \Essential_Addons_Elementor\Classes\Plugin_Usage_Tracker;
11
12 trait Core
13 {
14 /**
15 * Extending plugin links
16 *
17 * @since 3.0.0
18 */
19 public function i18n()
20 {
21 load_plugin_textdomain('essential-addons-for-elementor-lite');
22 }
23
24 /**
25 * Check if a plugin is active
26 *
27 * @since 3.0.0
28 */
29 public function is_plugin_active($plugin)
30 {
31 include_once ABSPATH . 'wp-admin/includes/plugin.php';
32
33 return is_plugin_active($plugin);
34 }
35
36 /**
37 * Extending plugin links
38 *
39 * @since 3.0.0
40 */
41 public function insert_plugin_links($links)
42 {
43 // settings
44 $links[] = sprintf('<a href="admin.php?page=eael-settings">' . __('Settings', 'essential-addons-for-elementor-lite') . '</a>');
45
46 // go pro
47 if (!$this->pro_enabled) {
48 $links[] = sprintf('<a href="https://wpdeveloper.com/in/upgrade-essential-addons-elementor" target="_blank" style="color: #524cff; font-weight: bold;">' . __('Go Pro', 'essential-addons-for-elementor-lite') . '</a>');
49 }
50
51 return $links;
52 }
53
54 /**
55 * Extending plugin row meta
56 *
57 * @since 3.0.0
58 */
59 public function insert_plugin_row_meta($links, $file)
60 {
61 if (EAEL_PLUGIN_BASENAME == $file) {
62 // docs & faq
63 $links[] = sprintf('<a href="https://essential-addons.com/elementor/docs/?utm_medium=admin&utm_source=wp.org&utm_term=ea" target="_blank">' . __('Docs & FAQs', 'essential-addons-for-elementor-lite') . '</a>');
64
65 // video tutorials
66 $links[] = sprintf('<a href="https://www.youtube.com/channel/UCOjzLEdsnpnFVkm1JKFurPA?utm_medium=admin&utm_source=wp.org&utm_term=ea" target="_blank">' . __('Video Tutorials', 'essential-addons-for-elementor-lite') . '</a>');
67 }
68
69 return $links;
70 }
71
72 /**
73 * Redirect to options page
74 *
75 * @since v1.0.0
76 */
77 public function redirect_on_activation()
78 {
79 if (get_transient('eael_do_activation_redirect')) {
80 delete_transient('eael_do_activation_redirect');
81
82 if (!isset($_GET['activate-multi'])) {
83 wp_redirect("admin.php?page=eael-settings");
84 }
85 }
86 }
87
88 /**
89 * Check if elementor plugin is activated
90 *
91 * @since v1.0.0
92 */
93 public function elementor_not_loaded()
94 {
95 if (!current_user_can('activate_plugins')) {
96 return;
97 }
98
99 $elementor = 'elementor/elementor.php';
100
101 if ($this->is_plugin_installed($elementor)) {
102 $activation_url = wp_nonce_url('plugins.php?action=activate&amp;plugin=' . $elementor . '&amp;plugin_status=all&amp;paged=1&amp;s', 'activate-plugin_' . $elementor);
103
104 $message = sprintf(__('%1$sEssential Addons for Elementor%2$s requires %1$sElementor%2$s plugin to be active. Please activate Elementor to continue.', 'essential-addons-for-elementor-lite'), "<strong>", "</strong>");
105
106 $button_text = __('Activate Elementor', 'essential-addons-for-elementor-lite');
107 } else {
108 $activation_url = wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=elementor'), 'install-plugin_elementor');
109
110 $message = sprintf(__('%1$sEssential Addons for Elementor%2$s requires %1$sElementor%2$s plugin to be installed and activated. Please install Elementor to continue.', 'essential-addons-for-elementor-lite'), '<strong>', '</strong>');
111 $button_text = __('Install Elementor', 'essential-addons-for-elementor-lite');
112 }
113
114 $button = '<p><a href="' . esc_url( $activation_url ) . '" class="button-primary">' . esc_html( $button_text ) . '</a></p>';
115
116 printf('<div class="error"><p>%1$s</p>%2$s</div>', __($message), $button);
117 }
118
119 /**
120 * Optional usage tracker
121 *
122 * @since v1.0.0
123 */
124 public function start_plugin_tracking()
125 {
126 $tracker = Plugin_Usage_Tracker::get_instance( EAEL_PLUGIN_FILE, [
127 'opt_in' => true,
128 'goodbye_form' => true,
129 'item_id' => '760e8569757fa16992d8'
130 ] );
131 $tracker->set_notice_options(array(
132 'notice' => __( 'Want to help make <strong>Essential Addons for Elementor</strong> even more awesome? You can get a <strong>10% discount coupon</strong> for Pro upgrade if you allow.', 'essential-addons-for-elementor-lite' ),
133 'extra_notice' => __( 'We collect non-sensitive diagnostic data and plugin usage information.
134 Your site URL, WordPress & PHP version, plugins & themes and email address to send you the
135 discount coupon. This data lets us make sure this plugin always stays compatible with the most
136 popular plugins and themes. No spam, I promise.', 'essential-addons-for-elementor-lite' ),
137 ));
138 $tracker->init();
139 }
140
141 /**
142 * Save default values to db
143 *
144 * @since v3.0.0
145 */
146 public function set_default_values()
147 {
148 $defaults = array_fill_keys(array_keys(array_merge($GLOBALS['eael_config']['elements'], $GLOBALS['eael_config']['extensions'])), 1);
149 $values = get_option('eael_save_settings');
150
151 return update_option('eael_save_settings', wp_parse_args($values, $defaults));
152 }
153
154 /**
155 * Save setup wizard data
156 *
157 * @since v4.0.0
158 */
159 public function enable_setup_wizard()
160 {
161 if ( !get_option( 'eael_version' ) && !get_option( 'eael_setup_wizard' ) ) {
162 update_option( 'eael_setup_wizard', 'redirect' );
163 }
164 }
165
166 /**
167 * Save default values to db
168 *
169 * @since v3.0.0
170 */
171 public function save_global_values($post_id, $editor_data)
172 {
173 if (wp_doing_cron()) {
174 return;
175 }
176
177 $document = Plugin::$instance->documents->get($post_id, false);
178 $global_settings = get_option('eael_global_settings');
179
180 if ($document->get_settings('eael_ext_reading_progress_global') == 'yes' && $document->get_settings('eael_ext_reading_progress') == 'yes') {
181 $global_settings['reading_progress'] = [
182 'post_id' => $post_id,
183 'enabled' => true,
184 'eael_ext_reading_progress_global_display_condition' => $document->get_settings('eael_ext_reading_progress_global_display_condition'),
185 'eael_ext_reading_progress_position' => $document->get_settings('eael_ext_reading_progress_position'),
186 'eael_ext_reading_progress_height' => $document->get_settings('eael_ext_reading_progress_height'),
187 'eael_ext_reading_progress_bg_color' => $document->get_settings('eael_ext_reading_progress_bg_color'),
188 'eael_ext_reading_progress_fill_color' => $document->get_settings('eael_ext_reading_progress_fill_color'),
189 'eael_ext_reading_progress_animation_speed' => $document->get_settings('eael_ext_reading_progress_animation_speed'),
190 ];
191 } else {
192 if (isset($global_settings['reading_progress']['post_id']) && $global_settings['reading_progress']['post_id'] == $post_id) {
193 $global_settings['reading_progress'] = [
194 'post_id' => null,
195 'enabled' => false,
196 ];
197 }
198 }
199
200 //save table of contents global value
201 if ($document->get_settings('eael_ext_toc_global') == 'yes' && $document->get_settings('eael_ext_table_of_content') == 'yes') {
202 $typography_fields = [
203 'font_family',
204 'font_weight',
205 'text_transform',
206 'font_style',
207 'text_decoration',
208 'font_size',
209 'letter_spacing',
210 'line_height',
211 ];
212
213 $global_settings['eael_ext_table_of_content'] = [
214 'post_id' => $post_id,
215 'enabled' => ($document->get_settings('eael_ext_toc_global') == 'yes'),
216 'eael_ext_toc_global_display_condition' => $document->get_settings('eael_ext_toc_global_display_condition'),
217 'eael_ext_toc_title' => $document->get_settings('eael_ext_toc_title'),
218 'eael_ext_toc_position' => $document->get_settings('eael_ext_toc_position'),
219 'eael_ext_toc_supported_heading_tag' => $document->get_settings('eael_ext_toc_supported_heading_tag'),
220 'eael_ext_toc_content_selector' => $document->get_settings('eael_ext_toc_content_selector'),
221 'eael_toc_exclude_selector' => $document->get_settings('eael_toc_exclude_selector'),
222 'eael_ext_toc_collapse_sub_heading' => $document->get_settings('eael_ext_toc_collapse_sub_heading'),
223 'eael_ext_toc_use_title_in_url' => $document->get_settings('eael_ext_toc_use_title_in_url'),
224 'eael_ext_toc_word_wrap' => $document->get_settings('eael_ext_toc_word_wrap'),
225 'eael_ext_toc_table_box_shadow_box_shadow' => $document->get_settings('eael_ext_toc_table_box_shadow_box_shadow'),
226 'eael_ext_toc_auto_collapse' => $document->get_settings('eael_ext_toc_auto_collapse'),
227 'eael_ext_toc_auto_highlight' => $document->get_settings('eael_ext_toc_auto_highlight'),
228 'eael_ext_toc_auto_highlight_single_item_only' => $document->get_settings('eael_ext_toc_auto_highlight_single_item_only'),
229 'eael_ext_toc_hide_in_mobile' => $document->get_settings('eael_ext_toc_hide_in_mobile'),
230 'eael_ext_toc_border_border' => $document->get_settings('eael_ext_toc_border_border'),
231 'eael_ext_toc_border_width' => $document->get_settings('eael_ext_toc_border_width'),
232 'eael_ext_toc_border_color' => $document->get_settings('eael_ext_toc_border_color'),
233 'eael_ext_toc_box_border_radius' => $document->get_settings('eael_ext_toc_box_border_radius'),
234 'eael_ext_toc_sticky_offset' => $document->get_settings('eael_ext_toc_sticky_offset'),
235 'eael_ext_toc_sticky_scroll' => $document->get_settings('eael_ext_toc_sticky_scroll'),
236 'eael_ext_toc_sticky_z_index' => $document->get_settings('eael_ext_toc_sticky_z_index'),
237
238 //toc header setting
239 'eael_ext_table_of_content_header_bg' => $document->get_settings('eael_ext_table_of_content_header_bg'),
240 'eael_ext_table_of_content_header_text_color' => $document->get_settings('eael_ext_table_of_content_header_text_color'),
241 'eael_ext_table_of_content_header_icon' => $document->get_settings('eael_ext_table_of_content_header_icon'),
242 'eael_ext_toc_header_padding' => $document->get_settings('eael_ext_toc_header_padding'),
243 'eael_ext_toc_width' => $document->get_settings('eael_ext_toc_width'),
244
245 //close button setting
246 'eael_ext_table_of_content_close_button_bg' => $document->get_settings('eael_ext_table_of_content_close_button_bg'),
247 'eael_ext_table_of_content_close_button_text_color' => $document->get_settings('eael_ext_table_of_content_close_button_text_color'),
248 'eael_ext_toc_close_button_text_style' => $document->get_settings('eael_ext_toc_close_button_text_style'),
249 'eael_ext_table_of_content_close_button_icon_size' => $document->get_settings('eael_ext_table_of_content_close_button_icon_size'),
250 'eael_ext_table_of_content_close_button_size' => $document->get_settings('eael_ext_table_of_content_close_button_size'),
251 'eael_ext_table_of_content_close_button_line_height' => $document->get_settings('eael_ext_table_of_content_close_button_line_height'),
252 'eael_ext_table_of_content_close_button_border_radius' => $document->get_settings('eael_ext_table_of_content_close_button_border_radius'),
253 'eael_ext_table_of_content_close_button_box_shadow' => $document->get_settings('eael_ext_table_of_content_close_button_box_shadow_box_shadow'),
254
255 //toc body setting
256 'eael_ext_table_of_content_body_bg' => $document->get_settings('eael_ext_table_of_content_body_bg'),
257 'eael_ext_toc_body_padding' => $document->get_settings('eael_ext_toc_body_padding'),
258
259 //list style setting
260 'eael_ext_table_of_content_list_style' => $document->get_settings('eael_ext_table_of_content_list_style'),
261 'eael_ext_toc_top_level_space' => $document->get_settings('eael_ext_toc_top_level_space'),
262 'eael_ext_toc_subitem_level_space' => $document->get_settings('eael_ext_toc_subitem_level_space'),
263 'eael_ext_toc_list_icon' => $document->get_settings('eael_ext_toc_list_icon'),
264 'eael_ext_table_of_content_list_text_color' => $document->get_settings('eael_ext_table_of_content_list_text_color'),
265 'eael_ext_table_of_content_list_text_color_active' => $document->get_settings('eael_ext_table_of_content_list_text_color_active'),
266 'eael_ext_table_of_list_hover_color' => $document->get_settings('eael_ext_table_of_list_hover_color'),
267 'eael_ext_table_of_content_list_separator_style' => $document->get_settings('eael_ext_table_of_content_list_separator_style'),
268 'eael_ext_table_of_content_list_separator_color' => $document->get_settings('eael_ext_table_of_content_list_separator_color'),
269 'eael_ext_toc_box_list_bullet_size' => $document->get_settings('eael_ext_toc_box_list_bullet_size'),
270 'eael_ext_toc_box_list_top_position' => $document->get_settings('eael_ext_toc_box_list_top_position'),
271 'eael_ext_toc_indicator_size' => $document->get_settings('eael_ext_toc_indicator_size'),
272 'eael_ext_toc_indicator_position' => $document->get_settings('eael_ext_toc_indicator_position'),
273 ];
274 foreach ($typography_fields as $typography_field) {
275 $header_fields_attr = 'eael_ext_table_of_content_header_typography_' . $typography_field;
276 $list_fields_attr = 'eael_ext_table_of_content_list_typography_normal_' . $typography_field;
277 $global_settings['eael_ext_table_of_content'][$header_fields_attr] = $document->get_settings($header_fields_attr);
278 $global_settings['eael_ext_table_of_content'][$list_fields_attr] = $document->get_settings($list_fields_attr);
279 }
280 } else {
281 if (isset($global_settings['eael_ext_table_of_content']['post_id']) && $global_settings['eael_ext_table_of_content']['post_id'] == $post_id) {
282 $global_settings['eael_ext_table_of_content'] = [];
283 }
284 }
285
286 //Scroll to Top global settings : updated on elementor/editor/after_save action
287 $global_settings['eael_ext_scroll_to_top'] = $this->get_ext_scroll_to_top_global_settings($post_id, $document, $global_settings);
288
289 // set editor time
290 update_option('eael_editor_updated_at', strtotime('now'));
291
292 // update options
293 update_option('eael_global_settings', $global_settings);
294 }
295
296 /**
297 * Save default values to db while trashing a post
298 *
299 * @since 3.0.0
300 */
301 public function save_global_values_trashed_post($post_id)
302 {
303 if (wp_doing_cron()) {
304 return;
305 }
306
307 if ( ! $this->is_activate_elementor() ) {
308 return false;
309 }
310
311 $document = Plugin::$instance->documents->get($post_id, false);
312 $global_settings = get_option('eael_global_settings');
313
314 // Reading Progress Bar
315 if ( isset($global_settings['reading_progress']['post_id']) && $global_settings['reading_progress']['post_id'] == $post_id ) {
316 $global_settings['reading_progress'] = [
317 'post_id' => null,
318 'enabled' => false,
319 ];
320 }
321
322 // Table of Contents
323 if ( isset($global_settings['eael_ext_table_of_content']['post_id']) && $global_settings['eael_ext_table_of_content']['post_id'] == $post_id ) {
324 $global_settings['eael_ext_table_of_content'] = [];
325 }
326
327 // Scroll to Top
328 if ( isset($global_settings['eael_ext_scroll_to_top']['post_id']) && $global_settings['eael_ext_scroll_to_top']['post_id'] == $post_id ) {
329 $global_settings['eael_ext_scroll_to_top'] = [
330 'post_id' => null,
331 'enabled' => false,
332 ];
333 }
334
335 // set editor time
336 update_option('eael_editor_updated_at', strtotime('now'));
337
338 // update options
339 update_option('eael_global_settings', $global_settings);
340 }
341
342 /**
343 * Get global settings of Scroll to Top extension
344 *
345 * @return array
346 * @since v5.0.0
347 */
348 public function get_ext_scroll_to_top_global_settings($post_id, $document, $global_settings){
349
350 $global_settings_scroll_to_top = !empty($global_settings['eael_ext_scroll_to_top']) ? $global_settings['eael_ext_scroll_to_top'] : array();
351 $document_settings = $document->get_settings();
352
353 if ($document->get_settings('eael_ext_scroll_to_top_global') == 'yes' && $document->get_settings('eael_ext_scroll_to_top') == 'yes') {
354 $global_settings_scroll_to_top = [
355 'post_id' => $post_id,
356 'enabled' => true,
357 'eael_ext_scroll_to_top_global_display_condition' => $document->get_settings('eael_ext_scroll_to_top_global_display_condition'),
358 'eael_ext_scroll_to_top_position_text' => $document->get_settings('eael_ext_scroll_to_top_position_text'),
359 'eael_ext_scroll_to_top_position_bottom' => $document->get_settings('eael_ext_scroll_to_top_position_bottom'),
360 'eael_ext_scroll_to_top_position_left' => $document->get_settings('eael_ext_scroll_to_top_position_left'),
361 'eael_ext_scroll_to_top_position_right' => $document->get_settings('eael_ext_scroll_to_top_position_right'),
362 'eael_ext_scroll_to_top_button_width' => $document->get_settings('eael_ext_scroll_to_top_button_width'),
363 'eael_ext_scroll_to_top_button_height' => $document->get_settings('eael_ext_scroll_to_top_button_height'),
364 'eael_ext_scroll_to_top_z_index' => $document->get_settings('eael_ext_scroll_to_top_z_index'),
365 'eael_ext_scroll_to_top_button_opacity' => $document->get_settings('eael_ext_scroll_to_top_button_opacity'),
366 'eael_ext_scroll_to_top_button_icon_image' => $document->get_settings('eael_ext_scroll_to_top_button_icon_image'),
367 'eael_ext_scroll_to_top_button_icon_size' => $document->get_settings('eael_ext_scroll_to_top_button_icon_size'),
368 'eael_ext_scroll_to_top_button_icon_svg_size' => $document->get_settings('eael_ext_scroll_to_top_button_icon_svg_size'),
369 'eael_ext_scroll_to_top_button_icon_color' => $this->eael_ext_stt_fetch_color_or_global_color($document_settings, 'eael_ext_scroll_to_top_button_icon_color'),
370 'eael_ext_scroll_to_top_button_bg_color' => $this->eael_ext_stt_fetch_color_or_global_color($document_settings, 'eael_ext_scroll_to_top_button_bg_color'),
371 'eael_ext_scroll_to_top_button_border_radius' => $document->get_settings('eael_ext_scroll_to_top_button_border_radius'),
372 ];
373 } else {
374 if (
375 ( isset($global_settings['eael_ext_scroll_to_top']['post_id']) && $global_settings['eael_ext_scroll_to_top']['post_id'] == $post_id )
376 ||
377 ( isset($global_settings['eael_ext_scroll_to_top']['post_id']) && 'publish' !== get_post_status($global_settings['eael_ext_scroll_to_top']['post_id']) )
378 ) {
379 $global_settings_scroll_to_top = [
380 'post_id' => null,
381 'enabled' => false,
382 ];
383 }
384 }
385
386 return $global_settings_scroll_to_top;
387 }
388
389 public function eael_ext_stt_fetch_color_or_global_color($settings, $control_name=''){
390 if( !isset($settings[$control_name])) {
391 return '';
392 }
393
394 $color = $settings[$control_name];
395
396 if(!empty($settings['__globals__']) && !empty($settings['__globals__'][$control_name])){
397 $color = $settings['__globals__'][$control_name];
398 $color_arr = explode('?id=', $color); //E.x. 'globals/colors/?id=primary'
399
400 $color_name = count($color_arr) > 1 ? $color_arr[1] : '';
401 if( !empty($color_name) ) {
402 $color = "var( --e-global-color-$color_name )";
403 }
404 }
405
406 return $color;
407 }
408 }
409