PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 3.1.9
Adminify – White Label, Admin Menu Editor, Login Customizer v3.1.9
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 +451 -123 4.2.213.1.9 View file →
@@ -1,130 +1,458 @@
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 $custom_css_js ;
19 + public function __construct()
20 + {
21 + new OutputCSS_Body();
22 +
23 + if ( is_multisite() && is_network_admin() ) {
24 + return;
25 + // only display to network admin if multisite is enbaled
26 + }
27 +
28 + $this->options = (array) AdminSettings::get_instance()->get( 'menu_layout_settings' );
29 + $this->admin_bar_options = (array) AdminSettings::get_instance()->get( 'admin_bar_settings' );
30 + $this->admin_bar_logo_light = (array) AdminSettings::get_instance()->get( 'admin_bar_light_mode' );
31 + $this->admin_bar_logo_dark = (array) AdminSettings::get_instance()->get( 'admin_bar_dark_mode' );
32 + $this->custom_css_js = AdminSettings::get_instance()->get();
33 + add_action( 'admin_enqueue_scripts', [ $this, 'jltwp_adminify_output_styles' ], 100 );
34 + add_action( 'admin_footer', [ $this, 'jltwp_adminify_output_scripts' ], 100 );
35 + add_filter( 'admin_body_class', [ $this, 'add_body_classes' ] );
36 + }
37 +
38 + public function add_body_classes( $classes )
39 + {
40 + $options = (array) AdminSettings::get_instance()->get();
41 + $color_mode = ( !empty($options['admin_bar_mode']) ? $options['admin_bar_mode'] : 'light' );
42 + $color_preset = ( !empty($options['adminify_theme']) ? $options['adminify_theme'] : 'preset1' );
43 + $icon_style = ( !empty($this->options['icon_style']) ? $this->options['icon_style'] : 'classic' );
44 + $menu_hover_submenu = ( !empty($this->options['menu_hover_submenu']) ? $this->options['menu_hover_submenu'] : 'classic' );
45 + $menu_mode = ( !empty($this->options['menu_mode']) ? $this->options['menu_mode'] : 'classic' );
46 + $bodyclass = '';
47 + if ( $color_mode == 'light' ) {
48 + $bodyclass .= ' adminify-light-mode ';
49 + }
50 + if ( $color_mode == 'dark' ) {
51 + $bodyclass .= ' adminify-dark-mode ';
52 + }
53 + if ( $color_preset != 'preset1' ) {
54 + $bodyclass .= ' color-preset-adminify-icon-white';
55 + }
56 + // Submenu Hover Style
57 +
58 + if ( $menu_hover_submenu == 'classic' ) {
59 + $bodyclass .= ' adminify-default-v-menu ';
60 + } elseif ( $menu_hover_submenu == 'accordion' ) {
61 + $bodyclass .= ' adminify-accordion-v-menu ';
62 + } elseif ( $menu_hover_submenu == 'toggle' ) {
63 + $bodyclass .= ' adminify-toggle-v-menu ';
64 + }
65 +
66 + // Active Menu Style
67 +
68 + if ( $menu_mode == 'rounded' || $menu_mode == 'icon_menu' && $icon_style == 'rounded' ) {
69 + $bodyclass .= ' adminify-rounded-v-menu ';
70 + $bodyclass .= ' adminify-round-open-menu ';
71 + }
72 +
73 + return $classes . $bodyclass;
74 + }
75 +
76 + public function jltwp_adminify_output_styles()
77 + {
78 + $jltwp_adminify_output_css = '';
79 + // Welcome Panel Styles.
80 + $latest_wordpress_version = get_bloginfo( 'version' );
81 +
82 + if ( $latest_wordpress_version >= '6.2' ) {
83 + $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .adminify-panel-content { min-height: inherit !important }';
84 + // $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .welcome-panel-header * { color: #fff !important }';
85 + }
86 +
87 + if ( $latest_wordpress_version >= '5.0' && $latest_wordpress_version <= '5.8.4' ) {
88 + $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .button { text-shadow: none !important }';
89 + }
90 +
91 + if ( $latest_wordpress_version >= '5.9' && $latest_wordpress_version <= '5.9.3' || $latest_wordpress_version >= '6.0' ) {
92 + $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .welcome-panel .welcome-panel-header h2 { font-size: 30px;line-height: 36px; }';
93 + $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .welcome-panel .welcome-panel-header p { font-size: 16px; }';
94 + $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .welcome-panel-header { padding: 70px 408px 70px 48px; }';
95 + $jltwp_adminify_output_css .= '.welcome-panel a { text-decoration: underline; }';
96 + }
97 +
98 +
99 + if ( $latest_wordpress_version >= '6.0' ) {
100 + $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .welcome-panel .welcome-panel-header p a{ color:#3c434a !important; }';
101 + $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .welcome-panel-header { padding: 80px 408px 80px 48px; }';
102 + }
103 +
104 + if ( $latest_wordpress_version >= '6.1' ) {
105 + $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .welcome-panel .welcome-panel-header p a{ color:#fff !important; }';
106 + }
107 + // Logo Text Light
108 + if ( !empty($this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['font-size']) ) {
109 + $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; }';
110 + }
111 + if ( !empty($this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['font-family']) ) {
112 + $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'] ) . '; }';
113 + }
114 + if ( !empty($this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['font-weight']) ) {
115 + $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; }';
116 + }
117 + if ( !empty($this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['text-transform']) ) {
118 + $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'] ) . '; }';
119 + }
120 + if ( !empty($this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['text-decoration']) ) {
121 + $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'] ) . '; }';
122 + }
123 + if ( !empty($this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['line-height']) ) {
124 + $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; }';
125 + }
126 + if ( !empty($this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['letter-spacing']) ) {
127 + $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; }';
128 + }
129 + if ( !empty($this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['word-spacing']) ) {
130 + $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; }';
131 + }
132 + if ( !empty($this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['color']) ) {
133 + $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; }';
134 + }
135 + // Logo Text Dark
136 + if ( !empty($this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['font-size']) ) {
137 + $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; }';
138 + }
139 + if ( !empty($this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['font-family']) ) {
140 + $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'] ) . '; }';
141 + }
142 + if ( !empty($this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['font-weight']) ) {
143 + $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; }';
144 + }
145 + if ( !empty($this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['text-transform']) ) {
146 + $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'] ) . '; }';
147 + }
148 + if ( !empty($this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['text-decoration']) ) {
149 + $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'] ) . '; }';
150 + }
151 + if ( !empty($this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['line-height']) ) {
152 + $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; }';
153 + }
154 + if ( !empty($this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['letter-spacing']) ) {
155 + $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; }';
156 + }
157 + if ( !empty($this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['word-spacing']) ) {
158 + $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; }';
159 + }
160 + if ( !empty($this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['color']) ) {
161 + $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; }';
162 + }
163 + // Admin Bar Typography Settings
164 + // font size
165 +
166 + if ( !empty($this->admin_bar_options['admin_bar_font_typography']['font-size']) ) {
167 + $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; }';
168 + $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; }';
169 + }
170 +
171 + // text align
172 + if ( !empty($this->admin_bar_options['admin_bar_font_typography']['text-align']) ) {
173 + $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'] ) . '; }';
174 + }
175 + // text transform
176 + if ( !empty($this->admin_bar_options['admin_bar_font_typography']['text-transform']) ) {
177 + $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'] ) . '; }';
178 + }
179 + // text decoration
180 + if ( !empty($this->admin_bar_options['admin_bar_font_typography']['text-decoration']) ) {
181 + $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'] ) . '; }';
182 + }
183 + // line height
184 + if ( !empty($this->admin_bar_options['admin_bar_font_typography']['line-height']) ) {
185 + $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; }';
186 + }
187 + // letter spacing
188 + if ( !empty($this->admin_bar_options['admin_bar_font_typography']['letter-spacing']) ) {
189 + $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; }';
190 + }
191 + // Menu Styles
192 + // Typography Settings
193 + // if (!empty($this->options['menu_styles']['menu_typography']['font-family'])) {
194 + // if ($this->options['layout_type'] === 'vertical') {
195 + // $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']) . '}';
196 + // }
197 + // if (jltwp_adminify()->can_use_premium_code__premium_only()) {
198 + // if ($this->options['layout_type'] === 'horizontal') {
199 + // $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']) . '}';
200 + // }
201 + // }
202 + // }
203 + if ( !empty($this->options['menu_styles']['menu_typography']['font-weight']) ) {
204 + if ( $this->options['layout_type'] === 'vertical' ) {
205 + $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'] ) . '}';
206 + }
207 + }
208 + if ( !empty($this->options['menu_styles']['menu_typography']['text-align']) ) {
209 + if ( $this->options['layout_type'] === 'vertical' ) {
210 + $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'] ) . '}';
211 + }
212 + }
213 + if ( !empty($this->options['menu_styles']['menu_typography']['text-transform']) ) {
214 + if ( $this->options['layout_type'] === 'vertical' ) {
215 + $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'] ) . '}';
216 + }
217 + }
218 + if ( !empty($this->options['menu_styles']['menu_typography']['font-size']) ) {
219 + if ( $this->options['layout_type'] === 'vertical' ) {
220 + $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;}';
221 + }
222 + }
223 + if ( !empty($this->options['menu_styles']['menu_typography']['line-height']) ) {
224 + if ( $this->options['layout_type'] === 'vertical' ) {
225 + $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;}';
226 + }
227 + }
228 + if ( !empty($this->options['menu_styles']['menu_typography']['letter-spacing']) ) {
229 + if ( $this->options['layout_type'] === 'vertical' ) {
230 + $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;}';
231 + }
232 + }
233 + if ( !empty($this->options['menu_styles']['menu_typography']['text-decoration']) ) {
234 + if ( $this->options['layout_type'] === 'vertical' ) {
235 + $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'] ) . ';}';
236 + }
237 + }
238 + // Menu Wrapper Padding
239 + if ( !empty($this->options['menu_styles']['menu_wrapper_padding']['top']) && $this->options['menu_styles']['menu_wrapper_padding']['top'] !== '' ) {
240 + if ( $this->options['layout_type'] === 'vertical' ) {
241 + $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'] ) . ';}';
242 + }
243 + }
244 + if ( !empty($this->options['menu_styles']['menu_wrapper_padding']['right']) && $this->options['menu_styles']['menu_wrapper_padding']['right'] !== '' ) {
245 + if ( $this->options['layout_type'] === 'vertical' ) {
246 + $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'] ) . ';}';
247 + }
248 + }
249 + if ( !empty($this->options['menu_styles']['menu_wrapper_padding']['bottom']) && $this->options['menu_styles']['menu_wrapper_padding']['bottom'] !== '' ) {
250 + if ( $this->options['layout_type'] === 'vertical' ) {
251 + $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'] ) . ';}';
252 + }
253 + }
254 + if ( !empty($this->options['menu_styles']['menu_wrapper_padding']['left']) && $this->options['menu_styles']['menu_wrapper_padding']['left'] !== '' ) {
255 + if ( $this->options['layout_type'] === 'vertical' ) {
256 + $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'] ) . ';}';
257 + }
258 + }
259 + // Sub Menu Wrapper Padding
260 + if ( !empty($this->options['menu_styles']['submenu_wrapper_padding']['top']) && $this->options['menu_styles']['submenu_wrapper_padding']['top'] !== '' ) {
261 + if ( $this->options['layout_type'] === 'vertical' ) {
262 + $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'] ) . ';}';
263 + }
264 + }
265 + if ( !empty($this->options['menu_styles']['submenu_wrapper_padding']['right']) && $this->options['menu_styles']['submenu_wrapper_padding']['right'] !== '' ) {
266 + if ( $this->options['layout_type'] === 'vertical' ) {
267 + $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'] ) . ';}';
268 + }
269 + }
270 + if ( !empty($this->options['menu_styles']['submenu_wrapper_padding']['bottom']) && $this->options['menu_styles']['submenu_wrapper_padding']['bottom'] !== '' ) {
271 + if ( $this->options['layout_type'] === 'vertical' ) {
272 + $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'] ) . ';}';
273 + }
274 + }
275 + if ( !empty($this->options['menu_styles']['submenu_wrapper_padding']['left']) && $this->options['menu_styles']['submenu_wrapper_padding']['left'] !== '' ) {
276 + if ( $this->options['layout_type'] === 'vertical' ) {
277 + $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'] ) . ';}';
278 + }
279 + }
280 + // Vertical Menu Parent Padding
281 + if ( !empty($this->options['layout_type']) === 'vertical' ) {
282 + if ( !empty($this->options['menu_styles']['menu_vertical_padding']) ) {
283 + $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;}';
284 + }
285 + }
286 + // Submenu Item Padding
287 + if ( !empty($this->options['layout_type']) === 'vertical' ) {
288 + // Sub Menu Vertical Padding
289 + if ( !empty($this->options['menu_styles']['submenu_vertical_space']) ) {
290 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp-submenu li a { padding:' . esc_attr( $this->options['menu_styles']['submenu_vertical_space'] ) . 'px 0px !important;}';
291 + }
292 + }
293 + // Parent Menu Colors
294 + // Background Color
295 + if ( !empty($this->options['menu_styles']['parent_menu_colors']['wrap_bg']) ) {
296 +
297 + if ( $this->options['layout_type'] === 'vertical' ) {
298 + $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;}';
299 + $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;}';
300 + }
301 +
302 + }
303 + // Menu Item Hover Background
304 + if ( !empty($this->options['menu_styles']['parent_menu_colors']['hover_bg']) ) {
305 +
306 + if ( $this->options['layout_type'] === 'vertical' ) {
307 + $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;}';
308 + $jltwp_adminify_output_css .= '.wp-adminify.folded #adminmenu .wp_adminify_admin-menu li.menu-top:hover { background: inherit !important;}';
309 + $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;}';
310 + $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;}';
311 + }
312 +
313 + }
314 + // Text Color
315 + if ( !empty($this->options['menu_styles']['parent_menu_colors']['text_color']) ) {
316 +
317 + if ( $this->options['layout_type'] === 'vertical' ) {
318 + $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;}';
319 + $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;}';
320 + }
321 +
322 + }
323 + // Text Color
324 + if ( !empty($this->options['menu_styles']['parent_menu_colors']['text_hover']) ) {
325 +
326 + if ( $this->options['layout_type'] === 'vertical' ) {
327 + $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;}';
328 + $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;}';
329 + $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;}';
330 + $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;}';
331 + }
332 +
333 + }
334 + // Active Menu Background Color
335 + if ( !empty($this->options['menu_styles']['parent_menu_colors']['active_bg']) ) {
336 +
337 + if ( $this->options['layout_type'] === 'vertical' ) {
338 + $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;}';
339 + $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;}';
340 + $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;}';
341 + $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;}';
342 + }
343 +
344 + }
345 + if ( !empty($this->options['menu_styles']['parent_menu_colors']['active_color']) ) {
346 +
347 + if ( $this->options['layout_type'] === 'vertical' ) {
348 + $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;}';
349 + $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;}';
350 + $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;}';
351 + $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;}';
352 + }
353 +
354 + }
355 + // Sub Menu Colors
356 + if ( !empty($this->options['menu_styles']['sub_menu_colors']['wrap_bg']) ) {
357 +
358 + if ( $this->options['layout_type'] === 'vertical' ) {
359 + $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;}';
360 + $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;}';
361 + }
362 +
363 + }
364 + if ( !empty($this->options['menu_styles']['sub_menu_colors']['hover_bg']) ) {
365 +
366 + if ( $this->options['layout_type'] === 'vertical' ) {
367 + $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;}';
368 + $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;}';
369 + }
370 +
371 + }
372 + if ( !empty($this->options['menu_styles']['sub_menu_colors']['text_color']) ) {
373 +
374 + if ( $this->options['layout_type'] === 'vertical' ) {
375 + $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;}';
376 + $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;}';
377 + }
378 +
379 + }
380 + if ( !empty($this->options['menu_styles']['sub_menu_colors']['text_hover']) ) {
381 +
382 + if ( $this->options['layout_type'] === 'vertical' ) {
383 + $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;}';
384 + $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;}';
385 + }
386 +
387 + }
388 + if ( !empty($this->options['menu_styles']['sub_menu_colors']['active_bg']) ) {
389 +
390 + if ( $this->options['layout_type'] === 'vertical' ) {
391 + $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;}';
392 + $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;}';
393 + }
394 +
395 + }
396 + if ( !empty($this->options['menu_styles']['sub_menu_colors']['active_color']) ) {
397 +
398 + if ( $this->options['layout_type'] === 'vertical' ) {
399 + $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;}';
400 + $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;}';
401 + }
402 +
403 + }
404 + // Notification Counter
405 + // Background Color
406 + if ( !empty($this->options['menu_styles']['notif_colors']['notif_bg']) ) {
407 + if ( $this->options['layout_type'] === 'vertical' ) {
408 + $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
409 + { background-color:' . esc_attr( $this->options['menu_styles']['notif_colors']['notif_bg'] ) . ' !important;}';
410 + }
411 + }
412 + if ( !empty($this->options['menu_styles']['notif_colors']['notif_color']) ) {
413 + if ( $this->options['layout_type'] === 'vertical' ) {
414 + $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'] ) . ';}';
415 + }
416 + }
417 + if ( Utils::is_plugin_active( 'brizy/brizy.php' ) ) {
418 + $jltwp_adminify_output_css .= '.brz-review-notice-container a { padding-left: 14px !important; }';
419 + }
420 + // Combine the values from above and minifiy them.
421 + $jltwp_adminify_output_css = preg_replace( '#/\\*.*?\\*/#s', '', $jltwp_adminify_output_css );
422 + $jltwp_adminify_output_css = preg_replace( '/\\s*([{}|:;,])\\s+/', '$1', $jltwp_adminify_output_css );
423 + $jltwp_adminify_output_css = preg_replace( '/\\s\\s+(.*)/', '$1', $jltwp_adminify_output_css );
424 + $adminify_ui = AdminSettings::get_instance()->get( 'admin_ui' );
425 +
426 + if ( !empty($adminify_ui) ) {
427 + wp_add_inline_style( 'wp-adminify-admin', wp_strip_all_tags( $jltwp_adminify_output_css ) );
428 + } else {
429 + wp_add_inline_style( 'wp-adminify-default-ui', wp_strip_all_tags( $jltwp_adminify_output_css ) );
430 + }
431 +
432 + // Custom CSS
433 +
434 + if ( !empty($this->custom_css_js['custom_css']) ) {
435 + echo "\n<!-- Start of WP Adminify - Admin Area Custom CSS -->\n" ;
436 + echo "<style>\n" ;
437 + echo wp_strip_all_tags( $this->custom_css_js['custom_css'] ) ;
438 + echo "\n</style>" ;
439 + echo "\n<!-- /End of WP Adminify - Admin Area Custom CSS -->\n" ;
440 + }
441 +
442 + }
443 +
444 + public function jltwp_adminify_output_scripts()
445 + {
446 + // Custom JS
447 +
448 + if ( !empty($this->custom_css_js['custom_js']) ) {
449 + echo "\n<!-- Start of WP Adminify - Admin Area Custom JS -->\n" ;
450 + echo "<script>\n" ;
451 + echo wp_strip_all_tags( $this->custom_css_js['custom_js'] ) ;
452 + echo "\n</script>" ;
453 + echo "\n<!-- /End of WP Adminify - Admin Area Custom JS -->\n" ;
454 + }
455 +
456 + }
17 457
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 -}
458 +}