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
adminify / Inc / Classes / OutputCSS.php

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

255 lines 17.8 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\Admin\AdminSettings ;
6 use WPAdminify\Inc\Classes\OutputCSS_Body ;
7 use WPAdminify\Inc\Admin\AdminSettingsModel ;
8 // no direct access allowed
9 if ( !defined( 'ABSPATH' ) ) {
10 exit;
11 }
12 class OutputCSS extends AdminSettingsModel
13 {
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 }
254
255 }