PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 3.2.4.5
Adminify – White Label, Admin Menu Editor, Login Customizer v3.2.4.5
4.3.1 4.3.0 4.2.26 4.2.25 4.2.24 4.2.23 4.2.22 4.2.21 4.2.20 4.2.19 4.2.18 4.2.17 4.2.16 4.2.15 4.2.14 4.2.13 4.2.12 4.2.11 4.2.10 4.2.9 4.2.8 4.2.7 4.2.6 4.2.5 4.1.17 All 164 releases
← All changes | Inc/Classes/OutputCSS.php +401 -114 4.2.163.2.4.5 View file →
@@ -1,130 +1,417 @@
1 1 <?php
2 2
3 -namespace PXLBSAdminify\Inc\Classes;
3 +namespace WPAdminify\Inc\Classes;
4 4
5 -use PXLBSAdminify\Inc\Admin\AdminSettings;
6 -use PXLBSAdminify\Inc\Classes\OutputCSS_Body;
7 -
8 -
5 +use WPAdminify\Inc\Utils;
6 +use WPAdminify\Inc\Admin\AdminSettings;
7 +use WPAdminify\Inc\Classes\OutputCSS_Body;
8 +use WPAdminify\Inc\Admin\AdminSettingsModel;
9 9 // no direct access allowed
10 -if (!defined('ABSPATH')) {
11 - exit;
10 +if ( !defined( 'ABSPATH' ) ) {
11 + exit;
12 12 }
13 +class OutputCSS extends AdminSettingsModel {
14 + public $url;
13 15
14 -class OutputCSS
15 -{
16 - public $options;
16 + public $options;
17 17
18 - public function __construct()
19 - {
20 - $this->options = (array) AdminSettings::get_instance()->get();
18 + public $admin_bar_options;
21 19
22 - new OutputCSS_Body();
20 + public $admin_bar_logo_light;
23 21
24 - if (is_multisite() && is_network_admin()) {
25 - return; // only display to network admin if multisite is enbaled
26 - }
22 + public $admin_bar_logo_dark;
27 23
28 - add_action('admin_enqueue_scripts', [$this, 'output_styles'], 100);
29 - add_action('admin_footer', [$this, 'output_scripts'], 100);
30 - add_filter('admin_body_class', [$this, 'add_body_classes']);
31 - }
24 + public $custom_css_js;
32 25
33 - public function add_body_classes($classes)
34 - {
35 - $folded = $this->options['menu_layout_settings']['menu_mode'] === 'icon_menu' ? 'folded' : '';
36 - // Per-user color_mode meta (saved by the topbar toggle) overrides the global
37 - // admin_ui_mode. Without this, toggling Dark would not persist visually on
38 - // reload because the body class would stay at the global default ('light').
39 - $global_color_mode = !empty($this->options['light_dark_mode']['admin_ui_mode']) ? $this->options['light_dark_mode']['admin_ui_mode'] : 'light';
40 - $user_color_mode = get_user_meta(get_current_user_id(), 'color_mode', true);
41 - $color_mode = !empty($user_color_mode) ? $user_color_mode : $global_color_mode;
42 - $color_preset = !empty($this->options['adminify_theme']) ? $this->options['adminify_theme'] : 'preset1';
43 - // $icon_style = !empty($this->options['menu_layout_settings']['icon_style']) ? $this->options['menu_layout_settings']['icon_style'] : 'classic';
44 - // $menu_hover_submenu = !empty($this->options['menu_layout_settings']['menu_hover_submenu']) ? $this->options['menu_layout_settings']['menu_hover_submenu'] : 'classic';
45 - // $menu_mode = !empty($this->options['menu_layout_settings']['menu_mode']) ? $this->options['menu_layout_settings']['menu_mode'] : 'classic';
26 + public function __construct() {
27 + new OutputCSS_Body();
28 + if ( is_multisite() && is_network_admin() ) {
29 + return;
30 + // only display to network admin if multisite is enbaled
31 + }
32 + $this->options = (array) AdminSettings::get_instance()->get( 'menu_layout_settings' );
33 + $this->admin_bar_options = (array) AdminSettings::get_instance()->get( 'admin_bar_settings' );
34 + $this->admin_bar_logo_light = (array) AdminSettings::get_instance()->get( 'admin_bar_light_mode' );
35 + $this->admin_bar_logo_dark = (array) AdminSettings::get_instance()->get( 'admin_bar_dark_mode' );
36 + $this->custom_css_js = AdminSettings::get_instance()->get();
37 + add_action( 'admin_enqueue_scripts', [$this, 'jltwp_adminify_output_styles'], 100 );
38 + add_action( 'admin_footer', [$this, 'jltwp_adminify_output_scripts'], 100 );
39 + add_filter( 'admin_body_class', [$this, 'add_body_classes'] );
40 + }
46 41
47 - $bodyclass = '';
48 - if($folded) {
49 - $bodyclass .= ' ' . $folded;
50 - }
42 + public function add_body_classes( $classes ) {
43 + $options = (array) AdminSettings::get_instance()->get();
44 + $color_mode = ( !empty( $options['admin_bar_mode'] ) ? $options['admin_bar_mode'] : 'light' );
45 + $color_preset = ( !empty( $options['adminify_theme'] ) ? $options['adminify_theme'] : 'preset1' );
46 + $icon_style = ( !empty( $this->options['icon_style'] ) ? $this->options['icon_style'] : 'classic' );
47 + $menu_hover_submenu = ( !empty( $this->options['menu_hover_submenu'] ) ? $this->options['menu_hover_submenu'] : 'classic' );
48 + $menu_mode = ( !empty( $this->options['menu_mode'] ) ? $this->options['menu_mode'] : 'classic' );
49 + $bodyclass = '';
50 + if ( $color_mode == 'light' ) {
51 + $bodyclass .= ' adminify-light-mode ';
52 + }
53 + if ( $color_mode == 'dark' ) {
54 + $bodyclass .= ' adminify-dark-mode ';
55 + }
56 + if ( $color_preset != 'preset1' ) {
57 + $bodyclass .= ' color-preset-adminify-icon-white';
58 + }
59 + // Submenu Hover Style
60 + if ( $menu_hover_submenu == 'classic' ) {
61 + $bodyclass .= ' adminify-default-v-menu ';
62 + } elseif ( $menu_hover_submenu == 'accordion' ) {
63 + $bodyclass .= ' adminify-accordion-v-menu ';
64 + } elseif ( $menu_hover_submenu == 'toggle' ) {
65 + $bodyclass .= ' adminify-toggle-v-menu ';
66 + }
67 + // Active Menu Style
68 + if ( $menu_mode == 'rounded' || $menu_mode == 'icon_menu' && $icon_style == 'rounded' ) {
69 + $bodyclass .= ' adminify-rounded-v-menu ';
70 + $bodyclass .= ' adminify-round-open-menu ';
71 + }
72 + return $classes . $bodyclass;
73 + }
51 74
52 - if ($color_mode == 'light') {
53 - $bodyclass .= ' adminify-light-mode ';
54 - }
55 - if ($color_mode == 'dark') {
56 - $bodyclass .= ' adminify-dark-mode ';
57 - }
75 + public function jltwp_adminify_output_styles() {
76 + $jltwp_adminify_output_css = '';
77 + // Welcome Panel Styles.
78 + $latest_wordpress_version = get_bloginfo( 'version' );
79 + if ( $latest_wordpress_version >= '6.2' ) {
80 + $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .adminify-panel-content { min-height: inherit !important }';
81 + // $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .welcome-panel-header * { color: #fff !important }';
82 + }
83 + if ( $latest_wordpress_version >= '5.0' && $latest_wordpress_version <= '5.8.4' ) {
84 + $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .button { text-shadow: none !important }';
85 + }
86 + if ( $latest_wordpress_version >= '5.9' && $latest_wordpress_version <= '5.9.3' || $latest_wordpress_version >= '6.0' ) {
87 + $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .welcome-panel .welcome-panel-header h2 { font-size: 30px;line-height: 36px; }';
88 + $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .welcome-panel .welcome-panel-header p { font-size: 16px; }';
89 + $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .welcome-panel-header { padding: 70px 408px 70px 48px; }';
90 + $jltwp_adminify_output_css .= '.welcome-panel a { text-decoration: underline; }';
91 + }
92 + if ( $latest_wordpress_version >= '6.0' ) {
93 + $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .welcome-panel .welcome-panel-header p a{ color:#3c434a !important; }';
94 + $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .welcome-panel-header { padding: 80px 408px 80px 48px; }';
95 + }
96 + if ( $latest_wordpress_version >= '6.1' ) {
97 + $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .welcome-panel .welcome-panel-header p a{ color:#fff !important; }';
98 + }
99 + // Logo Text Light
100 + if ( !empty( $this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['font-size'] ) ) {
101 + $jltwp_adminify_output_css .= '.wp-adminify .navbar .wp-adminify-site-name { font-size: ' . esc_attr( $this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['font-size'] ) . 'px !important; }';
102 + }
103 + if ( !empty( $this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['font-family'] ) ) {
104 + $jltwp_adminify_output_css .= '.wp-adminify .navbar .wp-adminify-site-name { font-family: ' . esc_attr( $this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['font-family'] ) . '; }';
105 + }
106 + if ( !empty( $this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['font-weight'] ) ) {
107 + $jltwp_adminify_output_css .= '.wp-adminify .navbar .wp-adminify-site-name { font-weight: ' . esc_attr( $this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['font-weight'] ) . ' !important; }';
108 + }
109 + if ( !empty( $this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['text-transform'] ) ) {
110 + $jltwp_adminify_output_css .= '.wp-adminify .navbar .wp-adminify-site-name { text-transform: ' . esc_attr( $this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['text-transform'] ) . '; }';
111 + }
112 + if ( !empty( $this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['text-decoration'] ) ) {
113 + $jltwp_adminify_output_css .= '.wp-adminify .navbar .wp-adminify-site-name { text-decoration: ' . esc_attr( $this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['text-decoration'] ) . '; }';
114 + }
115 + if ( !empty( $this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['line-height'] ) ) {
116 + $jltwp_adminify_output_css .= '.wp-adminify .navbar .wp-adminify-site-name { line-height: ' . esc_attr( $this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['line-height'] ) . 'px !important; }';
117 + }
118 + if ( !empty( $this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['letter-spacing'] ) ) {
119 + $jltwp_adminify_output_css .= '.wp-adminify .navbar .wp-adminify-site-name { letter-spacing: ' . esc_attr( $this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['letter-spacing'] ) . 'px; }';
120 + }
121 + if ( !empty( $this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['word-spacing'] ) ) {
122 + $jltwp_adminify_output_css .= '.wp-adminify .navbar .wp-adminify-site-name { word-spacing: ' . esc_attr( $this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['word-spacing'] ) . 'px; }';
123 + }
124 + if ( !empty( $this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['color'] ) ) {
125 + $jltwp_adminify_output_css .= '.wp-adminify .navbar .wp-adminify-site-name { color: ' . esc_attr( $this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['color'] ) . ' !important; }';
126 + }
127 + // Logo Text Dark
128 + if ( !empty( $this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['font-size'] ) ) {
129 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-dark-mode .navbar .wp-adminify-site-name { font-size: ' . esc_attr( $this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['font-size'] ) . 'px !important; }';
130 + }
131 + if ( !empty( $this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['font-family'] ) ) {
132 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-dark-mode .navbar .wp-adminify-site-name { font-family: ' . esc_attr( $this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['font-family'] ) . '; }';
133 + }
134 + if ( !empty( $this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['font-weight'] ) ) {
135 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-dark-mode .navbar .wp-adminify-site-name { font-weight: ' . esc_attr( $this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['font-weight'] ) . ' !important; }';
136 + }
137 + if ( !empty( $this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['text-transform'] ) ) {
138 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-dark-mode .navbar .wp-adminify-site-name { text-transform: ' . esc_attr( $this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['text-transform'] ) . '; }';
139 + }
140 + if ( !empty( $this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['text-decoration'] ) ) {
141 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-dark-mode .navbar .wp-adminify-site-name { text-decoration: ' . esc_attr( $this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['text-decoration'] ) . '; }';
142 + }
143 + if ( !empty( $this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['line-height'] ) ) {
144 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-dark-mode .navbar .wp-adminify-site-name { line-height: ' . esc_attr( $this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['line-height'] ) . 'px !important; }';
145 + }
146 + if ( !empty( $this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['letter-spacing'] ) ) {
147 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-dark-mode .navbar .wp-adminify-site-name { letter-spacing: ' . esc_attr( $this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['letter-spacing'] ) . 'px; }';
148 + }
149 + if ( !empty( $this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['word-spacing'] ) ) {
150 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-dark-mode .navbar .wp-adminify-site-name { word-spacing: ' . esc_attr( $this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['word-spacing'] ) . 'px; }';
151 + }
152 + if ( !empty( $this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['color'] ) ) {
153 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-dark-mode .navbar .wp-adminify-site-name { color: ' . esc_attr( $this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['color'] ) . ' !important; }';
154 + }
155 + // Admin Bar Typography Settings
156 + // font size
157 + if ( !empty( $this->admin_bar_options['admin_bar_font_typography']['font-size'] ) ) {
158 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-top_bar #wpadminbar .ab-top-menu > li > a.ab-item, .wp-adminify.adminify-top_bar #wpadminbar .ab-top-menu > li > a.ab-item > .ab-label, .wp-adminify.adminify-top_bar #wpadminbar .ab-top-menu > li > a.ab-item > .ab-icon:before { font-size: ' . ($this->admin_bar_options['admin_bar_font_typography']['font-size'] - 1) . 'px !important; }';
159 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-top_bar #wpadminbar .ab-submenu > li > a.ab-item, .wp-adminify.adminify-top_bar #wpadminbar .ab-submenu > li > a.ab-item span { font-size: ' . esc_attr( $this->admin_bar_options['admin_bar_font_typography']['font-size'] ) . 'px !important; }';
160 + }
161 + // text align
162 + if ( !empty( $this->admin_bar_options['admin_bar_font_typography']['text-align'] ) ) {
163 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-top_bar #wpadminbar .ab-top-menu > li > a.ab-item, .wp-adminify.adminify-top_bar #wpadminbar .ab-top-menu > li > a.ab-item > .ab-label, .wp-adminify.adminify-top_bar #wpadminbar .ab-submenu > li > a.ab-item, .wp-adminify.adminify-top_bar #wpadminbar .ab-submenu > li > a.ab-item span { text-align: ' . esc_attr( $this->admin_bar_options['admin_bar_font_typography']['text-align'] ) . '; }';
164 + }
165 + // text transform
166 + if ( !empty( $this->admin_bar_options['admin_bar_font_typography']['text-transform'] ) ) {
167 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-top_bar #wpadminbar .ab-top-menu > li > a.ab-item, .wp-adminify.adminify-top_bar #wpadminbar .ab-top-menu > li > a.ab-item > .ab-label, .wp-adminify.adminify-top_bar #wpadminbar .ab-submenu > li > a.ab-item, .wp-adminify.adminify-top_bar #wpadminbar .ab-submenu > li > a.ab-item span { text-transform: ' . esc_attr( $this->admin_bar_options['admin_bar_font_typography']['text-transform'] ) . '; }';
168 + }
169 + // text decoration
170 + if ( !empty( $this->admin_bar_options['admin_bar_font_typography']['text-decoration'] ) ) {
171 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-top_bar #wpadminbar .ab-top-menu > li > a.ab-item, .wp-adminify.adminify-top_bar #wpadminbar .ab-top-menu > li > a.ab-item > .ab-label, .wp-adminify.adminify-top_bar #wpadminbar .ab-submenu > li > a.ab-item, .wp-adminify.adminify-top_bar #wpadminbar .ab-submenu > li > a.ab-item span { text-decoration: ' . esc_attr( $this->admin_bar_options['admin_bar_font_typography']['text-decoration'] ) . '; }';
172 + }
173 + // line height
174 + if ( !empty( $this->admin_bar_options['admin_bar_font_typography']['line-height'] ) ) {
175 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-top_bar #wpadminbar .ab-top-menu > li > a.ab-item, .wp-adminify.adminify-top_bar #wpadminbar .ab-top-menu > li > a.ab-item > .ab-label, .wp-adminify.adminify-top_bar #wpadminbar .ab-submenu > li > a.ab-item, .wp-adminify.adminify-top_bar #wpadminbar .ab-submenu > li > a.ab-item span { line-height: ' . esc_attr( $this->admin_bar_options['admin_bar_font_typography']['line-height'] ) . 'px !important; }';
176 + }
177 + // letter spacing
178 + if ( !empty( $this->admin_bar_options['admin_bar_font_typography']['letter-spacing'] ) ) {
179 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-top_bar #wpadminbar .ab-top-menu > li > a.ab-item, .wp-adminify.adminify-top_bar #wpadminbar .ab-top-menu > li > a.ab-item > .ab-label, .wp-adminify.adminify-top_bar #wpadminbar .ab-submenu > li > a.ab-item, .wp-adminify.adminify-top_bar #wpadminbar .ab-submenu > li > a.ab-item span { letter-spacing: ' . esc_attr( $this->admin_bar_options['admin_bar_font_typography']['letter-spacing'] ) . 'px !important; }';
180 + }
181 + // Menu Styles
182 + // Typography Settings
183 + // if (!empty($this->options['menu_styles']['menu_typography']['font-family'])) {
184 + // if ($this->options['layout_type'] === 'vertical') {
185 + // $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.menu-top, .wp-adminify #adminmenu .wp-submenu li a { font-family: ' . esc_attr( $this->options['menu_styles']['menu_typography']['font-family']) . '}';
186 + // }
187 + // if (jltwp_adminify()->can_use_premium_code__premium_only()) {
188 + // if ($this->options['layout_type'] === 'horizontal') {
189 + // $jltwp_adminify_output_css .= '.wp-adminify.horizontal-menu .wp-adminify-horizontal-menu ul.horizontal-menu li a, .wp-adminify.horizontal-menu .wp-adminify-horizontal-menu ul.horizontal-menu .wp-submenu li a { font-family: ' . esc_attr($this->options['menu_styles']['menu_typography']['font-family']) . '}';
190 + // }
191 + // }
192 + // }
193 + if ( !empty( $this->options['menu_styles']['menu_typography']['font-weight'] ) ) {
194 + if ( $this->options['layout_type'] === 'vertical' ) {
195 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.menu-top, .wp-adminify #adminmenu .wp-submenu li a { font-weight: ' . esc_attr( $this->options['menu_styles']['menu_typography']['font-weight'] ) . '}';
196 + }
197 + }
198 + if ( !empty( $this->options['menu_styles']['menu_typography']['text-align'] ) ) {
199 + if ( $this->options['layout_type'] === 'vertical' ) {
200 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.menu-top, .wp-adminify #adminmenu .wp-submenu li a { text-align: ' . esc_attr( $this->options['menu_styles']['menu_typography']['text-align'] ) . '}';
201 + }
202 + }
203 + if ( !empty( $this->options['menu_styles']['menu_typography']['text-transform'] ) ) {
204 + if ( $this->options['layout_type'] === 'vertical' ) {
205 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.menu-top, .wp-adminify #adminmenu .wp-submenu li a { text-transform: ' . esc_attr( $this->options['menu_styles']['menu_typography']['text-transform'] ) . '}';
206 + }
207 + }
208 + if ( !empty( $this->options['menu_styles']['menu_typography']['font-size'] ) ) {
209 + if ( $this->options['layout_type'] === 'vertical' ) {
210 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.menu-top, .wp-adminify #adminmenu .wp-submenu li a { font-size: ' . esc_attr( $this->options['menu_styles']['menu_typography']['font-size'] ) . 'px;}';
211 + }
212 + }
213 + if ( !empty( $this->options['menu_styles']['menu_typography']['line-height'] ) ) {
214 + if ( $this->options['layout_type'] === 'vertical' ) {
215 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.menu-top, .wp-adminify #adminmenu .wp-submenu li a { line-height: ' . esc_attr( $this->options['menu_styles']['menu_typography']['line-height'] ) . 'px;}';
216 + }
217 + }
218 + if ( !empty( $this->options['menu_styles']['menu_typography']['letter-spacing'] ) ) {
219 + if ( $this->options['layout_type'] === 'vertical' ) {
220 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.menu-top, .wp-adminify #adminmenu .wp-submenu li a { letter-spacing: ' . esc_attr( $this->options['menu_styles']['menu_typography']['letter-spacing'] ) . 'px;}';
221 + }
222 + }
223 + if ( !empty( $this->options['menu_styles']['menu_typography']['text-decoration'] ) ) {
224 + if ( $this->options['layout_type'] === 'vertical' ) {
225 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.menu-top, .wp-adminify #adminmenu .wp-submenu li a { text-decoration: ' . esc_attr( $this->options['menu_styles']['menu_typography']['text-decoration'] ) . ';}';
226 + }
227 + }
228 + // Menu Wrapper Padding
229 + if ( !empty( $this->options['menu_styles']['menu_wrapper_padding']['top'] ) && $this->options['menu_styles']['menu_wrapper_padding']['top'] !== '' ) {
230 + if ( $this->options['layout_type'] === 'vertical' ) {
231 + $jltwp_adminify_output_css .= '.wp_adminify_sidebar_admin-menu { padding-top: ' . esc_attr( $this->options['menu_styles']['menu_wrapper_padding']['top'] ) . esc_attr( $this->options['menu_styles']['menu_wrapper_padding']['unit'] ) . ';}';
232 + }
233 + }
234 + if ( !empty( $this->options['menu_styles']['menu_wrapper_padding']['right'] ) && $this->options['menu_styles']['menu_wrapper_padding']['right'] !== '' ) {
235 + if ( $this->options['layout_type'] === 'vertical' ) {
236 + $jltwp_adminify_output_css .= '.wp_adminify_sidebar_admin-menu { padding-right: ' . esc_attr( $this->options['menu_styles']['menu_wrapper_padding']['right'] ) . esc_attr( $this->options['menu_styles']['menu_wrapper_padding']['unit'] ) . ';}';
237 + }
238 + }
239 + if ( !empty( $this->options['menu_styles']['menu_wrapper_padding']['bottom'] ) && $this->options['menu_styles']['menu_wrapper_padding']['bottom'] !== '' ) {
240 + if ( $this->options['layout_type'] === 'vertical' ) {
241 + $jltwp_adminify_output_css .= '.wp_adminify_sidebar_admin-menu { padding-bottom: ' . esc_attr( $this->options['menu_styles']['menu_wrapper_padding']['bottom'] ) . esc_attr( $this->options['menu_styles']['menu_wrapper_padding']['unit'] ) . ';}';
242 + }
243 + }
244 + if ( !empty( $this->options['menu_styles']['menu_wrapper_padding']['left'] ) && $this->options['menu_styles']['menu_wrapper_padding']['left'] !== '' ) {
245 + if ( $this->options['layout_type'] === 'vertical' ) {
246 + $jltwp_adminify_output_css .= '.wp_adminify_sidebar_admin-menu { padding-left: ' . esc_attr( $this->options['menu_styles']['menu_wrapper_padding']['left'] ) . esc_attr( $this->options['menu_styles']['menu_wrapper_padding']['unit'] ) . ';}';
247 + }
248 + }
249 + // Sub Menu Wrapper Padding
250 + if ( !empty( $this->options['menu_styles']['submenu_wrapper_padding']['top'] ) && $this->options['menu_styles']['submenu_wrapper_padding']['top'] !== '' ) {
251 + if ( $this->options['layout_type'] === 'vertical' ) {
252 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top.wp-menu-open .wp-submenu { padding-top: ' . esc_attr( $this->options['menu_styles']['submenu_wrapper_padding']['top'] ) . esc_attr( $this->options['menu_styles']['submenu_wrapper_padding']['unit'] ) . ';}';
253 + }
254 + }
255 + if ( !empty( $this->options['menu_styles']['submenu_wrapper_padding']['right'] ) && $this->options['menu_styles']['submenu_wrapper_padding']['right'] !== '' ) {
256 + if ( $this->options['layout_type'] === 'vertical' ) {
257 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top.wp-menu-open .wp-submenu { padding-right: ' . esc_attr( $this->options['menu_styles']['submenu_wrapper_padding']['right'] ) . esc_attr( $this->options['menu_styles']['submenu_wrapper_padding']['unit'] ) . ';}';
258 + }
259 + }
260 + if ( !empty( $this->options['menu_styles']['submenu_wrapper_padding']['bottom'] ) && $this->options['menu_styles']['submenu_wrapper_padding']['bottom'] !== '' ) {
261 + if ( $this->options['layout_type'] === 'vertical' ) {
262 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top.wp-menu-open .wp-submenu { padding-bottom: ' . esc_attr( $this->options['menu_styles']['submenu_wrapper_padding']['bottom'] ) . esc_attr( $this->options['menu_styles']['submenu_wrapper_padding']['unit'] ) . ';}';
263 + }
264 + }
265 + if ( !empty( $this->options['menu_styles']['submenu_wrapper_padding']['left'] ) && $this->options['menu_styles']['submenu_wrapper_padding']['left'] !== '' ) {
266 + if ( $this->options['layout_type'] === 'vertical' ) {
267 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top.wp-menu-open .wp-submenu { padding-left: ' . esc_attr( $this->options['menu_styles']['submenu_wrapper_padding']['left'] ) . esc_attr( $this->options['menu_styles']['submenu_wrapper_padding']['unit'] ) . ';}';
268 + }
269 + }
270 + // Vertical Menu Parent Padding
271 + if ( !empty( $this->options['layout_type'] ) === 'vertical' ) {
272 + if ( !empty( $this->options['menu_styles']['menu_vertical_padding'] ) ) {
273 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp-submenu-wrap, .wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.menu-top { padding:' . esc_attr( $this->options['menu_styles']['menu_vertical_padding'] ) . 'px 0;}';
274 + }
275 + }
276 + // Submenu Item Padding
277 + if ( !empty( $this->options['layout_type'] ) === 'vertical' ) {
278 + // Sub Menu Vertical Padding
279 + if ( !empty( $this->options['menu_styles']['submenu_vertical_space'] ) ) {
280 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp-submenu li a { padding:' . esc_attr( $this->options['menu_styles']['submenu_vertical_space'] ) . 'px 0px !important;}';
281 + }
282 + }
283 + // Parent Menu Colors
284 + // Background Color
285 + if ( !empty( $this->options['menu_styles']['parent_menu_colors']['wrap_bg'] ) ) {
286 + if ( $this->options['layout_type'] === 'vertical' ) {
287 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu, .wp-adminify #adminmenuback, .wp-adminify #adminmenuwrap, .wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top.wp-menu-open { background:' . esc_attr( $this->options['menu_styles']['parent_menu_colors']['wrap_bg'] ) . ' !important;}';
288 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-round-open-menu #adminmenu .wp_adminify_admin-menu li.wp-adminify-active > a.menu-top::before, .wp-adminify.adminify-round-open-menu #adminmenu .wp_adminify_admin-menu li.wp-adminify-active > a.menu-top:after{ background-color:' . esc_attr( $this->options['menu_styles']['parent_menu_colors']['wrap_bg'] ) . ' !important;}';
289 + }
290 + }
291 + // Menu Item Hover Background
292 + if ( !empty( $this->options['menu_styles']['parent_menu_colors']['hover_bg'] ) ) {
293 + if ( $this->options['layout_type'] === 'vertical' ) {
294 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.menu-top:hover { background:' . esc_attr( $this->options['menu_styles']['parent_menu_colors']['hover_bg'] ) . ' !important;}';
295 + $jltwp_adminify_output_css .= '.wp-adminify.folded #adminmenu .wp_adminify_admin-menu li.menu-top:hover { background: inherit !important;}';
296 + $jltwp_adminify_output_css .= '.wp-adminify.folded #adminmenu .wp_adminify_admin-menu li.menu-top:hover a.menu-top .wp-adminify-icon-button:not(.svg-image-icon) { background: inherit !important;}';
297 + $jltwp_adminify_output_css .= '.wp-adminify.folded #adminmenu .wp_adminify_admin-menu li.menu-top:hover a.menu-top .wp-adminify-icon-button.svg-image-icon { background-color: transparent !important;}';
298 + }
299 + }
300 + // Text Color
301 + if ( !empty( $this->options['menu_styles']['parent_menu_colors']['text_color'] ) ) {
302 + if ( $this->options['layout_type'] === 'vertical' ) {
303 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a, .wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a .wp-adminify-icon-button:before { color:' . esc_attr( $this->options['menu_styles']['parent_menu_colors']['text_color'] ) . ' !important;}';
304 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a .wp-adminify-icon-button svg path { fill:' . esc_attr( $this->options['menu_styles']['parent_menu_colors']['text_color'] ) . ' !important;}';
305 + }
306 + }
307 + // Text Color
308 + if ( !empty( $this->options['menu_styles']['parent_menu_colors']['text_hover'] ) ) {
309 + if ( $this->options['layout_type'] === 'vertical' ) {
310 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.menu-top:hover, .wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.menu-top:hover .wp-adminify-icon-button:before ,.wp-adminify.folded.adminify-rounded-v-menu #adminmenu .wp_adminify_admin-menu li.menu-top:hover a.menu-top .wp-adminify-icon-button:before{ color:' . esc_attr( $this->options['menu_styles']['parent_menu_colors']['text_hover'] ) . ' !important;}';
311 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.menu-top:hover .wp-adminify-icon-button svg path { fill:' . esc_attr( $this->options['menu_styles']['parent_menu_colors']['text_hover'] ) . ' !important;}';
312 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.menu-top.toplevel_page_wp-adminify-settings:hover .wp-adminify-icon-button { filter: none !important;}';
313 + $jltwp_adminify_output_css .= '.wp-adminify.folded #adminmenu .wp_adminify_admin-menu li.menu-top:hover a.menu-top:before{ background-color:' . esc_attr( $this->options['menu_styles']['parent_menu_colors']['text_hover'] ) . ' !important;}';
314 + }
315 + }
316 + // Active Menu Background Color
317 + if ( !empty( $this->options['menu_styles']['parent_menu_colors']['active_bg'] ) ) {
318 + if ( $this->options['layout_type'] === 'vertical' ) {
319 + $jltwp_adminify_output_css .= '.wp-adminify:not(.adminify-round-open-menu) #adminmenu .wp_adminify_admin-menu li.menu-top.wp-adminify-active > a { background:' . esc_attr( $this->options['menu_styles']['parent_menu_colors']['active_bg'] ) . ' !important;}';
320 + $jltwp_adminify_output_css .= '.wp-adminify.adminify-round-open-menu #adminmenu .wp_adminify_admin-menu li.wp-adminify-active > a.menu-top,.wp-adminify.adminify-round-open-menu #adminmenu .wp_adminify_admin-menu li.wp-adminify-active:before, .wp-adminify.adminify-round-open-menu #adminmenu .wp_adminify_admin-menu li.wp-adminify-active:after{ background-color:' . esc_attr( $this->options['menu_styles']['parent_menu_colors']['active_bg'] ) . ' !important;}';
321 + $jltwp_adminify_output_css .= '.wp-adminify.folded #adminmenu .wp_adminify_admin-menu li.wp-adminify-active a.menu-top .wp-adminify-icon-button:not(.svg-image-icon) { background: inherit !important;}';
322 + $jltwp_adminify_output_css .= '.wp-adminify.folded #adminmenu .wp_adminify_admin-menu li.wp-adminify-active a.menu-top .wp-adminify-icon-button.svg-image-icon { background-color: inherit !important;}';
323 + }
324 + }
325 + if ( !empty( $this->options['menu_styles']['parent_menu_colors']['active_color'] ) ) {
326 + if ( $this->options['layout_type'] === 'vertical' ) {
327 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.wp-adminify-active, .wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.wp-adminify-active .wp-adminify-icon-button:before, .wp-adminify.folded.adminify-rounded-v-menu #adminmenu .wp_adminify_admin-menu li.menu-top.wp-adminify-active a.menu-top .wp-adminify-icon-button:before{ color:' . esc_attr( $this->options['menu_styles']['parent_menu_colors']['active_color'] ) . ' !important;}';
328 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.wp-adminify-active .wp-adminify-icon-button svg path { fill:' . esc_attr( $this->options['menu_styles']['parent_menu_colors']['active_color'] ) . ' !important;}';
329 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top > a.wp-adminify-active.toplevel_page_wp-adminify-settings .wp-adminify-icon-button { filter: none !important;}';
330 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top.wp-adminify-active > a:before { background-color: ' . esc_attr( $this->options['menu_styles']['parent_menu_colors']['active_color'] ) . ' !important;}';
331 + }
332 + }
333 + // Sub Menu Colors
334 + if ( !empty( $this->options['menu_styles']['sub_menu_colors']['wrap_bg'] ) ) {
335 + if ( $this->options['layout_type'] === 'vertical' ) {
336 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top .wp-submenu, .wp-adminify #adminmenu .wp-not-current-submenu .wp-submenu { background:' . esc_attr( $this->options['menu_styles']['sub_menu_colors']['wrap_bg'] ) . ' !important;}';
337 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top .wp-submenu, .wp-adminify #adminmenu .wp-not-current-submenu .wp-submenu { border-top-right-radius: 19px !important;}';
338 + }
339 + }
340 + if ( !empty( $this->options['menu_styles']['sub_menu_colors']['hover_bg'] ) ) {
341 + if ( $this->options['layout_type'] === 'vertical' ) {
342 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top .wp-submenu li a:hover { background:' . esc_attr( $this->options['menu_styles']['sub_menu_colors']['hover_bg'] ) . ' !important;}';
343 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top.wp-menu-open .wp-submenu li a:hover { background:' . esc_attr( $this->options['menu_styles']['sub_menu_colors']['hover_bg'] ) . ' !important;}';
344 + }
345 + }
346 + if ( !empty( $this->options['menu_styles']['sub_menu_colors']['text_color'] ) ) {
347 + if ( $this->options['layout_type'] === 'vertical' ) {
348 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top .wp-submenu li a { color:' . esc_attr( $this->options['menu_styles']['sub_menu_colors']['text_color'] ) . ' !important;}';
349 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top.wp-menu-open .wp-submenu li a { color:' . esc_attr( $this->options['menu_styles']['sub_menu_colors']['text_color'] ) . ' !important;}';
350 + }
351 + }
352 + if ( !empty( $this->options['menu_styles']['sub_menu_colors']['text_hover'] ) ) {
353 + if ( $this->options['layout_type'] === 'vertical' ) {
354 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top .wp-submenu li a:hover { color:' . esc_attr( $this->options['menu_styles']['sub_menu_colors']['text_hover'] ) . ' !important;}';
355 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top.wp-menu-open .wp-submenu li a:hover { color:' . esc_attr( $this->options['menu_styles']['sub_menu_colors']['text_hover'] ) . ' !important;}';
356 + }
357 + }
358 + if ( !empty( $this->options['menu_styles']['sub_menu_colors']['active_bg'] ) ) {
359 + if ( $this->options['layout_type'] === 'vertical' ) {
360 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top .wp-submenu li a.current { background:' . esc_attr( $this->options['menu_styles']['sub_menu_colors']['active_bg'] ) . ' !important;}';
361 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top.wp-menu-open .wp-submenu li a.current { background:' . esc_attr( $this->options['menu_styles']['sub_menu_colors']['active_bg'] ) . ' !important;}';
362 + }
363 + }
364 + if ( !empty( $this->options['menu_styles']['sub_menu_colors']['active_color'] ) ) {
365 + if ( $this->options['layout_type'] === 'vertical' ) {
366 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top .wp-submenu li a.current { color:' . esc_attr( $this->options['menu_styles']['sub_menu_colors']['active_color'] ) . ' !important;}';
367 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li.menu-top.wp-menu-open .wp-submenu li a.current { color:' . esc_attr( $this->options['menu_styles']['sub_menu_colors']['active_color'] ) . ' !important;}';
368 + }
369 + }
370 + // Notification Counter
371 + // Background Color
372 + if ( !empty( $this->options['menu_styles']['notif_colors']['notif_bg'] ) ) {
373 + if ( $this->options['layout_type'] === 'vertical' ) {
374 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp_adminify_admin-menu li .awaiting-mod, .wp-adminify #adminmenu .wp_adminify_admin-menu li .update-plugins, .wp-adminify #adminmenu .wp_adminify_admin-menu #sidemenu li a span.update-plugins, .wp-adminify #adminmenu .wp_adminify_admin-menu li a.wp-has-current-submenu .update-plugins
375 + { background-color:' . esc_attr( $this->options['menu_styles']['notif_colors']['notif_bg'] ) . ' !important;}';
376 + }
377 + }
378 + if ( !empty( $this->options['menu_styles']['notif_colors']['notif_color'] ) ) {
379 + if ( $this->options['layout_type'] === 'vertical' ) {
380 + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .awaiting-mod, .wp-adminify #adminmenu .update-plugins, .wp-adminify #sidemenu li a span.update-plugins, .wp-adminify #adminmenu li a.wp-has-current-submenu .update-plugins { color:' . esc_attr( $this->options['menu_styles']['notif_colors']['notif_color'] ) . ';}';
381 + }
382 + }
383 + if ( Utils::is_plugin_active( 'brizy/brizy.php' ) ) {
384 + $jltwp_adminify_output_css .= '.brz-review-notice-container a { padding-left: 14px !important; }';
385 + }
386 + // Combine the values from above and minifiy them.
387 + $jltwp_adminify_output_css = preg_replace( '#/\\*.*?\\*/#s', '', $jltwp_adminify_output_css );
388 + $jltwp_adminify_output_css = preg_replace( '/\\s*([{}|:;,])\\s+/', '$1', $jltwp_adminify_output_css );
389 + $jltwp_adminify_output_css = preg_replace( '/\\s\\s+(.*)/', '$1', $jltwp_adminify_output_css );
390 + $adminify_ui = AdminSettings::get_instance()->get( 'admin_ui' );
391 + if ( !empty( $adminify_ui ) ) {
392 + wp_add_inline_style( 'wp-adminify-admin', wp_strip_all_tags( $jltwp_adminify_output_css ) );
393 + } else {
394 + wp_add_inline_style( 'wp-adminify-default-ui', wp_strip_all_tags( $jltwp_adminify_output_css ) );
395 + }
396 + // Custom CSS
397 + if ( !empty( $this->custom_css_js['custom_css'] ) ) {
398 + echo "\n<!-- Start of WP Adminify - Admin Area Custom CSS -->\n";
399 + echo "<style>\n";
400 + echo wp_strip_all_tags( $this->custom_css_js['custom_css'] );
401 + echo "\n</style>";
402 + echo "\n<!-- /End of WP Adminify - Admin Area Custom CSS -->\n";
403 + }
404 + }
58 405
59 - if ($color_preset != 'preset1') {
60 - $bodyclass .= ' color-preset-adminify-icon-white';
61 - }
62 -
406 + public function jltwp_adminify_output_scripts() {
407 + // Custom JS
408 + if ( !empty( $this->custom_css_js['custom_js'] ) ) {
409 + echo "\n<!-- Start of WP Adminify - Admin Area Custom JS -->\n";
410 + echo "<script>\n";
411 + echo wp_strip_all_tags( $this->custom_css_js['custom_js'] );
412 + echo "\n</script>";
413 + echo "\n<!-- /End of WP Adminify - Admin Area Custom JS -->\n";
414 + }
415 + }
63 416
64 - // // Submenu Hover Style
65 - // if ($menu_hover_submenu == 'classic') {
66 - // $bodyclass .= ' adminify-default-v-menu ';
67 - // } elseif ($menu_hover_submenu == 'accordion') {
68 - // $bodyclass .= ' adminify-accordion-v-menu ';
69 - // } elseif ($menu_hover_submenu == 'toggle') {
70 - // $bodyclass .= ' adminify-toggle-v-menu ';
71 - // }
72 -
73 - // // Active Menu Style
74 - // if (($menu_mode == 'rounded') || (($menu_mode == 'icon_menu') && ($icon_style == 'rounded'))) {
75 - // $bodyclass .= ' adminify-rounded-v-menu ';
76 - // $bodyclass .= ' adminify-round-open-menu ';
77 - // }
78 -
79 - return $classes . $bodyclass;
80 - }
81 -
82 - public function output_styles()
83 - {
84 - // $pxlbsadminify_output_css = '';
85 - // $pxlbsadminify_output_css.= 'body.wp-adminify{';
86 -
87 - // $pxlbsadminify_output_css.= '}';
88 -
89 - // // Combine the values from above and minifiy them.
90 - // $pxlbsadminify_output_css = preg_replace('#/\*.*?\*/#s', '', $pxlbsadminify_output_css);
91 - // $pxlbsadminify_output_css = preg_replace('/\s*([{}|:;,])\s+/', '$1', $pxlbsadminify_output_css);
92 - // $pxlbsadminify_output_css = preg_replace('/\s\s+(.*)/', '$1', $pxlbsadminify_output_css);
93 -
94 - // $adminify_ui = AdminSettings::get_instance()->get('admin_ui');
95 -
96 - // if (!empty($adminify_ui)) {
97 - // wp_add_inline_style('wp-adminify-admin', wp_strip_all_tags($pxlbsadminify_output_css));
98 - // } else {
99 - // wp_add_inline_style('wp-adminify-default-ui', wp_strip_all_tags($pxlbsadminify_output_css));
100 - // }
101 -
102 - // Custom CSS
103 - if (!empty($this->options['devtools_tabs']['custom_css'])) {
104 - echo "\n<!-- Start of Adminify - Admin Area Custom CSS -->\n";
105 - echo "<style>\n";
106 - echo esc_html( wp_strip_all_tags($this->options['devtools_tabs']['custom_css']) );
107 - echo "\n</style>";
108 - echo "\n<!-- /End of Adminify - Admin Area Custom CSS -->\n";
109 - }
110 - }
111 -
112 - public function output_scripts()
113 - {
114 - // Custom JS (admin-defined developer tool, saved only by users with the plugin's settings capability).
115 - if (!empty($this->options['devtools_tabs']['custom_js'])) {
116 - $custom_js = html_entity_decode($this->options['devtools_tabs']['custom_js']);
117 - echo "\n<!-- Start of Adminify - Admin Area Custom JS -->\n";
118 - // Emit through the core helper, which builds a properly-formed inline <script> tag.
119 - if (function_exists('wp_print_inline_script_tag')) {
120 - wp_print_inline_script_tag($custom_js);
121 - } else {
122 - // Fallback for WP < 5.7: neutralise any premature closing tag before printing.
123 - echo "<script>\n";
124 - echo str_replace('</script>', '<\/script>', $custom_js); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- executable inline JS cannot be HTML-escaped; closing tag is neutralised and the value is admin-only config.
125 - echo "\n</script>";
126 - }
127 - echo "\n<!-- /End of Adminify - Admin Area Custom JS -->\n";
128 - }
129 - }
130 417 }