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

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