PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 4.1.3
Adminify – White Label, Admin Menu Editor, Login Customizer v4.1.3
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_Body.php

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

480 lines 30.6 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 // no direct access allowed
8 if ( !defined( 'ABSPATH' ) ) {
9 exit;
10 }
11 class OutputCSS_Body {
12 public $url;
13
14 public $options;
15
16 public $adminify_ui;
17
18 public function __construct() {
19 $this->options = (array) AdminSettings::get_instance()->get();
20 $this->adminify_ui = Utils::check_modules( $this->options['admin_ui'] );
21 add_action( 'admin_enqueue_scripts', [$this, 'jltwp_adminify_admin_ui_preset_vars_enqueue'] );
22 add_action( 'admin_head', [$this, 'jltwp_adminify_admin_ui_preset_vars_styles'] );
23 }
24
25 /**
26 * CSS variables
27 * @return [Variables Array with key value pair]
28 */
29 public function jltwp_adminify_output_styles() {
30 $menu_styles = $this->options['menu_layout_settings']['menu_styles'];
31 $default_ui_css = '';
32 $jltwp_adminify_css_var = [];
33 // Style: Menu Typography
34 $menu_typography = $menu_styles['menu_typography'];
35 // Font Sizes
36 if ( !empty( $menu_typography['font-size'] ) ) {
37 if ( $this->adminify_ui ) {
38 $jltwp_adminify_css_var['--adminify-menu-font-size'] = esc_attr( $menu_typography['font-size'] . 'px' );
39 } else {
40 $default_ui_css .= '#adminmenu a.menu-top { font-size: ' . esc_attr( $menu_typography['font-size'] . 'px' ) . ';}';
41 $default_ui_css .= '#adminmenu .wp-submenu a { font-size: ' . esc_attr( $menu_typography['font-size'] - 1 . 'px' ) . ';}';
42 }
43 }
44 // Line Height
45 if ( !empty( $menu_typography['line-height'] ) ) {
46 if ( $this->adminify_ui ) {
47 $jltwp_adminify_css_var['--adminify-menu-line-height'] = esc_attr( $menu_typography['line-height'] . 'px' );
48 } else {
49 $default_ui_css .= '#adminmenu a.menu-top, #adminmenu .wp-submenu a, #adminmenu div.wp-menu-image:before { line-height: ' . esc_attr( $menu_typography['line-height'] ) . 'px;}';
50 }
51 }
52 // Letter Spacing
53 if ( !empty( $menu_typography['letter-spacing'] ) ) {
54 if ( $this->adminify_ui ) {
55 $jltwp_adminify_css_var['--adminify-menu-letter-spacing'] = esc_attr( $menu_typography['letter-spacing'] . 'px' );
56 } else {
57 $default_ui_css .= '#adminmenu a.menu-top, #adminmenu .wp-submenu a { letter-spacing: ' . esc_attr( $menu_typography['letter-spacing'] . 'px' ) . ';}';
58 }
59 }
60 // Menu Width
61 if ( !empty( $menu_styles['menu_width']['width'] ) ) {
62 if ( $this->adminify_ui ) {
63 $jltwp_adminify_css_var['--adminify-menu-width'] = esc_attr( $menu_styles['menu_width']['width'] . 'px' );
64 } else {
65 $default_ui_css .= '#wpcontent, #wpfooter { margin-left: ' . esc_attr( $menu_styles['menu_width']['width'] . 'px' ) . ';}';
66 $default_ui_css .= '#adminmenuback, #adminmenuwrap, #adminmenu { width: ' . esc_attr( $menu_styles['menu_width']['width'] . 'px' ) . ';}';
67 $default_ui_css .= '#adminmenu .wp-submenu, &.folded #adminmenuback, &.folded #adminmenuwrap, &.folded #adminmenu { width: auto;}';
68 $default_ui_css .= '#adminmenu .wp-submenu:not(#adminmenu .wp-has-current-submenu .wp-submenu) { left: ' . esc_attr( $menu_styles['menu_width']['width'] . 'px' ) . ';}';
69 $default_ui_css .= '#adminmenu .wp-submenu:not(#adminmenu .wp-has-current-submenu .wp-submenu) { left: calc(' . esc_attr( $menu_styles['menu_width']['width'] . 'px' ) . esc_attr( ( !empty( $menu_styles['menu_wrapper_padding']['left'] ) ? ' - ' . $menu_styles['menu_wrapper_padding']['left'] . esc_attr( $menu_styles['menu_wrapper_padding']['unit'] ) : " - 0px" ) ) . ');}';
70 $default_ui_css .= '&.folded #adminmenu .wp-submenu:not(#adminmenu .wp-has-current-submenu .wp-submenu), &.folded #adminmenu .opensub .wp-submenu-wrap { left: calc(36px' . esc_attr( ( !empty( $menu_styles['menu_wrapper_padding']['right'] ) ? ' + ' . $menu_styles['menu_wrapper_padding']['right'] . esc_attr( $menu_styles['menu_wrapper_padding']['unit'] ) : ' + 0px' ) ) . ')!important;}';
71 $default_ui_css .= '&.folded div#adminmenuwrap {height: 100%;}';
72 //Folder Module
73 if ( !empty( $this->options['folders']['enable_folders'] ) ) {
74 $default_ui_css .= '.wp-adminify--folder-widget{left: ' . esc_attr( $menu_styles['menu_width']['width'] . 'px' ) . ';}';
75 }
76 }
77 }
78 // Box sizing for padding
79 if ( (!empty( $menu_styles['menu_wrapper_padding']['top'] ) && $menu_styles['menu_wrapper_padding']['top'] !== '' || !empty( $menu_styles['menu_wrapper_padding']['right'] ) && $menu_styles['menu_wrapper_padding']['right'] !== '' || !empty( $menu_styles['menu_wrapper_padding']['bottom'] ) && $menu_styles['menu_wrapper_padding']['bottom'] !== '' || !empty( $menu_styles['menu_wrapper_padding']['left'] ) && $menu_styles['menu_wrapper_padding']['left'] !== '') && empty( $this->adminify_ui ) ) {
80 $default_ui_css .= '#adminmenu { box-sizing: border-box;} #adminmenu .wp-submenu {width: auto;}';
81 }
82 // Folded left & right padding
83 if ( (!empty( $menu_styles['menu_wrapper_padding']['right'] ) && $menu_styles['menu_wrapper_padding']['right'] !== '' || !empty( $menu_styles['menu_wrapper_padding']['left'] ) && $menu_styles['menu_wrapper_padding']['left'] !== '') && empty( $menu_styles['menu_width']['width'] ) && empty( $this->adminify_ui ) ) {
84 $left_padding = ( !empty( $menu_styles['menu_wrapper_padding']['left'] ) ? $menu_styles['menu_wrapper_padding']['left'] . 'px' : '0px' );
85 $right_padding = ( !empty( $menu_styles['menu_wrapper_padding']['right'] ) ? $menu_styles['menu_wrapper_padding']['right'] . 'px' : '0px' );
86 $default_ui_css .= '&.folded #adminmenuback, &.folded #adminmenuwrap, &.folded #adminmenu { width: calc(36px + ' . $left_padding . ' + ' . $right_padding . ');}';
87 $default_ui_css .= '&.folded #adminmenu .opensub .wp-submenu {left: calc(36px + ' . $right_padding . ')}';
88 }
89 // Menu Wrapper Padding
90 if ( !empty( $menu_styles['menu_wrapper_padding']['top'] ) && $menu_styles['menu_wrapper_padding']['top'] !== '' ) {
91 if ( $this->adminify_ui ) {
92 $jltwp_adminify_css_var['--adminify-menu-wrapper-padding-top'] = esc_attr( $menu_styles['menu_wrapper_padding']['top'] ) . esc_attr( $menu_styles['menu_wrapper_padding']['unit'] );
93 } else {
94 $default_ui_css .= '#adminmenu { padding-top: ' . esc_attr( $menu_styles['menu_wrapper_padding']['top'] ) . esc_attr( $menu_styles['menu_wrapper_padding']['unit'] ) . ';}';
95 }
96 }
97 if ( !empty( $menu_styles['menu_wrapper_padding']['right'] ) && $menu_styles['menu_wrapper_padding']['right'] !== '' ) {
98 if ( $this->adminify_ui ) {
99 $jltwp_adminify_css_var['--adminify-menu-wrapper-padding-right'] = esc_attr( $menu_styles['menu_wrapper_padding']['right'] ) . esc_attr( $menu_styles['menu_wrapper_padding']['unit'] );
100 } else {
101 $default_ui_css .= '#adminmenu { padding-right: ' . esc_attr( $menu_styles['menu_wrapper_padding']['right'] ) . esc_attr( $menu_styles['menu_wrapper_padding']['unit'] ) . ';}';
102 $default_ui_css .= '#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after, #adminmenu li.wp-has-submenu.wp-not-current-submenu:focus-within:after { right: -' . esc_attr( $menu_styles['menu_wrapper_padding']['right'] ) . esc_attr( $menu_styles['menu_wrapper_padding']['unit'] ) . ';}';
103 }
104 }
105 if ( !empty( $menu_styles['menu_wrapper_padding']['bottom'] ) && $menu_styles['menu_wrapper_padding']['bottom'] !== '' ) {
106 if ( $this->adminify_ui ) {
107 $jltwp_adminify_css_var['--adminify-menu-wrapper-padding-bottom'] = esc_attr( $menu_styles['menu_wrapper_padding']['bottom'] ) . esc_attr( $menu_styles['menu_wrapper_padding']['unit'] );
108 } else {
109 $default_ui_css .= '#adminmenu { padding-bottom: ' . esc_attr( $menu_styles['menu_wrapper_padding']['bottom'] ) . esc_attr( $menu_styles['menu_wrapper_padding']['unit'] ) . ';}';
110 }
111 }
112 if ( !empty( $menu_styles['menu_wrapper_padding']['left'] ) && $menu_styles['menu_wrapper_padding']['left'] !== '' ) {
113 if ( $this->adminify_ui ) {
114 $jltwp_adminify_css_var['--adminify-menu-wrapper-padding-left'] = esc_attr( $menu_styles['menu_wrapper_padding']['left'] ) . esc_attr( $menu_styles['menu_wrapper_padding']['unit'] );
115 } else {
116 $default_ui_css .= '#adminmenu { padding-left: ' . esc_attr( $menu_styles['menu_wrapper_padding']['left'] ) . esc_attr( $menu_styles['menu_wrapper_padding']['unit'] ) . ';}';
117 }
118 }
119 // Sub Menu Wrapper Padding
120 if ( !empty( $menu_styles['submenu_wrapper_padding']['top'] ) && $menu_styles['submenu_wrapper_padding']['top'] !== '' ) {
121 if ( $this->adminify_ui ) {
122 $jltwp_adminify_css_var['--adminify-submenu-wrapper-padding-top'] = esc_attr( $menu_styles['submenu_wrapper_padding']['top'] ) . esc_attr( $menu_styles['submenu_wrapper_padding']['unit'] );
123 } else {
124 $default_ui_css .= '#adminmenu .wp-submenu { padding-top: ' . esc_attr( $menu_styles['submenu_wrapper_padding']['top'] ) . esc_attr( $menu_styles['submenu_wrapper_padding']['unit'] ) . ';}';
125 }
126 }
127 if ( !empty( $menu_styles['submenu_wrapper_padding']['right'] ) && $menu_styles['submenu_wrapper_padding']['right'] !== '' ) {
128 if ( $this->adminify_ui ) {
129 $jltwp_adminify_css_var['--adminify-submenu-wrapper-padding-right'] = esc_attr( $menu_styles['submenu_wrapper_padding']['right'] ) . esc_attr( $menu_styles['submenu_wrapper_padding']['unit'] );
130 } else {
131 $default_ui_css .= '#adminmenu .wp-submenu { padding-right: ' . esc_attr( $menu_styles['submenu_wrapper_padding']['right'] ) . esc_attr( $menu_styles['submenu_wrapper_padding']['unit'] ) . ';}';
132 }
133 }
134 if ( !empty( $menu_styles['submenu_wrapper_padding']['bottom'] ) && $menu_styles['submenu_wrapper_padding']['bottom'] !== '' ) {
135 if ( $this->adminify_ui ) {
136 $jltwp_adminify_css_var['--adminify-submenu-wrapper-padding-bottom'] = esc_attr( $menu_styles['submenu_wrapper_padding']['bottom'] ) . esc_attr( $menu_styles['submenu_wrapper_padding']['unit'] );
137 } else {
138 $default_ui_css .= '#adminmenu .wp-submenu { padding-bottom: ' . esc_attr( $menu_styles['submenu_wrapper_padding']['bottom'] ) . esc_attr( $menu_styles['submenu_wrapper_padding']['unit'] ) . ';}';
139 }
140 }
141 if ( !empty( $menu_styles['submenu_wrapper_padding']['left'] ) && $menu_styles['submenu_wrapper_padding']['left'] !== '' ) {
142 if ( $this->adminify_ui ) {
143 $jltwp_adminify_css_var['--adminify-submenu-wrapper-padding-left'] = esc_attr( $menu_styles['submenu_wrapper_padding']['left'] ) . esc_attr( $menu_styles['submenu_wrapper_padding']['unit'] );
144 } else {
145 $default_ui_css .= '#adminmenu .wp-submenu { padding-left: ' . esc_attr( $menu_styles['submenu_wrapper_padding']['left'] ) . esc_attr( $menu_styles['submenu_wrapper_padding']['unit'] ) . ';}';
146 }
147 }
148 // Vertical Menu Parent Padding
149 if ( !empty( $this->options['menu_layout_settings']['layout_type'] ) && $this->options['menu_layout_settings']['layout_type'] === 'vertical' ) {
150 if ( !empty( $menu_styles['menu_vertical_padding'] ) ) {
151 if ( $this->adminify_ui ) {
152 $jltwp_adminify_css_var['--adminify-menu-vertical-padding'] = esc_attr( $menu_styles['menu_vertical_padding'] ) . 'px';
153 } else {
154 $default_ui_css .= '#adminmenu { display: flex; flex-direction: column; row-gap: ' . esc_attr( $menu_styles['menu_vertical_padding'] ) . 'px;}';
155 }
156 }
157 }
158 // Submenu Item Padding
159 if ( !empty( $menu_styles['submenu_vertical_space'] ) ) {
160 if ( $this->adminify_ui ) {
161 $jltwp_adminify_css_var['--adminify-submenu-vertical-padding'] = esc_attr( $menu_styles['submenu_vertical_space'] ) . 'px';
162 } else {
163 $default_ui_css .= '#adminmenu .wp-submenu { display: flex; flex-direction: column; row-gap: ' . esc_attr( $menu_styles['submenu_vertical_space'] ) . 'px;}';
164 }
165 }
166 // Parent Menu Colors
167 $menu_colors = $menu_styles['parent_menu_colors'];
168 // Background Color
169 if ( !empty( $menu_colors['wrap_bg'] ) ) {
170 if ( $this->adminify_ui ) {
171 $jltwp_adminify_css_var['--adminify-menu-bg'] = esc_attr( $menu_colors['wrap_bg'] );
172 } else {
173 $default_ui_css .= '#adminmenuback, #adminmenuwrap, #adminmenu { background: ' . esc_attr( $menu_colors['wrap_bg'] ) . ';}';
174 }
175 }
176 // Menu Item Hover Background
177 if ( !empty( $menu_colors['hover_bg'] ) ) {
178 if ( $this->adminify_ui ) {
179 $jltwp_adminify_css_var['--adminify-menu-hover-bg'] = esc_attr( $menu_colors['hover_bg'] );
180 } else {
181 $default_ui_css .= '#adminmenu li.menu-top:hover, #adminmenu li.opensub > a.menu-top, #adminmenu li > a.menu-top:focus { background: ' . esc_attr( $menu_colors['hover_bg'] ) . ';}';
182 }
183 }
184 // Text Color
185 if ( !empty( $menu_colors['text_color'] ) ) {
186 if ( $this->adminify_ui ) {
187 $jltwp_adminify_css_var['--adminify-menu-text-color'] = esc_attr( $menu_colors['text_color'] );
188 } else {
189 $default_ui_css .= '#adminmenu li.menu-top > a, #adminmenu li.menu-top > a > .wp-menu-image::before, #collapse-menu #collapse-button { color: ' . esc_attr( $menu_colors['text_color'] ) . ';}';
190 }
191 }
192 // Text Color Hover
193 if ( !empty( $menu_colors['text_hover'] ) ) {
194 if ( $this->adminify_ui ) {
195 $jltwp_adminify_css_var['--adminify-menu-text-hover-color'] = esc_attr( $menu_colors['text_hover'] );
196 } else {
197 $default_ui_css .= '#adminmenu li.menu-top:hover > a.menu-top, #adminmenu li.menu-top:hover > a.menu-top > .wp-menu-image::before { color: ' . esc_attr( $menu_colors['text_hover'] ) . ';}';
198 }
199 }
200 // Active Menu Background Color
201 if ( !empty( $menu_colors['active_bg'] ) ) {
202 if ( $this->adminify_ui ) {
203 $jltwp_adminify_css_var['--adminify-menu-active-bg'] = esc_attr( $menu_colors['active_bg'] );
204 } else {
205 $default_ui_css .= '#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu, #adminmenu li.current a.menu-top { background: ' . esc_attr( $menu_colors['active_bg'] ) . ';}';
206 }
207 }
208 // Active Menu Color
209 if ( !empty( $menu_colors['active_color'] ) ) {
210 if ( $this->adminify_ui ) {
211 $jltwp_adminify_css_var['--adminify-menu-active-color'] = esc_attr( $menu_colors['active_color'] );
212 } else {
213 $default_ui_css .= '#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu, #adminmenu li.wp-has-current-submenu > a.menu-top > .wp-menu-image::before, #adminmenu li.current a.menu-top, #adminmenu li.current a.menu-top > .wp-menu-image::before { color: ' . esc_attr( $menu_colors['active_color'] ) . ';}';
214 }
215 }
216 // Sub Menu BG wrapper Colors
217 $submenu_colors = $menu_styles['sub_menu_colors'];
218 if ( !empty( $submenu_colors['wrap_bg'] ) ) {
219 if ( $this->adminify_ui ) {
220 $jltwp_adminify_css_var['--adminify-submenu-wrapper-bg'] = esc_attr( $submenu_colors['wrap_bg'] );
221 } else {
222 $default_ui_css .= '#adminmenu > li .wp-submenu { background: ' . esc_attr( $submenu_colors['wrap_bg'] ) . ';}';
223 }
224 }
225 // Submenu Item Hover Bg
226 if ( !empty( $submenu_colors['hover_bg'] ) ) {
227 if ( $this->adminify_ui ) {
228 $jltwp_adminify_css_var['--adminify-submenu-hover-bg'] = esc_attr( $submenu_colors['hover_bg'] );
229 } else {
230 $default_ui_css .= '#adminmenu > li .wp-submenu > li:hover > a { background: ' . esc_attr( $submenu_colors['hover_bg'] ) . ';}';
231 }
232 }
233 // Submenu Text Color
234 if ( !empty( $submenu_colors['text_color'] ) ) {
235 if ( $this->adminify_ui ) {
236 $jltwp_adminify_css_var['--adminify-submenu-text-color'] = esc_attr( $submenu_colors['text_color'] );
237 } else {
238 $default_ui_css .= '#adminmenu > li .wp-submenu > li > a { color: ' . esc_attr( $submenu_colors['text_color'] ) . ';}';
239 }
240 }
241 // Submenu hover text color
242 if ( !empty( $submenu_colors['text_hover'] ) ) {
243 if ( $this->adminify_ui ) {
244 $jltwp_adminify_css_var['--adminify-submenu-text-hover-color'] = esc_attr( $submenu_colors['text_hover'] );
245 } else {
246 $default_ui_css .= '#adminmenu > li .wp-submenu > li:hover > a { color: ' . esc_attr( $submenu_colors['text_hover'] ) . ';}';
247 }
248 }
249 // Submenu active Bg
250 if ( !empty( $submenu_colors['active_bg'] ) ) {
251 if ( $this->adminify_ui ) {
252 $jltwp_adminify_css_var['--adminify-submenu-active-bg'] = esc_attr( $submenu_colors['active_bg'] );
253 } else {
254 $default_ui_css .= '#adminmenu .wp-submenu li.current a { background: ' . esc_attr( $submenu_colors['active_bg'] ) . ';}';
255 }
256 }
257 // Submenu active color
258 if ( !empty( $submenu_colors['active_color'] ) ) {
259 if ( $this->adminify_ui ) {
260 $jltwp_adminify_css_var['--adminify-submenu-active-color'] = esc_attr( $submenu_colors['active_color'] );
261 } else {
262 $default_ui_css .= '#adminmenu .wp-submenu li.current a { color: ' . esc_attr( $submenu_colors['active_color'] ) . ';}';
263 }
264 }
265 // User Info Styles
266 // if (jltwp_adminify()->can_use_premium_code__premium_only()) {
267 // if (!empty($this->options['user_info_style']['info_text_color'])) {
268 // $jltwp_adminify_output_css .= '.wp_adminify_user-details a { color:' . esc_attr($this->options['user_info_style']['info_text_color']) . ' !important;}';
269 // }
270 // if (!empty($this->options['info_text_hover_color'])) {
271 // $jltwp_adminify_output_css .= '.wp_adminify_user-details a:hover { color:' . esc_attr($this->options['user_info_style']['info_text_hover_color']) . ' !important;}';
272 // }
273 // if (!empty($this->options['user_info_style']['info_text_border'])) {
274 // if (!empty($this->options['user_info_style']['info_text_border']['all'])) {
275 // $jltwp_adminify_output_css .= '.wp_adminify_user {
276 // border:' . esc_attr($this->options['user_info_style']['info_text_border']['all']) . 'px ' . esc_attr($this->options['user_info_style']['info_text_border']['style']) .--adminify-menu-text-color-2:#444444; ' ' . esc_attr($this->options['user_info_style']['info_text_border']['color']) . ';}';
277 // }
278 // }
279 // if (!empty($this->options['user_info_style']['info_icon_color'])) {
280 // $jltwp_adminify_output_css .= '.wp_adminify_user-actions i { color:' . esc_attr($this->options['user_info_style']['info_icon_color']) . ' !important;}';
281 // }
282 // if (!empty($this->options['user_info_style']['info_icon_hover_color'])) {
283 // $jltwp_adminify_output_css .= '.wp_adminify_user-actions i:hover { color:' . esc_attr($this->options['user_info_style']['info_icon_hover_color']) . ' !important;}';
284 // }
285 // }
286 // Notification Counter
287 // Background Color
288 if ( !empty( $menu_styles['notif_colors']['notif_bg'] ) ) {
289 if ( $this->adminify_ui ) {
290 $jltwp_adminify_css_var['--adminify-notif-bg-color'] = esc_attr( $menu_styles['notif_colors']['notif_bg'] );
291 } else {
292 $default_ui_css .= '#adminmenu .menu-counter, #adminmenu .awaiting-mod, #adminmenu .update-plugins { background: ' . esc_attr( $menu_styles['notif_colors']['notif_bg'] ) . ';}';
293 }
294 }
295 if ( !empty( $menu_styles['notif_colors']['notif_color'] ) ) {
296 if ( $this->adminify_ui ) {
297 $jltwp_adminify_css_var['--adminify-notif-color'] = esc_attr( $menu_styles['notif_colors']['notif_color'] );
298 } else {
299 $default_ui_css .= '#adminmenu .menu-counter, #adminmenu .awaiting-mod, #adminmenu .update-plugins { color: ' . esc_attr( $menu_styles['notif_colors']['notif_color'] ) . ';}';
300 }
301 }
302 // Combine the values from above and minifiy them.
303 // $jltwp_adminify_output_css = preg_replace('#/\*.*?\*/#s', '', $jltwp_adminify_output_css);
304 // $jltwp_adminify_output_css = preg_replace('/\s*([{}|:;,])\s+/', '$1', $jltwp_adminify_output_css);
305 // $jltwp_adminify_output_css = preg_replace('/\s\s+(.*)/', '$1', $jltwp_adminify_output_css);
306 // return $jltwp_adminify_output_css;
307 if ( $this->adminify_ui ) {
308 return $jltwp_adminify_css_var;
309 } else {
310 return $jltwp_adminify_css_var = $default_ui_css;
311 }
312 }
313
314 public function jltwp_adminify_logo_text_styles() {
315 // Light Logo Typography
316 $admin_bar_light_logo_text_typo = $this->options['light_dark_mode']['admin_ui_light_mode']['admin_bar_light_logo_text_typo'];
317 $light_logo_css = '&.adminify-light-mode .navbar .wp-adminify-site-name {';
318 // Logo Text Light
319 if ( !empty( $admin_bar_light_logo_text_typo['font-size'] ) ) {
320 $light_logo_css .= 'font-size: ' . esc_attr( $admin_bar_light_logo_text_typo['font-size'] ) . 'px;';
321 }
322 if ( !empty( $admin_bar_light_logo_text_typo['font-family'] ) ) {
323 $light_logo_css .= 'font-family: ' . esc_attr( $admin_bar_light_logo_text_typo['font-family'] ) . ';';
324 }
325 if ( !empty( $admin_bar_light_logo_text_typo['font-weight'] ) ) {
326 $light_logo_css .= 'font-weight: ' . esc_attr( $admin_bar_light_logo_text_typo['font-weight'] ) . ';';
327 }
328 if ( !empty( $admin_bar_light_logo_text_typo['text-transform'] ) ) {
329 $light_logo_css .= 'text-transform: ' . esc_attr( $admin_bar_light_logo_text_typo['text-transform'] ) . ';';
330 }
331 if ( !empty( $admin_bar_light_logo_text_typo['text-decoration'] ) ) {
332 $light_logo_css .= 'text-decoration: ' . esc_attr( $admin_bar_light_logo_text_typo['text-decoration'] ) . ';';
333 }
334 if ( !empty( $admin_bar_light_logo_text_typo['line-height'] ) ) {
335 $light_logo_css .= 'line-height: ' . esc_attr( $admin_bar_light_logo_text_typo['line-height'] ) . 'px;';
336 }
337 if ( !empty( $admin_bar_light_logo_text_typo['letter-spacing'] ) ) {
338 $light_logo_css .= 'letter-spacing: ' . esc_attr( $admin_bar_light_logo_text_typo['letter-spacing'] ) . 'px;';
339 }
340 if ( !empty( $admin_bar_light_logo_text_typo['word-spacing'] ) ) {
341 $light_logo_css .= 'word-spacing: ' . esc_attr( $admin_bar_light_logo_text_typo['word-spacing'] ) . 'px;';
342 }
343 if ( !empty( $admin_bar_light_logo_text_typo['color'] ) ) {
344 $light_logo_css .= 'color: ' . esc_attr( $admin_bar_light_logo_text_typo['color'] ) . ';';
345 }
346 $light_logo_css .= '}';
347 // Logo Text Dark
348 $admin_bar_logo_dark = $this->options['light_dark_mode']['admin_ui_dark_mode']['admin_ui_dark_logo_text_typo'];
349 $dark_logo_css = '&.adminify-dark-mode .navbar .wp-adminify-site-name {';
350 if ( !empty( $admin_bar_logo_dark['font-size'] ) ) {
351 $dark_logo_css .= 'font-size: ' . esc_attr( $admin_bar_logo_dark['font-size'] ) . 'px;';
352 }
353 if ( !empty( $admin_bar_logo_dark['font-family'] ) ) {
354 $dark_logo_css .= 'font-family: ' . esc_attr( $admin_bar_logo_dark['font-family'] ) . ';';
355 }
356 if ( !empty( $admin_bar_logo_dark['font-weight'] ) ) {
357 $dark_logo_css .= 'font-weight: ' . esc_attr( $admin_bar_logo_dark['font-weight'] ) . ';';
358 }
359 if ( !empty( $admin_bar_logo_dark['text-transform'] ) ) {
360 $dark_logo_css .= 'text-transform: ' . esc_attr( $admin_bar_logo_dark['text-transform'] ) . ';';
361 }
362 if ( !empty( $admin_bar_logo_dark['text-decoration'] ) ) {
363 $dark_logo_css .= 'text-decoration: ' . esc_attr( $admin_bar_logo_dark['text-decoration'] ) . ';';
364 }
365 if ( !empty( $admin_bar_logo_dark['line-height'] ) ) {
366 $dark_logo_css .= 'line-height: ' . esc_attr( $admin_bar_logo_dark['line-height'] ) . 'px;';
367 }
368 if ( !empty( $admin_bar_logo_dark['letter-spacing'] ) ) {
369 $dark_logo_css .= 'letter-spacing: ' . esc_attr( $admin_bar_logo_dark['letter-spacing'] ) . 'px;';
370 }
371 if ( !empty( $admin_bar_logo_dark['word-spacing'] ) ) {
372 $dark_logo_css .= 'word-spacing: ' . esc_attr( $admin_bar_logo_dark['word-spacing'] ) . 'px;';
373 }
374 if ( !empty( $admin_bar_logo_dark['color'] ) ) {
375 $dark_logo_css .= 'color: ' . esc_attr( $admin_bar_logo_dark['color'] ) . ';';
376 }
377 $dark_logo_css .= '}';
378 return $light_logo_css . $dark_logo_css;
379 }
380
381 /**
382 * Enqueue scripts for admin UI preset vars
383 */
384 public function jltwp_adminify_admin_ui_preset_vars_enqueue() {
385 global $pagenow;
386 if ( $pagenow == 'wp-login.php' || $pagenow == 'wp-register.php' || $pagenow == 'customize.php' ) {
387 return;
388 }
389 // CSS for Adminify UI
390 if ( !empty( $this->options['admin_ui'] ) ) {
391 wp_enqueue_script(
392 'adminify-theme-presetter',
393 WP_ADMINIFY_ASSETS . 'admin/js/wp-adminify-theme-presetter.js',
394 ['jquery'],
395 null,
396 true
397 );
398 wp_localize_script( 'adminify-theme-presetter', 'adminify_preset_themes', Utils::get_theme_presets() );
399 }
400 }
401
402 /**
403 * Output styles in admin_head to avoid headers already sent issues
404 */
405 public function jltwp_adminify_admin_ui_preset_vars_styles() {
406 global $pagenow;
407 if ( $pagenow == 'wp-login.php' || $pagenow == 'wp-register.php' || $pagenow == 'customize.php' ) {
408 return;
409 }
410 // CSS for Adminify UI
411 if ( !empty( $this->options['admin_ui'] ) ) {
412 if ( array_key_exists( 'adminify_theme', $this->options ) && !empty( $this->options['adminify_theme'] ) ) {
413 $theme = $this->options['adminify_theme'];
414 } else {
415 $theme = 'preset1';
416 // get the default value dynamically
417 }
418 $preset = (array) Utils::get_theme_presets( $theme );
419 if ( empty( $preset ) ) {
420 $custom_preset = [
421 '--adminify-menu-hover-bg' => $this->options['adminify_theme_custom_colors']['--adminify-primary'],
422 '--adminify-menu-text-hover-color' => '#ffffff',
423 '--adminify-menu-active-bg' => $this->options['adminify_theme_custom_colors']['--adminify-primary'],
424 '--adminify-menu-active-color' => '#ffffff',
425 '--adminify-submenu-wrapper-bg' => $this->options['adminify_theme_custom_colors']['--adminify-menu-bg'],
426 '--adminify-submenu-hover-bg' => 'transparent',
427 '--adminify-submenu-text-color' => $this->options['adminify_theme_custom_colors']['--adminify-menu-text-color'],
428 '--adminify-submenu-text-hover-color' => $this->options['adminify_theme_custom_colors']['--adminify-primary'],
429 '--adminify-submenu-active-bg' => 'transparent',
430 '--adminify-submenu-active-color' => $this->options['adminify_theme_custom_colors']['--adminify-primary'],
431 '--adminify-menu-border' => '#7062cd',
432 '--adminify-notif-color' => '#ffffff',
433 '--adminify-menu-vertical-padding' => '10px',
434 '--adminify-menu-horizontal-padding' => '8px',
435 '--adminify-menu-wrapper-padding-top' => '16px',
436 '--adminify-menu-wrapper-padding-right' => '8px',
437 '--adminify-menu-wrapper-padding-bottom' => '16px',
438 '--adminify-menu-wrapper-padding-left' => '8px',
439 '--adminify-submenu-vertical-padding' => '4px',
440 '--adminify-submenu-wrapper-padding-top' => '8px',
441 '--adminify-submenu-wrapper-padding-right' => '0px',
442 '--adminify-submenu-wrapper-padding-bottom' => '8px',
443 '--adminify-submenu-wrapper-padding-left' => '28px',
444 '--adminify-menu-font-size' => '13px',
445 '--adminify-menu-line-height' => '20px',
446 '--adminify-menu-letter-spacing' => '',
447 '--adminify-menu-width' => '260px',
448 ];
449 $preset = array_merge( $custom_preset, $this->options['adminify_theme_custom_colors'] );
450 }
451 // Dynamic Css Variables Array
452 $css_var = $this->jltwp_adminify_output_styles();
453 $preset_style = '';
454 foreach ( $preset as $prop => $val ) {
455 // Check Duplicate Array
456 if ( !array_key_exists( $prop, $css_var ) ) {
457 $preset_style .= sprintf( '%s:%s;', esc_attr( $prop ), esc_attr( $val ) );
458 }
459 }
460 foreach ( $css_var as $prop => $val ) {
461 $preset_style .= sprintf( '%s:%s;', esc_attr( $prop ), esc_attr( $val ) );
462 }
463 if ( empty( $preset_style ) ) {
464 return;
465 }
466 // Text Logo styles
467 // if($this->options['light_dark_mode']['admin_ui_logo_type'] === 'text_logo') {
468 // // $text_logo_css = $this->jltwp_adminify_logo_text_styles();
469 // if(!empty($text_logo_css)) {
470 // printf('<style id="adminify_text_logo">body.adminify-ui{%s}</style>', wp_strip_all_tags($text_logo_css));
471 // }
472 // }
473 printf( '<style>body.wp-adminify{%s}</style>', wp_strip_all_tags( $preset_style ) );
474 } else {
475 printf( '<style>body.wp-adminify{%s}</style>', wp_strip_all_tags( $this->jltwp_adminify_output_styles() ) );
476 }
477 }
478
479 }
480