PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 4.2.4
Adminify – White Label, Admin Menu Editor, Login Customizer v4.2.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.php

OutputCSS.php in Adminify – White Label, Admin Menu Editor, Login Customizer 4.2.4, at Inc/Classes/OutputCSS.php

126 lines 4.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace PXLBSAdminify\Inc\Classes;
4
5 use PXLBSAdminify\Inc\Admin\AdminSettings;
6 use PXLBSAdminify\Inc\Classes\OutputCSS_Body;
7
8
9 // no direct access allowed
10 if (!defined('ABSPATH')) {
11 exit;
12 }
13
14 class OutputCSS
15 {
16 public $options;
17
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 $color_mode = !empty($this->options['light_dark_mode']['admin_ui_mode']) ? $this->options['light_dark_mode']['admin_ui_mode'] : 'light';
37 $color_preset = !empty($this->options['adminify_theme']) ? $this->options['adminify_theme'] : 'preset1';
38 // $icon_style = !empty($this->options['menu_layout_settings']['icon_style']) ? $this->options['menu_layout_settings']['icon_style'] : 'classic';
39 // $menu_hover_submenu = !empty($this->options['menu_layout_settings']['menu_hover_submenu']) ? $this->options['menu_layout_settings']['menu_hover_submenu'] : 'classic';
40 // $menu_mode = !empty($this->options['menu_layout_settings']['menu_mode']) ? $this->options['menu_layout_settings']['menu_mode'] : 'classic';
41
42 $bodyclass = '';
43 if($folded) {
44 $bodyclass .= ' ' . $folded;
45 }
46
47 if ($color_mode == 'light') {
48 $bodyclass .= ' adminify-light-mode ';
49 }
50 if ($color_mode == 'dark') {
51 $bodyclass .= ' adminify-dark-mode ';
52 }
53
54 if ($color_preset != 'preset1') {
55 $bodyclass .= ' color-preset-adminify-icon-white';
56 }
57
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
68 // // Active Menu Style
69 // if (($menu_mode == 'rounded') || (($menu_mode == 'icon_menu') && ($icon_style == 'rounded'))) {
70 // $bodyclass .= ' adminify-rounded-v-menu ';
71 // $bodyclass .= ' adminify-round-open-menu ';
72 // }
73
74 return $classes . $bodyclass;
75 }
76
77 public function output_styles()
78 {
79 // $pxlbsadminify_output_css = '';
80 // $pxlbsadminify_output_css.= 'body.wp-adminify{';
81
82 // $pxlbsadminify_output_css.= '}';
83
84 // // Combine the values from above and minifiy them.
85 // $pxlbsadminify_output_css = preg_replace('#/\*.*?\*/#s', '', $pxlbsadminify_output_css);
86 // $pxlbsadminify_output_css = preg_replace('/\s*([{}|:;,])\s+/', '$1', $pxlbsadminify_output_css);
87 // $pxlbsadminify_output_css = preg_replace('/\s\s+(.*)/', '$1', $pxlbsadminify_output_css);
88
89 // $adminify_ui = AdminSettings::get_instance()->get('admin_ui');
90
91 // if (!empty($adminify_ui)) {
92 // wp_add_inline_style('wp-adminify-admin', wp_strip_all_tags($pxlbsadminify_output_css));
93 // } else {
94 // wp_add_inline_style('wp-adminify-default-ui', wp_strip_all_tags($pxlbsadminify_output_css));
95 // }
96
97 // Custom CSS
98 if (!empty($this->options['devtools_tabs']['custom_css'])) {
99 echo "\n<!-- Start of Adminify - Admin Area Custom CSS -->\n";
100 echo "<style>\n";
101 echo esc_html( wp_strip_all_tags($this->options['devtools_tabs']['custom_css']) );
102 echo "\n</style>";
103 echo "\n<!-- /End of Adminify - Admin Area Custom CSS -->\n";
104 }
105 }
106
107 public function output_scripts()
108 {
109 // Custom JS (admin-defined developer tool, saved only by users with the plugin's settings capability).
110 if (!empty($this->options['devtools_tabs']['custom_js'])) {
111 $custom_js = html_entity_decode($this->options['devtools_tabs']['custom_js']);
112 echo "\n<!-- Start of Adminify - Admin Area Custom JS -->\n";
113 // Emit through the core helper, which builds a properly-formed inline <script> tag.
114 if (function_exists('wp_print_inline_script_tag')) {
115 wp_print_inline_script_tag($custom_js);
116 } else {
117 // Fallback for WP < 5.7: neutralise any premature closing tag before printing.
118 echo "<script>\n";
119 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.
120 echo "\n</script>";
121 }
122 echo "\n<!-- /End of Adminify - Admin Area Custom JS -->\n";
123 }
124 }
125 }
126