PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 4.3.0
Adminify – White Label, Admin Menu Editor, Login Customizer v4.3.0
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.3.0, at Inc/Classes/OutputCSS_Body.php

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