PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 2.0.7
Adminify – White Label, Admin Menu Editor, Login Customizer v2.0.7
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
adminify / Inc / Classes / OutputCSS.php

OutputCSS.php in Adminify – White Label, Admin Menu Editor, Login Customizer 2.0.7, at Inc/Classes/OutputCSS.php

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