| @@ -1,130 +1,458 @@ | ||
| 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 | - | |
| 14 | -class OutputCSS | |
| 13 | +class OutputCSS extends AdminSettingsModel | |
| 15 | 14 | { |
| 16 | - public $options; | |
| 15 | + public $url ; | |
| 16 | + public $options ; | |
| 17 | + public $admin_bar_options ; | |
| 18 | + public $custom_css_js ; | |
| 19 | + public function __construct() | |
| 20 | + { | |
| 21 | + new OutputCSS_Body(); | |
| 22 | + | |
| 23 | + if ( is_multisite() && is_network_admin() ) { | |
| 24 | + return; | |
| 25 | + // only display to network admin if multisite is enbaled | |
| 26 | + } | |
| 27 | + | |
| 28 | + $this->options = (array) AdminSettings::get_instance()->get( 'menu_layout_settings' ); | |
| 29 | + $this->admin_bar_options = (array) AdminSettings::get_instance()->get( 'admin_bar_settings' ); | |
| 30 | + $this->admin_bar_logo_light = (array) AdminSettings::get_instance()->get( 'admin_bar_light_mode' ); | |
| 31 | + $this->admin_bar_logo_dark = (array) AdminSettings::get_instance()->get( 'admin_bar_dark_mode' ); | |
| 32 | + $this->custom_css_js = AdminSettings::get_instance()->get(); | |
| 33 | + add_action( 'admin_enqueue_scripts', [ $this, 'jltwp_adminify_output_styles' ], 100 ); | |
| 34 | + add_action( 'admin_footer', [ $this, 'jltwp_adminify_output_scripts' ], 100 ); | |
| 35 | + add_filter( 'admin_body_class', [ $this, 'add_body_classes' ] ); | |
| 36 | + } | |
| 37 | + | |
| 38 | + public function add_body_classes( $classes ) | |
| 39 | + { | |
| 40 | + $options = (array) AdminSettings::get_instance()->get(); | |
| 41 | + $color_mode = ( !empty($options['admin_bar_mode']) ? $options['admin_bar_mode'] : 'light' ); | |
| 42 | + $color_preset = ( !empty($options['adminify_theme']) ? $options['adminify_theme'] : 'preset1' ); | |
| 43 | + $icon_style = ( !empty($this->options['icon_style']) ? $this->options['icon_style'] : 'classic' ); | |
| 44 | + $menu_hover_submenu = ( !empty($this->options['menu_hover_submenu']) ? $this->options['menu_hover_submenu'] : 'classic' ); | |
| 45 | + $menu_mode = ( !empty($this->options['menu_mode']) ? $this->options['menu_mode'] : 'classic' ); | |
| 46 | + $bodyclass = ''; | |
| 47 | + if ( $color_mode == 'light' ) { | |
| 48 | + $bodyclass .= ' adminify-light-mode '; | |
| 49 | + } | |
| 50 | + if ( $color_mode == 'dark' ) { | |
| 51 | + $bodyclass .= ' adminify-dark-mode '; | |
| 52 | + } | |
| 53 | + if ( $color_preset != 'preset1' ) { | |
| 54 | + $bodyclass .= ' color-preset-adminify-icon-white'; | |
| 55 | + } | |
| 56 | + // Submenu Hover Style | |
| 57 | + | |
| 58 | + if ( $menu_hover_submenu == 'classic' ) { | |
| 59 | + $bodyclass .= ' adminify-default-v-menu '; | |
| 60 | + } elseif ( $menu_hover_submenu == 'accordion' ) { | |
| 61 | + $bodyclass .= ' adminify-accordion-v-menu '; | |
| 62 | + } elseif ( $menu_hover_submenu == 'toggle' ) { | |
| 63 | + $bodyclass .= ' adminify-toggle-v-menu '; | |
| 64 | + } | |
| 65 | + | |
| 66 | + // Active Menu Style | |
| 67 | + | |
| 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 | + | |
| 73 | + return $classes . $bodyclass; | |
| 74 | + } | |
| 75 | + | |
| 76 | + public function jltwp_adminify_output_styles() | |
| 77 | + { | |
| 78 | + $jltwp_adminify_output_css = ''; | |
| 79 | + // Welcome Panel Styles. | |
| 80 | + $latest_wordpress_version = get_bloginfo( 'version' ); | |
| 81 | + | |
| 82 | + if ( $latest_wordpress_version >= '6.2' ) { | |
| 83 | + $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .adminify-panel-content { min-height: inherit !important }'; | |
| 84 | + $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .welcome-panel-header * { color: #fff !important }'; | |
| 85 | + } | |
| 86 | + | |
| 87 | + if ( $latest_wordpress_version >= '5.0' && $latest_wordpress_version <= '5.8.4' ) { | |
| 88 | + $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .button { text-shadow: none !important }'; | |
| 89 | + } | |
| 90 | + | |
| 91 | + if ( $latest_wordpress_version >= '5.9' && $latest_wordpress_version <= '5.9.3' || $latest_wordpress_version >= '6.0' ) { | |
| 92 | + $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .welcome-panel .welcome-panel-header h2 { font-size: 30px;line-height: 36px; }'; | |
| 93 | + $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .welcome-panel .welcome-panel-header p { font-size: 16px; }'; | |
| 94 | + $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .welcome-panel-header { padding: 70px 408px 70px 48px; }'; | |
| 95 | + $jltwp_adminify_output_css .= '.welcome-panel a { text-decoration: underline; }'; | |
| 96 | + } | |
| 97 | + | |
| 98 | + | |
| 99 | + if ( $latest_wordpress_version >= '6.0' ) { | |
| 100 | + $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .welcome-panel .welcome-panel-header p a{ color:#3c434a !important; }'; | |
| 101 | + $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .welcome-panel-header { padding: 80px 408px 80px 48px; }'; | |
| 102 | + } | |
| 103 | + | |
| 104 | + if ( $latest_wordpress_version >= '6.1' ) { | |
| 105 | + $jltwp_adminify_output_css .= '.wp-adminify #wpbody-content .welcome-panel .welcome-panel-header p a{ color:#fff !important; }'; | |
| 106 | + } | |
| 107 | + // Logo Text Light | |
| 108 | + if ( !empty($this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['font-size']) ) { | |
| 109 | + $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; }'; | |
| 110 | + } | |
| 111 | + if ( !empty($this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['font-family']) ) { | |
| 112 | + $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'] ) . '; }'; | |
| 113 | + } | |
| 114 | + if ( !empty($this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['font-weight']) ) { | |
| 115 | + $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; }'; | |
| 116 | + } | |
| 117 | + if ( !empty($this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['text-transform']) ) { | |
| 118 | + $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'] ) . '; }'; | |
| 119 | + } | |
| 120 | + if ( !empty($this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['text-decoration']) ) { | |
| 121 | + $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'] ) . '; }'; | |
| 122 | + } | |
| 123 | + if ( !empty($this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['line-height']) ) { | |
| 124 | + $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; }'; | |
| 125 | + } | |
| 126 | + if ( !empty($this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['letter-spacing']) ) { | |
| 127 | + $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; }'; | |
| 128 | + } | |
| 129 | + if ( !empty($this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['word-spacing']) ) { | |
| 130 | + $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; }'; | |
| 131 | + } | |
| 132 | + if ( !empty($this->admin_bar_logo_light['admin_bar_light_logo_text_typo']['color']) ) { | |
| 133 | + $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; }'; | |
| 134 | + } | |
| 135 | + // Logo Text Dark | |
| 136 | + if ( !empty($this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['font-size']) ) { | |
| 137 | + $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; }'; | |
| 138 | + } | |
| 139 | + if ( !empty($this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['font-family']) ) { | |
| 140 | + $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'] ) . '; }'; | |
| 141 | + } | |
| 142 | + if ( !empty($this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['font-weight']) ) { | |
| 143 | + $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; }'; | |
| 144 | + } | |
| 145 | + if ( !empty($this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['text-transform']) ) { | |
| 146 | + $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'] ) . '; }'; | |
| 147 | + } | |
| 148 | + if ( !empty($this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['text-decoration']) ) { | |
| 149 | + $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'] ) . '; }'; | |
| 150 | + } | |
| 151 | + if ( !empty($this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['line-height']) ) { | |
| 152 | + $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; }'; | |
| 153 | + } | |
| 154 | + if ( !empty($this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['letter-spacing']) ) { | |
| 155 | + $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; }'; | |
| 156 | + } | |
| 157 | + if ( !empty($this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['word-spacing']) ) { | |
| 158 | + $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; }'; | |
| 159 | + } | |
| 160 | + if ( !empty($this->admin_bar_logo_dark['admin_bar_dark_logo_text_typo']['color']) ) { | |
| 161 | + $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; }'; | |
| 162 | + } | |
| 163 | + // Admin Bar Typography Settings | |
| 164 | + // font size | |
| 165 | + | |
| 166 | + if ( !empty($this->admin_bar_options['admin_bar_font_typography']['font-size']) ) { | |
| 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-top-menu > li > a.ab-item > .ab-icon:before { font-size: ' . ($this->admin_bar_options['admin_bar_font_typography']['font-size'] - 1) . 'px !important; }'; | |
| 168 | + $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; }'; | |
| 169 | + } | |
| 170 | + | |
| 171 | + // text align | |
| 172 | + if ( !empty($this->admin_bar_options['admin_bar_font_typography']['text-align']) ) { | |
| 173 | + $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'] ) . '; }'; | |
| 174 | + } | |
| 175 | + // text transform | |
| 176 | + if ( !empty($this->admin_bar_options['admin_bar_font_typography']['text-transform']) ) { | |
| 177 | + $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'] ) . '; }'; | |
| 178 | + } | |
| 179 | + // text decoration | |
| 180 | + if ( !empty($this->admin_bar_options['admin_bar_font_typography']['text-decoration']) ) { | |
| 181 | + $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'] ) . '; }'; | |
| 182 | + } | |
| 183 | + // line height | |
| 184 | + if ( !empty($this->admin_bar_options['admin_bar_font_typography']['line-height']) ) { | |
| 185 | + $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; }'; | |
| 186 | + } | |
| 187 | + // letter spacing | |
| 188 | + if ( !empty($this->admin_bar_options['admin_bar_font_typography']['letter-spacing']) ) { | |
| 189 | + $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; }'; | |
| 190 | + } | |
| 191 | + // Menu Styles | |
| 192 | + // Typography Settings | |
| 193 | + // if (!empty($this->options['menu_styles']['menu_typography']['font-family'])) { | |
| 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-family: ' . esc_attr( $this->options['menu_styles']['menu_typography']['font-family']) . '}'; | |
| 196 | + // } | |
| 197 | + // if (jltwp_adminify()->can_use_premium_code__premium_only()) { | |
| 198 | + // if ($this->options['layout_type'] === 'horizontal') { | |
| 199 | + // $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']) . '}'; | |
| 200 | + // } | |
| 201 | + // } | |
| 202 | + // } | |
| 203 | + if ( !empty($this->options['menu_styles']['menu_typography']['font-weight']) ) { | |
| 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 { font-weight: ' . esc_attr( $this->options['menu_styles']['menu_typography']['font-weight'] ) . '}'; | |
| 206 | + } | |
| 207 | + } | |
| 208 | + if ( !empty($this->options['menu_styles']['menu_typography']['text-align']) ) { | |
| 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 { text-align: ' . esc_attr( $this->options['menu_styles']['menu_typography']['text-align'] ) . '}'; | |
| 211 | + } | |
| 212 | + } | |
| 213 | + if ( !empty($this->options['menu_styles']['menu_typography']['text-transform']) ) { | |
| 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 { text-transform: ' . esc_attr( $this->options['menu_styles']['menu_typography']['text-transform'] ) . '}'; | |
| 216 | + } | |
| 217 | + } | |
| 218 | + if ( !empty($this->options['menu_styles']['menu_typography']['font-size']) ) { | |
| 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 { font-size: ' . esc_attr( $this->options['menu_styles']['menu_typography']['font-size'] ) . 'px;}'; | |
| 221 | + } | |
| 222 | + } | |
| 223 | + if ( !empty($this->options['menu_styles']['menu_typography']['line-height']) ) { | |
| 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 { line-height: ' . esc_attr( $this->options['menu_styles']['menu_typography']['line-height'] ) . 'px;}'; | |
| 226 | + } | |
| 227 | + } | |
| 228 | + if ( !empty($this->options['menu_styles']['menu_typography']['letter-spacing']) ) { | |
| 229 | + if ( $this->options['layout_type'] === 'vertical' ) { | |
| 230 | + $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;}'; | |
| 231 | + } | |
| 232 | + } | |
| 233 | + if ( !empty($this->options['menu_styles']['menu_typography']['text-decoration']) ) { | |
| 234 | + if ( $this->options['layout_type'] === 'vertical' ) { | |
| 235 | + $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'] ) . ';}'; | |
| 236 | + } | |
| 237 | + } | |
| 238 | + // Menu Wrapper Padding | |
| 239 | + if ( !empty($this->options['menu_styles']['menu_wrapper_padding']['top']) && $this->options['menu_styles']['menu_wrapper_padding']['top'] !== '' ) { | |
| 240 | + if ( $this->options['layout_type'] === 'vertical' ) { | |
| 241 | + $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'] ) . ';}'; | |
| 242 | + } | |
| 243 | + } | |
| 244 | + if ( !empty($this->options['menu_styles']['menu_wrapper_padding']['right']) && $this->options['menu_styles']['menu_wrapper_padding']['right'] !== '' ) { | |
| 245 | + if ( $this->options['layout_type'] === 'vertical' ) { | |
| 246 | + $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'] ) . ';}'; | |
| 247 | + } | |
| 248 | + } | |
| 249 | + if ( !empty($this->options['menu_styles']['menu_wrapper_padding']['bottom']) && $this->options['menu_styles']['menu_wrapper_padding']['bottom'] !== '' ) { | |
| 250 | + if ( $this->options['layout_type'] === 'vertical' ) { | |
| 251 | + $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'] ) . ';}'; | |
| 252 | + } | |
| 253 | + } | |
| 254 | + if ( !empty($this->options['menu_styles']['menu_wrapper_padding']['left']) && $this->options['menu_styles']['menu_wrapper_padding']['left'] !== '' ) { | |
| 255 | + if ( $this->options['layout_type'] === 'vertical' ) { | |
| 256 | + $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'] ) . ';}'; | |
| 257 | + } | |
| 258 | + } | |
| 259 | + // Sub Menu Wrapper Padding | |
| 260 | + if ( !empty($this->options['menu_styles']['submenu_wrapper_padding']['top']) && $this->options['menu_styles']['submenu_wrapper_padding']['top'] !== '' ) { | |
| 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-top: ' . esc_attr( $this->options['menu_styles']['submenu_wrapper_padding']['top'] ) . esc_attr( $this->options['menu_styles']['submenu_wrapper_padding']['unit'] ) . ';}'; | |
| 263 | + } | |
| 264 | + } | |
| 265 | + if ( !empty($this->options['menu_styles']['submenu_wrapper_padding']['right']) && $this->options['menu_styles']['submenu_wrapper_padding']['right'] !== '' ) { | |
| 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-right: ' . esc_attr( $this->options['menu_styles']['submenu_wrapper_padding']['right'] ) . esc_attr( $this->options['menu_styles']['submenu_wrapper_padding']['unit'] ) . ';}'; | |
| 268 | + } | |
| 269 | + } | |
| 270 | + if ( !empty($this->options['menu_styles']['submenu_wrapper_padding']['bottom']) && $this->options['menu_styles']['submenu_wrapper_padding']['bottom'] !== '' ) { | |
| 271 | + if ( $this->options['layout_type'] === 'vertical' ) { | |
| 272 | + $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'] ) . ';}'; | |
| 273 | + } | |
| 274 | + } | |
| 275 | + if ( !empty($this->options['menu_styles']['submenu_wrapper_padding']['left']) && $this->options['menu_styles']['submenu_wrapper_padding']['left'] !== '' ) { | |
| 276 | + if ( $this->options['layout_type'] === 'vertical' ) { | |
| 277 | + $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'] ) . ';}'; | |
| 278 | + } | |
| 279 | + } | |
| 280 | + // Vertical Menu Parent Padding | |
| 281 | + if ( !empty($this->options['layout_type']) === 'vertical' ) { | |
| 282 | + if ( !empty($this->options['menu_styles']['menu_vertical_padding']) ) { | |
| 283 | + $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;}'; | |
| 284 | + } | |
| 285 | + } | |
| 286 | + // Submenu Item Padding | |
| 287 | + if ( !empty($this->options['layout_type']) === 'vertical' ) { | |
| 288 | + // Sub Menu Vertical Padding | |
| 289 | + if ( !empty($this->options['menu_styles']['submenu_vertical_space']) ) { | |
| 290 | + $jltwp_adminify_output_css .= '.wp-adminify #adminmenu .wp-submenu li a { padding:' . esc_attr( $this->options['menu_styles']['submenu_vertical_space'] ) . 'px 0px !important;}'; | |
| 291 | + } | |
| 292 | + } | |
| 293 | + // Parent Menu Colors | |
| 294 | + // Background Color | |
| 295 | + if ( !empty($this->options['menu_styles']['parent_menu_colors']['wrap_bg']) ) { | |
| 296 | + | |
| 297 | + if ( $this->options['layout_type'] === 'vertical' ) { | |
| 298 | + $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;}'; | |
| 299 | + $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;}'; | |
| 300 | + } | |
| 301 | + | |
| 302 | + } | |
| 303 | + // Menu Item Hover Background | |
| 304 | + if ( !empty($this->options['menu_styles']['parent_menu_colors']['hover_bg']) ) { | |
| 305 | + | |
| 306 | + if ( $this->options['layout_type'] === 'vertical' ) { | |
| 307 | + $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;}'; | |
| 308 | + $jltwp_adminify_output_css .= '.wp-adminify.folded #adminmenu .wp_adminify_admin-menu li.menu-top:hover { background: inherit !important;}'; | |
| 309 | + $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;}'; | |
| 310 | + $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;}'; | |
| 311 | + } | |
| 312 | + | |
| 313 | + } | |
| 314 | + // Text Color | |
| 315 | + if ( !empty($this->options['menu_styles']['parent_menu_colors']['text_color']) ) { | |
| 316 | + | |
| 317 | + if ( $this->options['layout_type'] === 'vertical' ) { | |
| 318 | + $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;}'; | |
| 319 | + $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;}'; | |
| 320 | + } | |
| 321 | + | |
| 322 | + } | |
| 323 | + // Text Color | |
| 324 | + if ( !empty($this->options['menu_styles']['parent_menu_colors']['text_hover']) ) { | |
| 325 | + | |
| 326 | + if ( $this->options['layout_type'] === 'vertical' ) { | |
| 327 | + $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;}'; | |
| 328 | + $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;}'; | |
| 329 | + $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;}'; | |
| 330 | + $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;}'; | |
| 331 | + } | |
| 332 | + | |
| 333 | + } | |
| 334 | + // Active Menu Background Color | |
| 335 | + if ( !empty($this->options['menu_styles']['parent_menu_colors']['active_bg']) ) { | |
| 336 | + | |
| 337 | + if ( $this->options['layout_type'] === 'vertical' ) { | |
| 338 | + $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;}'; | |
| 339 | + $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;}'; | |
| 340 | + $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;}'; | |
| 341 | + $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;}'; | |
| 342 | + } | |
| 343 | + | |
| 344 | + } | |
| 345 | + if ( !empty($this->options['menu_styles']['parent_menu_colors']['active_color']) ) { | |
| 346 | + | |
| 347 | + if ( $this->options['layout_type'] === 'vertical' ) { | |
| 348 | + $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;}'; | |
| 349 | + $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;}'; | |
| 350 | + $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;}'; | |
| 351 | + $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;}'; | |
| 352 | + } | |
| 353 | + | |
| 354 | + } | |
| 355 | + // Sub Menu Colors | |
| 356 | + if ( !empty($this->options['menu_styles']['sub_menu_colors']['wrap_bg']) ) { | |
| 357 | + | |
| 358 | + if ( $this->options['layout_type'] === 'vertical' ) { | |
| 359 | + $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;}'; | |
| 360 | + $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;}'; | |
| 361 | + } | |
| 362 | + | |
| 363 | + } | |
| 364 | + if ( !empty($this->options['menu_styles']['sub_menu_colors']['hover_bg']) ) { | |
| 365 | + | |
| 366 | + if ( $this->options['layout_type'] === 'vertical' ) { | |
| 367 | + $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;}'; | |
| 368 | + $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;}'; | |
| 369 | + } | |
| 370 | + | |
| 371 | + } | |
| 372 | + if ( !empty($this->options['menu_styles']['sub_menu_colors']['text_color']) ) { | |
| 373 | + | |
| 374 | + if ( $this->options['layout_type'] === 'vertical' ) { | |
| 375 | + $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;}'; | |
| 376 | + $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;}'; | |
| 377 | + } | |
| 378 | + | |
| 379 | + } | |
| 380 | + if ( !empty($this->options['menu_styles']['sub_menu_colors']['text_hover']) ) { | |
| 381 | + | |
| 382 | + if ( $this->options['layout_type'] === 'vertical' ) { | |
| 383 | + $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;}'; | |
| 384 | + $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;}'; | |
| 385 | + } | |
| 386 | + | |
| 387 | + } | |
| 388 | + if ( !empty($this->options['menu_styles']['sub_menu_colors']['active_bg']) ) { | |
| 389 | + | |
| 390 | + if ( $this->options['layout_type'] === 'vertical' ) { | |
| 391 | + $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;}'; | |
| 392 | + $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;}'; | |
| 393 | + } | |
| 394 | + | |
| 395 | + } | |
| 396 | + if ( !empty($this->options['menu_styles']['sub_menu_colors']['active_color']) ) { | |
| 397 | + | |
| 398 | + if ( $this->options['layout_type'] === 'vertical' ) { | |
| 399 | + $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;}'; | |
| 400 | + $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;}'; | |
| 401 | + } | |
| 402 | + | |
| 403 | + } | |
| 404 | + // Notification Counter | |
| 405 | + // Background Color | |
| 406 | + if ( !empty($this->options['menu_styles']['notif_colors']['notif_bg']) ) { | |
| 407 | + if ( $this->options['layout_type'] === 'vertical' ) { | |
| 408 | + $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 | |
| 409 | + { background-color:' . esc_attr( $this->options['menu_styles']['notif_colors']['notif_bg'] ) . ' !important;}'; | |
| 410 | + } | |
| 411 | + } | |
| 412 | + if ( !empty($this->options['menu_styles']['notif_colors']['notif_color']) ) { | |
| 413 | + if ( $this->options['layout_type'] === 'vertical' ) { | |
| 414 | + $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'] ) . ';}'; | |
| 415 | + } | |
| 416 | + } | |
| 417 | + if ( Utils::is_plugin_active( 'brizy/brizy.php' ) ) { | |
| 418 | + $jltwp_adminify_output_css .= '.brz-review-notice-container a { padding-left: 14px !important; }'; | |
| 419 | + } | |
| 420 | + // Combine the values from above and minifiy them. | |
| 421 | + $jltwp_adminify_output_css = preg_replace( '#/\\*.*?\\*/#s', '', $jltwp_adminify_output_css ); | |
| 422 | + $jltwp_adminify_output_css = preg_replace( '/\\s*([{}|:;,])\\s+/', '$1', $jltwp_adminify_output_css ); | |
| 423 | + $jltwp_adminify_output_css = preg_replace( '/\\s\\s+(.*)/', '$1', $jltwp_adminify_output_css ); | |
| 424 | + $adminify_ui = AdminSettings::get_instance()->get( 'admin_ui' ); | |
| 425 | + | |
| 426 | + if ( !empty($adminify_ui) ) { | |
| 427 | + wp_add_inline_style( 'wp-adminify-admin', wp_strip_all_tags( $jltwp_adminify_output_css ) ); | |
| 428 | + } else { | |
| 429 | + wp_add_inline_style( 'wp-adminify-default-ui', wp_strip_all_tags( $jltwp_adminify_output_css ) ); | |
| 430 | + } | |
| 431 | + | |
| 432 | + // Custom CSS | |
| 433 | + | |
| 434 | + if ( !empty($this->custom_css_js['custom_css']) ) { | |
| 435 | + echo "\n<!-- Start of WP Adminify - Admin Area Custom CSS -->\n" ; | |
| 436 | + echo "<style>\n" ; | |
| 437 | + echo wp_strip_all_tags( $this->custom_css_js['custom_css'] ) ; | |
| 438 | + echo "\n</style>" ; | |
| 439 | + echo "\n<!-- /End of WP Adminify - Admin Area Custom CSS -->\n" ; | |
| 440 | + } | |
| 441 | + | |
| 442 | + } | |
| 443 | + | |
| 444 | + public function jltwp_adminify_output_scripts() | |
| 445 | + { | |
| 446 | + // Custom JS | |
| 447 | + | |
| 448 | + if ( !empty($this->custom_css_js['custom_js']) ) { | |
| 449 | + echo "\n<!-- Start of WP Adminify - Admin Area Custom JS -->\n" ; | |
| 450 | + echo "<script>\n" ; | |
| 451 | + echo wp_strip_all_tags( $this->custom_css_js['custom_js'] ) ; | |
| 452 | + echo "\n</script>" ; | |
| 453 | + echo "\n<!-- /End of WP Adminify - Admin Area Custom JS -->\n" ; | |
| 454 | + } | |
| 455 | + | |
| 456 | + } | |
| 17 | 457 | |
| 18 | - public function __construct() | |
| 19 | - { | |
| 20 | - $this->options = (array) AdminSettings::get_instance()->get(); | |
| 21 | - | |
| 22 | - new OutputCSS_Body(); | |
| 23 | - | |
| 24 | - if (is_multisite() && is_network_admin()) { | |
| 25 | - return; // only display to network admin if multisite is enbaled | |
| 26 | - } | |
| 27 | - | |
| 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 | - } | |
| 32 | - | |
| 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'; | |
| 46 | - | |
| 47 | - $bodyclass = ''; | |
| 48 | - if($folded) { | |
| 49 | - $bodyclass .= ' ' . $folded; | |
| 50 | - } | |
| 51 | - | |
| 52 | - if ($color_mode == 'light') { | |
| 53 | - $bodyclass .= ' adminify-light-mode '; | |
| 54 | - } | |
| 55 | - if ($color_mode == 'dark') { | |
| 56 | - $bodyclass .= ' adminify-dark-mode '; | |
| 57 | - } | |
| 58 | - | |
| 59 | - if ($color_preset != 'preset1') { | |
| 60 | - $bodyclass .= ' color-preset-adminify-icon-white'; | |
| 61 | - } | |
| 62 | - | |
| 63 | - | |
| 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 | -} | |
| 458 | +} | |