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

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