PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 1.0.5
Adminify – White Label, Admin Menu Editor, Login Customizer v1.0.5
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 +248 -123 4.2.201.0.5 View file →
@@ -1,130 +1,255 @@
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\Admin\AdminSettings ;
6 +use WPAdminify\Inc\Classes\OutputCSS_Body ;
7 +use WPAdminify\Inc\Admin\AdminSettingsModel ;
9 8 // no direct access allowed
10 -if (!defined('ABSPATH')) {
11 - exit;
9 +if ( !defined( 'ABSPATH' ) ) {
10 + exit;
12 11 }
13 -
14 -class OutputCSS
12 +class OutputCSS extends AdminSettingsModel
15 13 {
16 - public $options;
14 + public $url ;
15 + public function __construct()
16 + {
17 + $this->options = (array) AdminSettings::get_instance()->get( 'menu_layout_settings' );
18 + add_action( 'admin_enqueue_scripts', [ $this, 'jltwp_adminify_output_scripts' ], 99 );
19 + add_filter( 'admin_body_class', [ $this, 'add_body_classes' ] );
20 + new OutputCSS_Body();
21 + }
22 +
23 + public function add_body_classes( $classes )
24 + {
25 + $color_mode = (array) AdminSettings::get_instance()->get();
26 + $color_mode = ( !empty($color_mode['admin_bar_mode']) ? $color_mode['admin_bar_mode'] : 'light' );
27 + $active_menu_style = ( !empty($this->options['active_menu_style']) ? $this->options['active_menu_style'] : 'classic' );
28 + $menu_hover_submenu = ( !empty($this->options['menu_hover_submenu']) ? $this->options['menu_hover_submenu'] : 'classic' );
29 + $bodyclass = '';
30 + if ( $color_mode == 'light' ) {
31 + $bodyclass .= ' adminify-light-mode ';
32 + }
33 + if ( $color_mode == 'dark' ) {
34 + $bodyclass .= ' adminify-dark-mode ';
35 + }
36 + // Submenu Hover Style
37 +
38 + if ( $menu_hover_submenu == 'classic' ) {
39 + $bodyclass .= ' adminify-default-v-menu ';
40 + } elseif ( $menu_hover_submenu == 'accordion' ) {
41 + $bodyclass .= ' adminify-accordion-v-menu ';
42 + } elseif ( $menu_hover_submenu == 'toggle' ) {
43 + $bodyclass .= ' adminify-toggle-v-menu ';
44 + }
45 +
46 + // Active Menu Style
47 +
48 + if ( $active_menu_style == 'classic' ) {
49 + } elseif ( $active_menu_style == 'rounded' ) {
50 + $bodyclass .= ' adminify-rounded-v-menu ';
51 + $bodyclass .= ' adminify-round-open-menu ';
52 + }
53 +
54 + return $classes . $bodyclass;
55 + }
56 +
57 + public function jltwp_adminify_output_scripts()
58 + {
59 + $jltwp_adminify_output_css = '';
60 + // Menu Styles
61 + // Typography Settings
62 + if ( !empty($this->options['menu_styles']['menu_typography']['font-family']) ) {
63 + if ( $this->options['layout_type'] === 'vertical' ) {
64 + $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: ' . $this->options['menu_styles']['menu_typography']['font-family'] . '}';
65 + }
66 + }
67 + if ( !empty($this->options['menu_styles']['menu_typography']['font-weight']) ) {
68 + if ( $this->options['layout_type'] === 'vertical' ) {
69 + $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: ' . $this->options['menu_styles']['menu_typography']['font-weight'] . '}';
70 + }
71 + }
72 + if ( !empty($this->options['menu_styles']['menu_typography']['text-align']) ) {
73 + if ( $this->options['layout_type'] === 'vertical' ) {
74 + $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: ' . $this->options['menu_styles']['menu_typography']['text-align'] . '}';
75 + }
76 + }
77 + if ( !empty($this->options['menu_styles']['menu_typography']['text-transform']) ) {
78 + if ( $this->options['layout_type'] === 'vertical' ) {
79 + $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: ' . $this->options['menu_styles']['menu_typography']['text-transform'] . '}';
80 + }
81 + }
82 + if ( !empty($this->options['menu_styles']['menu_typography']['font-size']) ) {
83 + if ( $this->options['layout_type'] === 'vertical' ) {
84 + $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: ' . $this->options['menu_styles']['menu_typography']['font-size'] . 'px;}';
85 + }
86 + }
87 + if ( !empty($this->options['menu_styles']['menu_typography']['line-height']) ) {
88 + if ( $this->options['layout_type'] === 'vertical' ) {
89 + $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: ' . $this->options['menu_styles']['menu_typography']['line-height'] . 'px;}';
90 + }
91 + }
92 + if ( !empty($this->options['menu_styles']['menu_typography']['letter-spacing']) ) {
93 + if ( $this->options['layout_type'] === 'vertical' ) {
94 + $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: ' . $this->options['menu_styles']['menu_typography']['letter-spacing'] . 'px;}';
95 + }
96 + }
97 + // Menu Wrapper Padding
98 + if ( !empty($this->options['menu_styles']['menu_wrapper_padding']['top']) && $this->options['menu_styles']['menu_wrapper_padding']['top'] !== '' ) {
99 + if ( $this->options['layout_type'] === 'vertical' ) {
100 + $jltwp_adminify_output_css .= '.wp_adminify_sidebar_admin-menu { padding-top: ' . esc_attr( $this->options['menu_styles']['menu_wrapper_padding']['top'] ) . $this->options['menu_styles']['menu_wrapper_padding']['unit'] . ';}';
101 + }
102 + }
103 + if ( !empty($this->options['menu_styles']['menu_wrapper_padding']['right']) && $this->options['menu_styles']['menu_wrapper_padding']['right'] !== '' ) {
104 + if ( $this->options['layout_type'] === 'vertical' ) {
105 + $jltwp_adminify_output_css .= '.wp_adminify_sidebar_admin-menu { padding-right: ' . esc_attr( $this->options['menu_styles']['menu_wrapper_padding']['right'] ) . $this->options['menu_styles']['menu_wrapper_padding']['unit'] . ';}';
106 + }
107 + }
108 + if ( !empty($this->options['menu_styles']['menu_wrapper_padding']['bottom']) && $this->options['menu_styles']['menu_wrapper_padding']['bottom'] !== '' ) {
109 + if ( $this->options['layout_type'] === 'vertical' ) {
110 + $jltwp_adminify_output_css .= '.wp_adminify_sidebar_admin-menu { padding-bottom: ' . esc_attr( $this->options['menu_styles']['menu_wrapper_padding']['bottom'] ) . $this->options['menu_styles']['menu_wrapper_padding']['unit'] . ';}';
111 + }
112 + }
113 + if ( !empty($this->options['menu_styles']['menu_wrapper_padding']['left']) && $this->options['menu_styles']['menu_wrapper_padding']['left'] !== '' ) {
114 + if ( $this->options['layout_type'] === 'vertical' ) {
115 + $jltwp_adminify_output_css .= '.wp_adminify_sidebar_admin-menu { padding-left: ' . esc_attr( $this->options['menu_styles']['menu_wrapper_padding']['left'] ) . $this->options['menu_styles']['menu_wrapper_padding']['unit'] . ';}';
116 + }
117 + }
118 + // Sub Menu Wrapper Padding
119 + if ( !empty($this->options['menu_styles']['submenu_wrapper_padding']['top']) && $this->options['menu_styles']['submenu_wrapper_padding']['top'] !== '' ) {
120 + if ( $this->options['layout_type'] === 'vertical' ) {
121 + $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'] ) . $this->options['menu_styles']['submenu_wrapper_padding']['unit'] . ';}';
122 + }
123 + }
124 + if ( !empty($this->options['menu_styles']['submenu_wrapper_padding']['right']) && $this->options['menu_styles']['submenu_wrapper_padding']['right'] !== '' ) {
125 + if ( $this->options['layout_type'] === 'vertical' ) {
126 + $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'] ) . $this->options['menu_styles']['submenu_wrapper_padding']['unit'] . ';}';
127 + }
128 + }
129 + if ( !empty($this->options['menu_styles']['submenu_wrapper_padding']['bottom']) && $this->options['menu_styles']['submenu_wrapper_padding']['bottom'] !== '' ) {
130 + if ( $this->options['layout_type'] === 'vertical' ) {
131 + $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'] ) . $this->options['menu_styles']['submenu_wrapper_padding']['unit'] . ';}';
132 + }
133 + }
134 + if ( !empty($this->options['menu_styles']['submenu_wrapper_padding']['left']) && $this->options['menu_styles']['submenu_wrapper_padding']['left'] !== '' ) {
135 + if ( $this->options['layout_type'] === 'vertical' ) {
136 + $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'] ) . $this->options['menu_styles']['submenu_wrapper_padding']['unit'] . ';}';
137 + }
138 + }
139 + // Vertical Menu Parent Padding
140 + if ( !empty($this->options['layout_type']) === 'vertical' ) {
141 + if ( !empty($this->options['menu_styles']['menu_vertical_padding']) ) {
142 + $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;}';
143 + }
144 + }
145 + // Submenu Item Padding
146 + if ( !empty($this->options['layout_type']) === 'vertical' ) {
147 + // Sub Menu Vertical Padding
148 + if ( !empty($this->options['menu_styles']['submenu_vertical_space']) ) {
149 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp-submenu li a { padding:' . esc_attr( $this->options['menu_styles']['submenu_vertical_space'] ) . 'px 0px !important;}';
150 + }
151 + }
152 + // Parent Menu Colors
153 + // Background Color
154 + if ( !empty($this->options['menu_styles']['parent_menu_colors']['wrap_bg']) ) {
155 + if ( $this->options['layout_type'] === 'vertical' ) {
156 + $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;}';
157 + }
158 + }
159 + // Menu Item Hover Background
160 + if ( !empty($this->options['menu_styles']['parent_menu_colors']['hover_bg']) ) {
161 + if ( $this->options['layout_type'] === 'vertical' ) {
162 + $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;}';
163 + }
164 + }
165 + // Text Color
166 + if ( !empty($this->options['menu_styles']['parent_menu_colors']['text_color']) ) {
167 + if ( $this->options['layout_type'] === 'vertical' ) {
168 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a { color:' . esc_attr( $this->options['menu_styles']['parent_menu_colors']['text_color'] ) . ' !important;}';
169 + }
170 + }
171 + // Text Color
172 + if ( !empty($this->options['menu_styles']['parent_menu_colors']['text_hover']) ) {
173 + if ( $this->options['layout_type'] === 'vertical' ) {
174 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.menu-top:hover { color:' . esc_attr( $this->options['menu_styles']['parent_menu_colors']['text_hover'] ) . ' !important;}';
175 + }
176 + }
177 + // Active Menu Background Color
178 + if ( !empty($this->options['menu_styles']['parent_menu_colors']['active_bg']) ) {
179 + if ( $this->options['layout_type'] === 'vertical' ) {
180 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.menu-top.current { background:' . esc_attr( $this->options['menu_styles']['parent_menu_colors']['active_bg'] ) . ' !important;}';
181 + }
182 + }
183 + if ( !empty($this->options['menu_styles']['parent_menu_colors']['active_color']) ) {
184 + if ( $this->options['layout_type'] === 'vertical' ) {
185 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.menu-top.current { color:' . esc_attr( $this->options['menu_styles']['parent_menu_colors']['active_color'] ) . ' !important;}';
186 + }
187 + }
188 + // Sub Menu Colors
189 + if ( !empty($this->options['menu_styles']['sub_menu_colors']['wrap_bg']) ) {
190 + if ( $this->options['layout_type'] === 'vertical' ) {
191 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top.wp-menu-open .wp-submenu, .wp-adminify #adminmenu .wp-not-current-submenu .wp-submenu { background:' . esc_attr( $this->options['menu_styles']['sub_menu_colors']['wrap_bg'] ) . ' !important;}';
192 + }
193 + }
194 + if ( !empty($this->options['menu_styles']['sub_menu_colors']['hover_bg']) ) {
195 + if ( $this->options['layout_type'] === 'vertical' ) {
196 + $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;}';
197 + }
198 + }
199 + if ( !empty($this->options['menu_styles']['sub_menu_colors']['text_color']) ) {
200 + if ( $this->options['layout_type'] === 'vertical' ) {
201 + $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;}';
202 + }
203 + }
204 + if ( !empty($this->options['menu_styles']['sub_menu_colors']['text_hover']) ) {
205 + if ( $this->options['layout_type'] === 'vertical' ) {
206 + $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;}';
207 + }
208 + }
209 + if ( !empty($this->options['menu_styles']['sub_menu_colors']['active_bg']) ) {
210 + if ( $this->options['layout_type'] === 'vertical' ) {
211 + $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;}';
212 + }
213 + }
214 + if ( !empty($this->options['menu_styles']['sub_menu_colors']['active_color']) ) {
215 + if ( $this->options['layout_type'] === 'vertical' ) {
216 + $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;}';
217 + }
218 + }
219 + // Notification Counter
220 + // Background Color
221 + if ( !empty($this->options['menu_styles']['notif_colors']['notif_bg']) ) {
222 + if ( $this->options['layout_type'] === 'vertical' ) {
223 + $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
224 + { background-color:' . esc_attr( $this->options['menu_styles']['notif_colors']['notif_bg'] ) . ' !important;}';
225 + }
226 + }
227 + if ( !empty($this->options['menu_styles']['notif_colors']['notif_color']) ) {
228 + if ( $this->options['layout_type'] === 'vertical' ) {
229 + $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'] ) . ';}';
230 + }
231 + }
232 + // Custom CSS
233 + if ( !empty($this->options['custom_css']) ) {
234 + $jltwp_adminify_output_css .= esc_attr( $this->options['custom_css'] );
235 + }
236 + // Combine the values from above and minifiy them.
237 + $jltwp_adminify_output_css = preg_replace( '#/\\*.*?\\*/#s', '', $jltwp_adminify_output_css );
238 + $jltwp_adminify_output_css = preg_replace( '/\\s*([{}|:;,])\\s+/', '$1', $jltwp_adminify_output_css );
239 + $jltwp_adminify_output_css = preg_replace( '/\\s\\s+(.*)/', '$1', $jltwp_adminify_output_css );
240 + wp_add_inline_style( 'wp-adminify-admin', wp_strip_all_tags( $jltwp_adminify_output_css ) );
241 + // Custom JS
242 + $custom_js = (array) AdminSettings::get_instance()->get();
243 + $custom_js = ( !empty($custom_js['custom_js']) ? $custom_js['custom_js'] : '' );
244 +
245 + if ( !empty($custom_js) ) {
246 + echo "\n<!-- Start of WP Adminify Custom JS -->\n" ;
247 + echo '<script type="text/javascript">' ;
248 + echo "\n{$custom_js}\n" ;
249 + echo '</script>' ;
250 + echo "\n<!-- /End of WP Adminify Custom JS -->\n" ;
251 + }
252 +
253 + }
17 254
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 -}
255 +}