PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 3.2.4.1
Adminify – White Label, Admin Menu Editor, Login Customizer v3.2.4.1
4.3.1 4.3.0 4.2.26 4.2.25 4.2.24 4.2.23 4.2.22 4.2.21 4.2.20 4.2.19 4.2.18 4.2.17 4.2.16 4.2.15 4.2.14 4.2.13 4.2.12 4.2.11 4.2.10 4.2.9 4.2.8 4.2.7 4.2.6 4.2.5 4.1.17 All 164 releases
← All changes | Inc/Classes/OutputCSS.php +453 -123 4.2.73.2.4.1 View file →
@@ -1,130 +1,460 @@
1 1 <?php
2 2
3 -namespace PXLBSAdminify\Inc\Classes;
3 +namespace WPAdminify\Inc\Classes;
4 4
5 -use PXLBSAdminify\Inc\Admin\AdminSettings;
6 -use PXLBSAdminify\Inc\Classes\OutputCSS_Body;
7 -
8 -
5 +use WPAdminify\Inc\Utils ;
6 +use WPAdminify\Inc\Admin\AdminSettings ;
7 +use WPAdminify\Inc\Classes\OutputCSS_Body ;
8 +use WPAdminify\Inc\Admin\AdminSettingsModel ;
9 9 // no direct access allowed
10 -if (!defined('ABSPATH')) {
11 - exit;
10 +if ( !defined( 'ABSPATH' ) ) {
11 + exit;
12 12 }
13 -
14 -class OutputCSS
13 +class OutputCSS extends AdminSettingsModel
15 14 {
16 - public $options;
15 + public $url ;
16 + public $options ;
17 + public $admin_bar_options ;
18 + public $admin_bar_logo_light ;
19 + public $admin_bar_logo_dark ;
20 + public $custom_css_js ;
21 + public function __construct()
22 + {
23 + new OutputCSS_Body();
24 +
25 + if ( is_multisite() && is_network_admin() ) {
26 + return;
27 + // only display to network admin if multisite is enbaled
28 + }
29 +
30 + $this->options = (array) AdminSettings::get_instance()->get( 'menu_layout_settings' );
31 + $this->admin_bar_options = (array) AdminSettings::get_instance()->get( 'admin_bar_settings' );
32 + $this->admin_bar_logo_light = (array) AdminSettings::get_instance()->get( 'admin_bar_light_mode' );
33 + $this->admin_bar_logo_dark = (array) AdminSettings::get_instance()->get( 'admin_bar_dark_mode' );
34 + $this->custom_css_js = AdminSettings::get_instance()->get();
35 + add_action( 'admin_enqueue_scripts', [ $this, 'jltwp_adminify_output_styles' ], 100 );
36 + add_action( 'admin_footer', [ $this, 'jltwp_adminify_output_scripts' ], 100 );
37 + add_filter( 'admin_body_class', [ $this, 'add_body_classes' ] );
38 + }
39 +
40 + public function add_body_classes( $classes )
41 + {
42 + $options = (array) AdminSettings::get_instance()->get();
43 + $color_mode = ( !empty($options['admin_bar_mode']) ? $options['admin_bar_mode'] : 'light' );
44 + $color_preset = ( !empty($options['adminify_theme']) ? $options['adminify_theme'] : 'preset1' );
45 + $icon_style = ( !empty($this->options['icon_style']) ? $this->options['icon_style'] : 'classic' );
46 + $menu_hover_submenu = ( !empty($this->options['menu_hover_submenu']) ? $this->options['menu_hover_submenu'] : 'classic' );
47 + $menu_mode = ( !empty($this->options['menu_mode']) ? $this->options['menu_mode'] : 'classic' );
48 + $bodyclass = '';
49 + if ( $color_mode == 'light' ) {
50 + $bodyclass .= ' adminify-light-mode ';
51 + }
52 + if ( $color_mode == 'dark' ) {
53 + $bodyclass .= ' adminify-dark-mode ';
54 + }
55 + if ( $color_preset != 'preset1' ) {
56 + $bodyclass .= ' color-preset-adminify-icon-white';
57 + }
58 + // Submenu Hover Style
59 +
60 + if ( $menu_hover_submenu == 'classic' ) {
61 + $bodyclass .= ' adminify-default-v-menu ';
62 + } elseif ( $menu_hover_submenu == 'accordion' ) {
63 + $bodyclass .= ' adminify-accordion-v-menu ';
64 + } elseif ( $menu_hover_submenu == 'toggle' ) {
65 + $bodyclass .= ' adminify-toggle-v-menu ';
66 + }
67 +
68 + // Active Menu Style
69 +
70 + if ( $menu_mode == 'rounded' || $menu_mode == 'icon_menu' && $icon_style == 'rounded' ) {
71 + $bodyclass .= ' adminify-rounded-v-menu ';
72 + $bodyclass .= ' adminify-round-open-menu ';
73 + }
74 +
75 + return $classes . $bodyclass;
76 + }
77 +
78 + public function jltwp_adminify_output_styles()
79 + {
80 + $jltwp_adminify_output_css = '';
81 + // Welcome Panel Styles.
82 + $latest_wordpress_version = get_bloginfo( 'version' );
83 +
84 + if ( $latest_wordpress_version >= '6.2' ) {
85 + $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .adminify-panel-content { min-height: inherit !important }';
86 + // $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .welcome-panel-header * { color: #fff !important }';
87 + }
88 +
89 + if ( $latest_wordpress_version >= '5.0' && $latest_wordpress_version <= '5.8.4' ) {
90 + $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .button { text-shadow: none !important }';
91 + }
92 +
93 + if ( $latest_wordpress_version >= '5.9' && $latest_wordpress_version <= '5.9.3' || $latest_wordpress_version >= '6.0' ) {
94 + $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .welcome-panel .welcome-panel-header h2 { font-size: 30px;line-height: 36px; }';
95 + $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .welcome-panel .welcome-panel-header p { font-size: 16px; }';
96 + $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .welcome-panel-header { padding: 70px 408px 70px 48px; }';
97 + $jltwp_adminify_output_css .= '.welcome-panel a { text-decoration: underline; }';
98 + }
99 +
100 +
101 + if ( $latest_wordpress_version >= '6.0' ) {
102 + $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .welcome-panel .welcome-panel-header p a{ color:#3c434a !important; }';
103 + $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .welcome-panel-header { padding: 80px 408px 80px 48px; }';
104 + }
105 +
106 + if ( $latest_wordpress_version >= '6.1' ) {
107 + $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .welcome-panel .welcome-panel-header p a{ color:#fff !important; }';
108 + }
109 + // Logo Text Light
110 + if ( !empty($this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['font-size']) ) {
111 + $jltwp_adminify_output_css .= '.wp-adminify .navbar .wp-adminify-site-name { font-size: ' . esc_attr( $this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['font-size'] ) . 'px !important; }';
112 + }
113 + if ( !empty($this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['font-family']) ) {
114 + $jltwp_adminify_output_css .= '.wp-adminify .navbar .wp-adminify-site-name { font-family: ' . esc_attr( $this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['font-family'] ) . '; }';
115 + }
116 + if ( !empty($this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['font-weight']) ) {
117 + $jltwp_adminify_output_css .= '.wp-adminify .navbar .wp-adminify-site-name { font-weight: ' . esc_attr( $this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['font-weight'] ) . ' !important; }';
118 + }
119 + if ( !empty($this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['text-transform']) ) {
120 + $jltwp_adminify_output_css .= '.wp-adminify .navbar .wp-adminify-site-name { text-transform: ' . esc_attr( $this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['text-transform'] ) . '; }';
121 + }
122 + if ( !empty($this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['text-decoration']) ) {
123 + $jltwp_adminify_output_css .= '.wp-adminify .navbar .wp-adminify-site-name { text-decoration: ' . esc_attr( $this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['text-decoration'] ) . '; }';
124 + }
125 + if ( !empty($this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['line-height']) ) {
126 + $jltwp_adminify_output_css .= '.wp-adminify .navbar .wp-adminify-site-name { line-height: ' . esc_attr( $this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['line-height'] ) . 'px !important; }';
127 + }
128 + if ( !empty($this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['letter-spacing']) ) {
129 + $jltwp_adminify_output_css .= '.wp-adminify .navbar .wp-adminify-site-name { letter-spacing: ' . esc_attr( $this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['letter-spacing'] ) . 'px; }';
130 + }
131 + if ( !empty($this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['word-spacing']) ) {
132 + $jltwp_adminify_output_css .= '.wp-adminify .navbar .wp-adminify-site-name { word-spacing: ' . esc_attr( $this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['word-spacing'] ) . 'px; }';
133 + }
134 + if ( !empty($this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['color']) ) {
135 + $jltwp_adminify_output_css .= '.wp-adminify .navbar .wp-adminify-site-name { color: ' . esc_attr( $this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['color'] ) . ' !important; }';
136 + }
137 + // Logo Text Dark
138 + if ( !empty($this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['font-size']) ) {
139 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-dark-mode .navbar .wp-adminify-site-name { font-size: ' . esc_attr( $this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['font-size'] ) . 'px !important; }';
140 + }
141 + if ( !empty($this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['font-family']) ) {
142 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-dark-mode .navbar .wp-adminify-site-name { font-family: ' . esc_attr( $this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['font-family'] ) . '; }';
143 + }
144 + if ( !empty($this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['font-weight']) ) {
145 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-dark-mode .navbar .wp-adminify-site-name { font-weight: ' . esc_attr( $this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['font-weight'] ) . ' !important; }';
146 + }
147 + if ( !empty($this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['text-transform']) ) {
148 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-dark-mode .navbar .wp-adminify-site-name { text-transform: ' . esc_attr( $this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['text-transform'] ) . '; }';
149 + }
150 + if ( !empty($this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['text-decoration']) ) {
151 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-dark-mode .navbar .wp-adminify-site-name { text-decoration: ' . esc_attr( $this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['text-decoration'] ) . '; }';
152 + }
153 + if ( !empty($this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['line-height']) ) {
154 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-dark-mode .navbar .wp-adminify-site-name { line-height: ' . esc_attr( $this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['line-height'] ) . 'px !important; }';
155 + }
156 + if ( !empty($this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['letter-spacing']) ) {
157 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-dark-mode .navbar .wp-adminify-site-name { letter-spacing: ' . esc_attr( $this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['letter-spacing'] ) . 'px; }';
158 + }
159 + if ( !empty($this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['word-spacing']) ) {
160 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-dark-mode .navbar .wp-adminify-site-name { word-spacing: ' . esc_attr( $this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['word-spacing'] ) . 'px; }';
161 + }
162 + if ( !empty($this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['color']) ) {
163 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-dark-mode .navbar .wp-adminify-site-name { color: ' . esc_attr( $this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['color'] ) . ' !important; }';
164 + }
165 + // Admin Bar Typography Settings
166 + // font size
167 +
168 + if ( !empty($this->admin_bar_options['admin_bar_font_typography']['font-size']) ) {
169 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-top_bar #wpadminbar .ab-top-menu > li > a.ab-item, .wp-adminify.adminify-top_bar #wpadminbar .ab-top-menu > li > a.ab-item > .ab-label, .wp-adminify.adminify-top_bar #wpadminbar .ab-top-menu > li > a.ab-item > .ab-icon:before { font-size: ' . ($this->admin_bar_options['admin_bar_font_typography']['font-size'] - 1) . 'px !important; }';
170 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-top_bar #wpadminbar .ab-submenu > li > a.ab-item, .wp-adminify.adminify-top_bar #wpadminbar .ab-submenu > li > a.ab-item span { font-size: ' . esc_attr( $this->admin_bar_options['admin_bar_font_typography']['font-size'] ) . 'px !important; }';
171 + }
172 +
173 + // text align
174 + if ( !empty($this->admin_bar_options['admin_bar_font_typography']['text-align']) ) {
175 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-top_bar #wpadminbar .ab-top-menu > li > a.ab-item, .wp-adminify.adminify-top_bar #wpadminbar .ab-top-menu > li > a.ab-item > .ab-label, .wp-adminify.adminify-top_bar #wpadminbar .ab-submenu > li > a.ab-item, .wp-adminify.adminify-top_bar #wpadminbar .ab-submenu > li > a.ab-item span { text-align: ' . esc_attr( $this->admin_bar_options['admin_bar_font_typography']['text-align'] ) . '; }';
176 + }
177 + // text transform
178 + if ( !empty($this->admin_bar_options['admin_bar_font_typography']['text-transform']) ) {
179 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-top_bar #wpadminbar .ab-top-menu > li > a.ab-item, .wp-adminify.adminify-top_bar #wpadminbar .ab-top-menu > li > a.ab-item > .ab-label, .wp-adminify.adminify-top_bar #wpadminbar .ab-submenu > li > a.ab-item, .wp-adminify.adminify-top_bar #wpadminbar .ab-submenu > li > a.ab-item span { text-transform: ' . esc_attr( $this->admin_bar_options['admin_bar_font_typography']['text-transform'] ) . '; }';
180 + }
181 + // text decoration
182 + if ( !empty($this->admin_bar_options['admin_bar_font_typography']['text-decoration']) ) {
183 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-top_bar #wpadminbar .ab-top-menu > li > a.ab-item, .wp-adminify.adminify-top_bar #wpadminbar .ab-top-menu > li > a.ab-item > .ab-label, .wp-adminify.adminify-top_bar #wpadminbar .ab-submenu > li > a.ab-item, .wp-adminify.adminify-top_bar #wpadminbar .ab-submenu > li > a.ab-item span { text-decoration: ' . esc_attr( $this->admin_bar_options['admin_bar_font_typography']['text-decoration'] ) . '; }';
184 + }
185 + // line height
186 + if ( !empty($this->admin_bar_options['admin_bar_font_typography']['line-height']) ) {
187 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-top_bar #wpadminbar .ab-top-menu > li > a.ab-item, .wp-adminify.adminify-top_bar #wpadminbar .ab-top-menu > li > a.ab-item > .ab-label, .wp-adminify.adminify-top_bar #wpadminbar .ab-submenu > li > a.ab-item, .wp-adminify.adminify-top_bar #wpadminbar .ab-submenu > li > a.ab-item span { line-height: ' . esc_attr( $this->admin_bar_options['admin_bar_font_typography']['line-height'] ) . 'px !important; }';
188 + }
189 + // letter spacing
190 + if ( !empty($this->admin_bar_options['admin_bar_font_typography']['letter-spacing']) ) {
191 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-top_bar #wpadminbar .ab-top-menu > li > a.ab-item, .wp-adminify.adminify-top_bar #wpadminbar .ab-top-menu > li > a.ab-item > .ab-label, .wp-adminify.adminify-top_bar #wpadminbar .ab-submenu > li > a.ab-item, .wp-adminify.adminify-top_bar #wpadminbar .ab-submenu > li > a.ab-item span { letter-spacing: ' . esc_attr( $this->admin_bar_options['admin_bar_font_typography']['letter-spacing'] ) . 'px !important; }';
192 + }
193 + // Menu Styles
194 + // Typography Settings
195 + // if (!empty($this->options['menu_styles']['menu_typography']['font-family'])) {
196 + // if ($this->options['layout_type'] === 'vertical') {
197 + // $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.menu-top, .wp-adminify #adminmenu .wp-submenu li a { font-family: ' . esc_attr( $this->options['menu_styles']['menu_typography']['font-family']) . '}';
198 + // }
199 + // if (jltwp_adminify()->can_use_premium_code__premium_only()) {
200 + // if ($this->options['layout_type'] === 'horizontal') {
201 + // $jltwp_adminify_output_css .= '.wp-adminify.horizontal-menu .wp-adminify-horizontal-menu ul.horizontal-menu li a, .wp-adminify.horizontal-menu .wp-adminify-horizontal-menu ul.horizontal-menu .wp-submenu li a { font-family: ' . esc_attr($this->options['menu_styles']['menu_typography']['font-family']) . '}';
202 + // }
203 + // }
204 + // }
205 + if ( !empty($this->options['menu_styles']['menu_typography']['font-weight']) ) {
206 + if ( $this->options['layout_type'] === 'vertical' ) {
207 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.menu-top, .wp-adminify #adminmenu .wp-submenu li a { font-weight: ' . esc_attr( $this->options['menu_styles']['menu_typography']['font-weight'] ) . '}';
208 + }
209 + }
210 + if ( !empty($this->options['menu_styles']['menu_typography']['text-align']) ) {
211 + if ( $this->options['layout_type'] === 'vertical' ) {
212 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.menu-top, .wp-adminify #adminmenu .wp-submenu li a { text-align: ' . esc_attr( $this->options['menu_styles']['menu_typography']['text-align'] ) . '}';
213 + }
214 + }
215 + if ( !empty($this->options['menu_styles']['menu_typography']['text-transform']) ) {
216 + if ( $this->options['layout_type'] === 'vertical' ) {
217 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.menu-top, .wp-adminify #adminmenu .wp-submenu li a { text-transform: ' . esc_attr( $this->options['menu_styles']['menu_typography']['text-transform'] ) . '}';
218 + }
219 + }
220 + if ( !empty($this->options['menu_styles']['menu_typography']['font-size']) ) {
221 + if ( $this->options['layout_type'] === 'vertical' ) {
222 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.menu-top, .wp-adminify #adminmenu .wp-submenu li a { font-size: ' . esc_attr( $this->options['menu_styles']['menu_typography']['font-size'] ) . 'px;}';
223 + }
224 + }
225 + if ( !empty($this->options['menu_styles']['menu_typography']['line-height']) ) {
226 + if ( $this->options['layout_type'] === 'vertical' ) {
227 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.menu-top, .wp-adminify #adminmenu .wp-submenu li a { line-height: ' . esc_attr( $this->options['menu_styles']['menu_typography']['line-height'] ) . 'px;}';
228 + }
229 + }
230 + if ( !empty($this->options['menu_styles']['menu_typography']['letter-spacing']) ) {
231 + if ( $this->options['layout_type'] === 'vertical' ) {
232 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.menu-top, .wp-adminify #adminmenu .wp-submenu li a { letter-spacing: ' . esc_attr( $this->options['menu_styles']['menu_typography']['letter-spacing'] ) . 'px;}';
233 + }
234 + }
235 + if ( !empty($this->options['menu_styles']['menu_typography']['text-decoration']) ) {
236 + if ( $this->options['layout_type'] === 'vertical' ) {
237 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.menu-top, .wp-adminify #adminmenu .wp-submenu li a { text-decoration: ' . esc_attr( $this->options['menu_styles']['menu_typography']['text-decoration'] ) . ';}';
238 + }
239 + }
240 + // Menu Wrapper Padding
241 + if ( !empty($this->options['menu_styles']['menu_wrapper_padding']['top']) && $this->options['menu_styles']['menu_wrapper_padding']['top'] !== '' ) {
242 + if ( $this->options['layout_type'] === 'vertical' ) {
243 + $jltwp_adminify_output_css .= '.wp_adminify_sidebar_admin-menu { padding-top: ' . esc_attr( $this->options['menu_styles']['menu_wrapper_padding']['top'] ) . esc_attr( $this->options['menu_styles']['menu_wrapper_padding']['unit'] ) . ';}';
244 + }
245 + }
246 + if ( !empty($this->options['menu_styles']['menu_wrapper_padding']['right']) && $this->options['menu_styles']['menu_wrapper_padding']['right'] !== '' ) {
247 + if ( $this->options['layout_type'] === 'vertical' ) {
248 + $jltwp_adminify_output_css .= '.wp_adminify_sidebar_admin-menu { padding-right: ' . esc_attr( $this->options['menu_styles']['menu_wrapper_padding']['right'] ) . esc_attr( $this->options['menu_styles']['menu_wrapper_padding']['unit'] ) . ';}';
249 + }
250 + }
251 + if ( !empty($this->options['menu_styles']['menu_wrapper_padding']['bottom']) && $this->options['menu_styles']['menu_wrapper_padding']['bottom'] !== '' ) {
252 + if ( $this->options['layout_type'] === 'vertical' ) {
253 + $jltwp_adminify_output_css .= '.wp_adminify_sidebar_admin-menu { padding-bottom: ' . esc_attr( $this->options['menu_styles']['menu_wrapper_padding']['bottom'] ) . esc_attr( $this->options['menu_styles']['menu_wrapper_padding']['unit'] ) . ';}';
254 + }
255 + }
256 + if ( !empty($this->options['menu_styles']['menu_wrapper_padding']['left']) && $this->options['menu_styles']['menu_wrapper_padding']['left'] !== '' ) {
257 + if ( $this->options['layout_type'] === 'vertical' ) {
258 + $jltwp_adminify_output_css .= '.wp_adminify_sidebar_admin-menu { padding-left: ' . esc_attr( $this->options['menu_styles']['menu_wrapper_padding']['left'] ) . esc_attr( $this->options['menu_styles']['menu_wrapper_padding']['unit'] ) . ';}';
259 + }
260 + }
261 + // Sub Menu Wrapper Padding
262 + if ( !empty($this->options['menu_styles']['submenu_wrapper_padding']['top']) && $this->options['menu_styles']['submenu_wrapper_padding']['top'] !== '' ) {
263 + if ( $this->options['layout_type'] === 'vertical' ) {
264 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top.wp-menu-open .wp-submenu { padding-top: ' . esc_attr( $this->options['menu_styles']['submenu_wrapper_padding']['top'] ) . esc_attr( $this->options['menu_styles']['submenu_wrapper_padding']['unit'] ) . ';}';
265 + }
266 + }
267 + if ( !empty($this->options['menu_styles']['submenu_wrapper_padding']['right']) && $this->options['menu_styles']['submenu_wrapper_padding']['right'] !== '' ) {
268 + if ( $this->options['layout_type'] === 'vertical' ) {
269 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top.wp-menu-open .wp-submenu { padding-right: ' . esc_attr( $this->options['menu_styles']['submenu_wrapper_padding']['right'] ) . esc_attr( $this->options['menu_styles']['submenu_wrapper_padding']['unit'] ) . ';}';
270 + }
271 + }
272 + if ( !empty($this->options['menu_styles']['submenu_wrapper_padding']['bottom']) && $this->options['menu_styles']['submenu_wrapper_padding']['bottom'] !== '' ) {
273 + if ( $this->options['layout_type'] === 'vertical' ) {
274 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top.wp-menu-open .wp-submenu { padding-bottom: ' . esc_attr( $this->options['menu_styles']['submenu_wrapper_padding']['bottom'] ) . esc_attr( $this->options['menu_styles']['submenu_wrapper_padding']['unit'] ) . ';}';
275 + }
276 + }
277 + if ( !empty($this->options['menu_styles']['submenu_wrapper_padding']['left']) && $this->options['menu_styles']['submenu_wrapper_padding']['left'] !== '' ) {
278 + if ( $this->options['layout_type'] === 'vertical' ) {
279 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top.wp-menu-open .wp-submenu { padding-left: ' . esc_attr( $this->options['menu_styles']['submenu_wrapper_padding']['left'] ) . esc_attr( $this->options['menu_styles']['submenu_wrapper_padding']['unit'] ) . ';}';
280 + }
281 + }
282 + // Vertical Menu Parent Padding
283 + if ( !empty($this->options['layout_type']) === 'vertical' ) {
284 + if ( !empty($this->options['menu_styles']['menu_vertical_padding']) ) {
285 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp-submenu-wrap, .wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.menu-top { padding:' . esc_attr( $this->options['menu_styles']['menu_vertical_padding'] ) . 'px 0;}';
286 + }
287 + }
288 + // Submenu Item Padding
289 + if ( !empty($this->options['layout_type']) === 'vertical' ) {
290 + // Sub Menu Vertical Padding
291 + if ( !empty($this->options['menu_styles']['submenu_vertical_space']) ) {
292 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp-submenu li a { padding:' . esc_attr( $this->options['menu_styles']['submenu_vertical_space'] ) . 'px 0px !important;}';
293 + }
294 + }
295 + // Parent Menu Colors
296 + // Background Color
297 + if ( !empty($this->options['menu_styles']['parent_menu_colors']['wrap_bg']) ) {
298 +
299 + if ( $this->options['layout_type'] === 'vertical' ) {
300 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu, .wp-adminify #adminmenuback, .wp-adminify #adminmenuwrap, .wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top.wp-menu-open { background:' . esc_attr( $this->options['menu_styles']['parent_menu_colors']['wrap_bg'] ) . ' !important;}';
301 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-round-open-menu #adminmenu .wp_adminify_admin-menu li.wp-adminify-active > a.menu-top::before, .wp-adminify.adminify-round-open-menu #adminmenu .wp_adminify_admin-menu li.wp-adminify-active > a.menu-top:after{ background-color:' . esc_attr( $this->options['menu_styles']['parent_menu_colors']['wrap_bg'] ) . ' !important;}';
302 + }
303 +
304 + }
305 + // Menu Item Hover Background
306 + if ( !empty($this->options['menu_styles']['parent_menu_colors']['hover_bg']) ) {
307 +
308 + if ( $this->options['layout_type'] === 'vertical' ) {
309 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.menu-top:hover { background:' . esc_attr( $this->options['menu_styles']['parent_menu_colors']['hover_bg'] ) . ' !important;}';
310 + $jltwp_adminify_output_css .= '.wp-adminify.folded #adminmenu .wp_adminify_admin-menu li.menu-top:hover { background: inherit !important;}';
311 + $jltwp_adminify_output_css .= '.wp-adminify.folded #adminmenu .wp_adminify_admin-menu li.menu-top:hover a.menu-top .wp-adminify-icon-button:not(.svg-image-icon) { background: inherit !important;}';
312 + $jltwp_adminify_output_css .= '.wp-adminify.folded #adminmenu .wp_adminify_admin-menu li.menu-top:hover a.menu-top .wp-adminify-icon-button.svg-image-icon { background-color: transparent !important;}';
313 + }
314 +
315 + }
316 + // Text Color
317 + if ( !empty($this->options['menu_styles']['parent_menu_colors']['text_color']) ) {
318 +
319 + if ( $this->options['layout_type'] === 'vertical' ) {
320 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a, .wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a .wp-adminify-icon-button:before { color:' . esc_attr( $this->options['menu_styles']['parent_menu_colors']['text_color'] ) . ' !important;}';
321 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a .wp-adminify-icon-button svg path { fill:' . esc_attr( $this->options['menu_styles']['parent_menu_colors']['text_color'] ) . ' !important;}';
322 + }
323 +
324 + }
325 + // Text Color
326 + if ( !empty($this->options['menu_styles']['parent_menu_colors']['text_hover']) ) {
327 +
328 + if ( $this->options['layout_type'] === 'vertical' ) {
329 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.menu-top:hover, .wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.menu-top:hover .wp-adminify-icon-button:before ,.wp-adminify.folded.adminify-rounded-v-menu #adminmenu .wp_adminify_admin-menu li.menu-top:hover a.menu-top .wp-adminify-icon-button:before{ color:' . esc_attr( $this->options['menu_styles']['parent_menu_colors']['text_hover'] ) . ' !important;}';
330 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.menu-top:hover .wp-adminify-icon-button svg path { fill:' . esc_attr( $this->options['menu_styles']['parent_menu_colors']['text_hover'] ) . ' !important;}';
331 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.menu-top.toplevel_page_wp-adminify-settings:hover .wp-adminify-icon-button { filter: none !important;}';
332 + $jltwp_adminify_output_css .= '.wp-adminify.folded #adminmenu .wp_adminify_admin-menu li.menu-top:hover a.menu-top:before{ background-color:' . esc_attr( $this->options['menu_styles']['parent_menu_colors']['text_hover'] ) . ' !important;}';
333 + }
334 +
335 + }
336 + // Active Menu Background Color
337 + if ( !empty($this->options['menu_styles']['parent_menu_colors']['active_bg']) ) {
338 +
339 + if ( $this->options['layout_type'] === 'vertical' ) {
340 + $jltwp_adminify_output_css .= '.wp-adminify:not(.adminify-round-open-menu) #adminmenu .wp_adminify_admin-menu li.menu-top.wp-adminify-active > a { background:' . esc_attr( $this->options['menu_styles']['parent_menu_colors']['active_bg'] ) . ' !important;}';
341 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-round-open-menu #adminmenu .wp_adminify_admin-menu li.wp-adminify-active > a.menu-top,.wp-adminify.adminify-round-open-menu #adminmenu .wp_adminify_admin-menu li.wp-adminify-active:before, .wp-adminify.adminify-round-open-menu #adminmenu .wp_adminify_admin-menu li.wp-adminify-active:after{ background-color:' . esc_attr( $this->options['menu_styles']['parent_menu_colors']['active_bg'] ) . ' !important;}';
342 + $jltwp_adminify_output_css .= '.wp-adminify.folded #adminmenu .wp_adminify_admin-menu li.wp-adminify-active a.menu-top .wp-adminify-icon-button:not(.svg-image-icon) { background: inherit !important;}';
343 + $jltwp_adminify_output_css .= '.wp-adminify.folded #adminmenu .wp_adminify_admin-menu li.wp-adminify-active a.menu-top .wp-adminify-icon-button.svg-image-icon { background-color: inherit !important;}';
344 + }
345 +
346 + }
347 + if ( !empty($this->options['menu_styles']['parent_menu_colors']['active_color']) ) {
348 +
349 + if ( $this->options['layout_type'] === 'vertical' ) {
350 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.wp-adminify-active, .wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.wp-adminify-active .wp-adminify-icon-button:before, .wp-adminify.folded.adminify-rounded-v-menu #adminmenu .wp_adminify_admin-menu li.menu-top.wp-adminify-active a.menu-top .wp-adminify-icon-button:before{ color:' . esc_attr( $this->options['menu_styles']['parent_menu_colors']['active_color'] ) . ' !important;}';
351 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.wp-adminify-active .wp-adminify-icon-button svg path { fill:' . esc_attr( $this->options['menu_styles']['parent_menu_colors']['active_color'] ) . ' !important;}';
352 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.wp-adminify-active.toplevel_page_wp-adminify-settings .wp-adminify-icon-button { filter: none !important;}';
353 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top.wp-adminify-active > a:before { background-color: ' . esc_attr( $this->options['menu_styles']['parent_menu_colors']['active_color'] ) . ' !important;}';
354 + }
355 +
356 + }
357 + // Sub Menu Colors
358 + if ( !empty($this->options['menu_styles']['sub_menu_colors']['wrap_bg']) ) {
359 +
360 + if ( $this->options['layout_type'] === 'vertical' ) {
361 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top .wp-submenu, .wp-adminify #adminmenu .wp-not-current-submenu .wp-submenu { background:' . esc_attr( $this->options['menu_styles']['sub_menu_colors']['wrap_bg'] ) . ' !important;}';
362 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top .wp-submenu, .wp-adminify #adminmenu .wp-not-current-submenu .wp-submenu { border-top-right-radius: 19px !important;}';
363 + }
364 +
365 + }
366 + if ( !empty($this->options['menu_styles']['sub_menu_colors']['hover_bg']) ) {
367 +
368 + if ( $this->options['layout_type'] === 'vertical' ) {
369 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top .wp-submenu li a:hover { background:' . esc_attr( $this->options['menu_styles']['sub_menu_colors']['hover_bg'] ) . ' !important;}';
370 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top.wp-menu-open .wp-submenu li a:hover { background:' . esc_attr( $this->options['menu_styles']['sub_menu_colors']['hover_bg'] ) . ' !important;}';
371 + }
372 +
373 + }
374 + if ( !empty($this->options['menu_styles']['sub_menu_colors']['text_color']) ) {
375 +
376 + if ( $this->options['layout_type'] === 'vertical' ) {
377 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top .wp-submenu li a { color:' . esc_attr( $this->options['menu_styles']['sub_menu_colors']['text_color'] ) . ' !important;}';
378 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top.wp-menu-open .wp-submenu li a { color:' . esc_attr( $this->options['menu_styles']['sub_menu_colors']['text_color'] ) . ' !important;}';
379 + }
380 +
381 + }
382 + if ( !empty($this->options['menu_styles']['sub_menu_colors']['text_hover']) ) {
383 +
384 + if ( $this->options['layout_type'] === 'vertical' ) {
385 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top .wp-submenu li a:hover { color:' . esc_attr( $this->options['menu_styles']['sub_menu_colors']['text_hover'] ) . ' !important;}';
386 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top.wp-menu-open .wp-submenu li a:hover { color:' . esc_attr( $this->options['menu_styles']['sub_menu_colors']['text_hover'] ) . ' !important;}';
387 + }
388 +
389 + }
390 + if ( !empty($this->options['menu_styles']['sub_menu_colors']['active_bg']) ) {
391 +
392 + if ( $this->options['layout_type'] === 'vertical' ) {
393 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top .wp-submenu li a.current { background:' . esc_attr( $this->options['menu_styles']['sub_menu_colors']['active_bg'] ) . ' !important;}';
394 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top.wp-menu-open .wp-submenu li a.current { background:' . esc_attr( $this->options['menu_styles']['sub_menu_colors']['active_bg'] ) . ' !important;}';
395 + }
396 +
397 + }
398 + if ( !empty($this->options['menu_styles']['sub_menu_colors']['active_color']) ) {
399 +
400 + if ( $this->options['layout_type'] === 'vertical' ) {
401 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top .wp-submenu li a.current { color:' . esc_attr( $this->options['menu_styles']['sub_menu_colors']['active_color'] ) . ' !important;}';
402 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top.wp-menu-open .wp-submenu li a.current { color:' . esc_attr( $this->options['menu_styles']['sub_menu_colors']['active_color'] ) . ' !important;}';
403 + }
404 +
405 + }
406 + // Notification Counter
407 + // Background Color
408 + if ( !empty($this->options['menu_styles']['notif_colors']['notif_bg']) ) {
409 + if ( $this->options['layout_type'] === 'vertical' ) {
410 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li .awaiting-mod, .wp-adminify #adminmenu .wp_adminify_admin-menu li .update-plugins, .wp-adminify #adminmenu .wp_adminify_admin-menu #sidemenu li a span.update-plugins, .wp-adminify #adminmenu .wp_adminify_admin-menu li a.wp-has-current-submenu .update-plugins
411 + { background-color:' . esc_attr( $this->options['menu_styles']['notif_colors']['notif_bg'] ) . ' !important;}';
412 + }
413 + }
414 + if ( !empty($this->options['menu_styles']['notif_colors']['notif_color']) ) {
415 + if ( $this->options['layout_type'] === 'vertical' ) {
416 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .awaiting-mod, .wp-adminify #adminmenu .update-plugins, .wp-adminify #sidemenu li a span.update-plugins, .wp-adminify #adminmenu li a.wp-has-current-submenu .update-plugins { color:' . esc_attr( $this->options['menu_styles']['notif_colors']['notif_color'] ) . ';}';
417 + }
418 + }
419 + if ( Utils::is_plugin_active( 'brizy/brizy.php' ) ) {
420 + $jltwp_adminify_output_css .= '.brz-review-notice-container a { padding-left: 14px !important; }';
421 + }
422 + // Combine the values from above and minifiy them.
423 + $jltwp_adminify_output_css = preg_replace( '#/\\*.*?\\*/#s', '', $jltwp_adminify_output_css );
424 + $jltwp_adminify_output_css = preg_replace( '/\\s*([{}|:;,])\\s+/', '$1', $jltwp_adminify_output_css );
425 + $jltwp_adminify_output_css = preg_replace( '/\\s\\s+(.*)/', '$1', $jltwp_adminify_output_css );
426 + $adminify_ui = AdminSettings::get_instance()->get( 'admin_ui' );
427 +
428 + if ( !empty($adminify_ui) ) {
429 + wp_add_inline_style( 'wp-adminify-admin', wp_strip_all_tags( $jltwp_adminify_output_css ) );
430 + } else {
431 + wp_add_inline_style( 'wp-adminify-default-ui', wp_strip_all_tags( $jltwp_adminify_output_css ) );
432 + }
433 +
434 + // Custom CSS
435 +
436 + if ( !empty($this->custom_css_js['custom_css']) ) {
437 + echo "\n<!-- Start of WP Adminify - Admin Area Custom CSS -->\n" ;
438 + echo "<style>\n" ;
439 + echo wp_strip_all_tags( $this->custom_css_js['custom_css'] ) ;
440 + echo "\n</style>" ;
441 + echo "\n<!-- /End of WP Adminify - Admin Area Custom CSS -->\n" ;
442 + }
443 +
444 + }
445 +
446 + public function jltwp_adminify_output_scripts()
447 + {
448 + // Custom JS
449 +
450 + if ( !empty($this->custom_css_js['custom_js']) ) {
451 + echo "\n<!-- Start of WP Adminify - Admin Area Custom JS -->\n" ;
452 + echo "<script>\n" ;
453 + echo wp_strip_all_tags( $this->custom_css_js['custom_js'] ) ;
454 + echo "\n</script>" ;
455 + echo "\n<!-- /End of WP Adminify - Admin Area Custom JS -->\n" ;
456 + }
457 +
458 + }
17 459
18 - public function __construct()
19 - {
20 - $this->options = (array) AdminSettings::get_instance()->get();
21 -
22 - new OutputCSS_Body();
23 -
24 - if (is_multisite() && is_network_admin()) {
25 - return; // only display to network admin if multisite is enbaled
26 - }
27 -
28 - add_action('admin_enqueue_scripts', [$this, 'output_styles'], 100);
29 - add_action('admin_footer', [$this, 'output_scripts'], 100);
30 - add_filter('admin_body_class', [$this, 'add_body_classes']);
31 - }
32 -
33 - public function add_body_classes($classes)
34 - {
35 - $folded = $this->options['menu_layout_settings']['menu_mode'] === 'icon_menu' ? 'folded' : '';
36 - // Per-user color_mode meta (saved by the topbar toggle) overrides the global
37 - // admin_ui_mode. Without this, toggling Dark would not persist visually on
38 - // reload because the body class would stay at the global default ('light').
39 - $global_color_mode = !empty($this->options['light_dark_mode']['admin_ui_mode']) ? $this->options['light_dark_mode']['admin_ui_mode'] : 'light';
40 - $user_color_mode = get_user_meta(get_current_user_id(), 'color_mode', true);
41 - $color_mode = !empty($user_color_mode) ? $user_color_mode : $global_color_mode;
42 - $color_preset = !empty($this->options['adminify_theme']) ? $this->options['adminify_theme'] : 'preset1';
43 - // $icon_style = !empty($this->options['menu_layout_settings']['icon_style']) ? $this->options['menu_layout_settings']['icon_style'] : 'classic';
44 - // $menu_hover_submenu = !empty($this->options['menu_layout_settings']['menu_hover_submenu']) ? $this->options['menu_layout_settings']['menu_hover_submenu'] : 'classic';
45 - // $menu_mode = !empty($this->options['menu_layout_settings']['menu_mode']) ? $this->options['menu_layout_settings']['menu_mode'] : 'classic';
46 -
47 - $bodyclass = '';
48 - if($folded) {
49 - $bodyclass .= ' ' . $folded;
50 - }
51 -
52 - if ($color_mode == 'light') {
53 - $bodyclass .= ' adminify-light-mode ';
54 - }
55 - if ($color_mode == 'dark') {
56 - $bodyclass .= ' adminify-dark-mode ';
57 - }
58 -
59 - if ($color_preset != 'preset1') {
60 - $bodyclass .= ' color-preset-adminify-icon-white';
61 - }
62 -
63 -
64 - // // Submenu Hover Style
65 - // if ($menu_hover_submenu == 'classic') {
66 - // $bodyclass .= ' adminify-default-v-menu ';
67 - // } elseif ($menu_hover_submenu == 'accordion') {
68 - // $bodyclass .= ' adminify-accordion-v-menu ';
69 - // } elseif ($menu_hover_submenu == 'toggle') {
70 - // $bodyclass .= ' adminify-toggle-v-menu ';
71 - // }
72 -
73 - // // Active Menu Style
74 - // if (($menu_mode == 'rounded') || (($menu_mode == 'icon_menu') && ($icon_style == 'rounded'))) {
75 - // $bodyclass .= ' adminify-rounded-v-menu ';
76 - // $bodyclass .= ' adminify-round-open-menu ';
77 - // }
78 -
79 - return $classes . $bodyclass;
80 - }
81 -
82 - public function output_styles()
83 - {
84 - // $pxlbsadminify_output_css = '';
85 - // $pxlbsadminify_output_css.= 'body.wp-adminify{';
86 -
87 - // $pxlbsadminify_output_css.= '}';
88 -
89 - // // Combine the values from above and minifiy them.
90 - // $pxlbsadminify_output_css = preg_replace('#/\*.*?\*/#s', '', $pxlbsadminify_output_css);
91 - // $pxlbsadminify_output_css = preg_replace('/\s*([{}|:;,])\s+/', '$1', $pxlbsadminify_output_css);
92 - // $pxlbsadminify_output_css = preg_replace('/\s\s+(.*)/', '$1', $pxlbsadminify_output_css);
93 -
94 - // $adminify_ui = AdminSettings::get_instance()->get('admin_ui');
95 -
96 - // if (!empty($adminify_ui)) {
97 - // wp_add_inline_style('wp-adminify-admin', wp_strip_all_tags($pxlbsadminify_output_css));
98 - // } else {
99 - // wp_add_inline_style('wp-adminify-default-ui', wp_strip_all_tags($pxlbsadminify_output_css));
100 - // }
101 -
102 - // Custom CSS
103 - if (!empty($this->options['devtools_tabs']['custom_css'])) {
104 - echo "\n<!-- Start of Adminify - Admin Area Custom CSS -->\n";
105 - echo "<style>\n";
106 - echo esc_html( wp_strip_all_tags($this->options['devtools_tabs']['custom_css']) );
107 - echo "\n</style>";
108 - echo "\n<!-- /End of Adminify - Admin Area Custom CSS -->\n";
109 - }
110 - }
111 -
112 - public function output_scripts()
113 - {
114 - // Custom JS (admin-defined developer tool, saved only by users with the plugin's settings capability).
115 - if (!empty($this->options['devtools_tabs']['custom_js'])) {
116 - $custom_js = html_entity_decode($this->options['devtools_tabs']['custom_js']);
117 - echo "\n<!-- Start of Adminify - Admin Area Custom JS -->\n";
118 - // Emit through the core helper, which builds a properly-formed inline <script> tag.
119 - if (function_exists('wp_print_inline_script_tag')) {
120 - wp_print_inline_script_tag($custom_js);
121 - } else {
122 - // Fallback for WP < 5.7: neutralise any premature closing tag before printing.
123 - echo "<script>\n";
124 - echo str_replace('</script>', '<\/script>', $custom_js); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- executable inline JS cannot be HTML-escaped; closing tag is neutralised and the value is admin-only config.
125 - echo "\n</script>";
126 - }
127 - echo "\n<!-- /End of Adminify - Admin Area Custom JS -->\n";
128 - }
129 - }
130 -}
460 +}