PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 4.0.3.7
Adminify – White Label, Admin Menu Editor, Login Customizer v4.0.3.7
4.3.2 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 All 165 releases
← All changes | Inc/Classes/AdminBar.php +1052 -798 4.3.04.0.3.7 View file →
@@ -1,120 +1,76 @@
1 1 <?php
2 2
3 -namespace PXLBSAdminify\Inc\Classes;
3 +namespace WPAdminify\Inc\Classes;
4 4
5 -use PXLBSAdminify\Inc\Utils;
6 -use PXLBSAdminify\Inc\Admin\AdminSettings;
7 -use PXLBSAdminify\Inc\Classes\DarkModeConflicts;
8 -use PXLBSAdminify\Inc\Admin\AdminSettingsModel;
9 -
5 +use WPAdminify\Inc\Utils;
6 +use WPAdminify\Inc\Admin\AdminSettings;
7 +use WPAdminify\Inc\Classes\DarkModeConflicts;
8 +use WPAdminify\Inc\Admin\AdminSettingsModel;
10 9 // no direct access allowed
11 -if (!defined('ABSPATH')) {
12 - exit;
10 +if ( !defined( 'ABSPATH' ) ) {
11 + exit;
13 12 }
14 -class AdminBar extends AdminSettingsModel
15 -{
13 +class AdminBar extends AdminSettingsModel {
14 + public $options;
16 15
17 - public $options;
18 - public $post_types;
19 - public $adminify_ui;
16 + public $post_types;
20 17
21 - public function __construct()
22 - {
23 - $this->options = (array) AdminSettings::get_instance()->get();
24 - $this->adminify_ui = $this->options['admin_ui'];
25 - $global_ui_mode = empty($this->options['light_dark_mode']['admin_ui_mode']) ? 'light' : $this->options['light_dark_mode']['admin_ui_mode'];
26 - $current_ui_mode = empty(get_user_meta(get_current_user_id(), 'color_mode', true)) ? $global_ui_mode : get_user_meta(get_current_user_id(), 'color_mode', true);
18 + public $adminify_ui;
27 19
28 - if ( $current_ui_mode === 'dark' || $current_ui_mode === 'system' ) {
29 - new DarkModeConflicts();
30 - }
20 + public function __construct() {
21 + $this->options = (array) AdminSettings::get_instance()->get();
22 + $this->adminify_ui = $this->options['admin_ui'];
23 + $global_ui_mode = ( empty( $this->options['light_dark_mode']['admin_ui_mode'] ) ? 'light' : $this->options['light_dark_mode']['admin_ui_mode'] );
24 + $current_ui_mode = ( empty( get_user_meta( get_current_user_id(), 'color_mode', true ) ) ? $global_ui_mode : get_user_meta( get_current_user_id(), 'color_mode', true ) );
25 + if ( $current_ui_mode === 'dark' ) {
26 + new DarkModeConflicts();
27 + }
28 + // $admin_bar_user_roles = !empty($this->options['admin_bar_user_roles']) ? $this->options['admin_bar_user_roles'] : '';
29 + // if (Utils::restricted_for($admin_bar_user_roles)) {
30 + // return;
31 + // }
32 + // Disable the default admin bar
33 + // add_filter('show_admin_bar', '__return_false');
34 + // Add admin-bar support if not already activated
35 + // add_theme_support('admin-bar', ['callback' => '__return_false']);
36 + // 05-06-2024
37 + // Check Adminify Setup Wizard Page
38 + if ( !empty( $_GET['page'] ) && 'wp-adminify-setup-wizard' == $_GET['page'] ) {
39 + return;
40 + }
41 + $this->initialize();
42 + // if (!empty($this->adminify_ui) && !empty($this->options['admin_bar_search'] )) {
43 + // add_action('wp_admin_bar_class', [$this, 'load_wp_admin_bar_class']);
44 + // add_action('adminify/before/secondary_menu', [$this, 'before_secondary_menu']);
45 + // }
46 + if ( is_admin() ) {
47 + // Switcher for Default UI
48 + if ( empty( $this->adminify_ui ) ) {
49 + if ( !empty( $this->options['admin_bar_dark_light_btn'] ) ) {
50 + add_action( 'admin_bar_menu', [$this, 'jltwp_adminify_dark_mode_switcher_icon'] );
51 + }
52 + }
53 + }
54 + }
31 55
32 - // $admin_bar_user_roles = !empty($this->options['admin_bar_user_roles']) ? $this->options['admin_bar_user_roles'] : '';
33 - // if (Utils::restricted_for($admin_bar_user_roles)) {
34 - // return;
35 - // }
56 + // Add Switcher Icon on Admin Bar Secondary
57 + public function jltwp_adminify_dark_mode_switcher_icon( $wp_admin_bar ) {
58 + $args = [
59 + 'parent' => 'top-secondary',
60 + 'id' => 'wp-adminify-admin-bar-switcher',
61 + 'title' => $this->jltwp_adminify_dark_mode_switcher_dom(),
62 + 'meta' => false,
63 + ];
64 + $wp_admin_bar->add_node( $args );
65 + }
36 66
37 - // Disable the default admin bar
38 - // add_filter('show_admin_bar', '__return_false');
39 -
40 - // Add admin-bar support if not already activated
41 - // add_theme_support('admin-bar', ['callback' => '__return_false']);
42 -
43 -
44 -
45 - // 05-06-2024
46 - // Check Adminify Setup Wizard Page
47 - // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- read-only check, no state change.
48 - if (!empty($_GET['page']) && 'wp-adminify-setup-wizard' == sanitize_key(wp_unslash($_GET['page']))) {
49 - return;
50 - }
51 -
52 - $this->initialize();
53 -
54 - // if (!empty($this->adminify_ui) && !empty($this->options['admin_bar_search'] )) {
55 - // add_action('wp_admin_bar_class', [$this, 'load_wp_admin_bar_class']);
56 - // add_action('pxlbsadminify/before/secondary_menu', [$this, 'before_secondary_menu']);
57 - // }
58 -
59 - if (is_admin()) {
60 - // Light/Dark Mode switcher add
61 - if (!empty($this->options['admin_bar_dark_light_btn'])) {
62 - add_action('admin_bar_menu', [$this, 'dark_mode_switcher_icon']);
63 - }
64 - // Add Frontend Site Preview Icon for UI.
65 - // Priority 10000: nodes render in the order they are added, and core fills
66 - // top-secondary late - my-account at 9991, recovery mode at 9992, search at
67 - // 9999 - so anything lower than this lands before them instead of last.
68 - if (!empty($this->adminify_ui)) {
69 - add_action('admin_bar_menu', [$this, 'preview_icon'], 10000);
70 - }
71 - }
72 - }
73 -
74 - public function preview_icon($wp_admin_bar) {
75 - $args = [
76 - 'parent' => 'top-secondary',
77 - 'id' => 'adminify-frontend-site-preview',
78 - // Icon only. ab-icon is what WordPress uses to size and align admin bar
79 - // glyphs; the label stays for screen readers.
80 - 'title' => '<span class="ab-icon dashicons dashicons-visibility" aria-hidden="true"></span><span class="screen-reader-text">' . esc_html__('Preview', 'adminify') . '</span>',
81 - 'href' => home_url('/'),
82 - 'meta' => [
83 - // Opens the site in a new tab so the admin screen stays put.
84 - // noopener keeps the new tab from reaching back via window.opener.
85 - 'target' => '_blank',
86 - 'rel' => 'noopener',
87 - 'title' => esc_attr__('Preview site in a new tab', 'adminify'),
88 - ],
89 - ];
90 -
91 - $wp_admin_bar->add_node($args);
92 - }
93 -
94 -
95 - // Add Switcher Icon on Admin Bar Secondary
96 - public function dark_mode_switcher_icon($wp_admin_bar)
97 - {
98 - $args = [
99 - 'parent' => 'top-secondary',
100 - 'id' => 'wp-adminify-admin-bar-switcher',
101 - 'title' => $this->dark_mode_switcher_dom(),
102 - 'meta' => false
103 - ];
104 -
105 - $wp_admin_bar->add_node($args);
106 - }
107 -
108 - public function dark_mode_switcher_dom()
109 - {
110 - $global_color_mode = !empty($this->options['light_dark_mode']['admin_ui_mode']) ? $this->options['light_dark_mode']['admin_ui_mode'] : 'light';
111 - $color_mode = empty(get_user_meta(get_current_user_id(), 'color_mode', true))? $global_color_mode : get_user_meta(get_current_user_id(), 'color_mode', true);
112 -
113 - $color_var = !empty($this->adminify_ui) ? 'var(--adminify-menu-text-color)' : '#fff';
114 -
115 - $adminbar_switcher_icon = '<div id="wp-adminify-color-mode-wrapper">
116 - <div class="mode-icon adminify-color-mode-' . esc_attr($color_mode) . '-active">
67 + public function jltwp_adminify_dark_mode_switcher_dom() {
68 + $global_color_mode = ( !empty( $this->options['light_dark_mode']['admin_ui_mode'] ) ? $this->options['light_dark_mode']['admin_ui_mode'] : 'light' );
69 + $color_mode = ( empty( get_user_meta( get_current_user_id(), 'color_mode', true ) ) ? $global_color_mode : get_user_meta( get_current_user_id(), 'color_mode', true ) );
70 + $color_var = ( !empty( $this->adminify_ui ) ? 'var(--adminify-menu-text-color)' : '#fff' );
71 + $adminbar_switcher_icon = '<div id="wp-adminify-color-mode-wrapper">
72 + <div class="mode-icon adminify-color-mode-' . esc_attr( $color_mode ) . '-active">
117 73 <svg viewBox="0 0 24 24" width="24" height="24" class="darkIcon" ><path fill="' . $color_var . '" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg>
118 74 <svg viewBox="0 0 24 24" width="24" height="24" class="lightIcon"><path fill="' . $color_var . '" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg>
119 75 <svg width="16" height="16" viewBox="0 0 22 18" fill="none" xmlns="http://www.w3.org/2000/svg" class="systemIcon">
120 76 <path d="M20 13V4.2C20 3.0799 20 2.51984 19.782 2.09202C19.5903 1.71569 19.2843 1.40973 18.908 1.21799C18.4802 1 17.9201 1 16.8 1H5.2C4.07989 1 3.51984 1 3.09202 1.21799C2.71569 1.40973 2.40973 1.71569 2.21799 2.09202C2 2.51984 2 3.0799 2 4.2V13M3.66667 17H18.3333C18.9533 17 19.2633 17 19.5176 16.9319C20.2078 16.7469 20.7469 16.2078 20.9319 15.5176C21 15.2633 21 14.9533 21 14.3333C21 14.0233 21 13.8683 20.9659 13.7412C20.8735 13.3961 20.6039 13.1265 20.2588 13.0341C20.1317 13 19.9767 13 19.6667 13H2.33333C2.02334 13 1.86835 13 1.74118 13.0341C1.39609 13.1265 1.12654 13.3961 1.03407 13.7412C1 13.8683 1 14.0233 1 14.3333C1 14.9533 1 15.2633 1.06815 15.5176C1.25308 16.2078 1.79218 16.7469 2.48236 16.9319C2.73669 17 3.04669 17 3.66667 17Z" stroke="' . $color_var . '" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
@@ -136,69 +92,60 @@
136 92 <span>System</span>
137 93 </div>
138 94 </div>
139 95 </div>';
96 + return $adminbar_switcher_icon;
97 + }
140 98
141 - return $adminbar_switcher_icon;
142 - }
99 + public function initialize() {
100 + $admin_bar_position = ( !empty( $this->options['admin_bar_position'] ) ? $this->options['admin_bar_position'] : 'top' );
101 + if ( is_admin() ) {
102 + if ( $admin_bar_position == 'top' || $admin_bar_position == 'bottom' ) {
103 + if ( !empty( $this->adminify_ui ) ) {
104 + //TODO: not need to adminify ui. alternative use iframe topbar
105 + // add_action('admin_init', [$this, 'jltwp_adminify_add_admin_bar']);
106 + // } else {
107 + add_action( 'admin_head', [$this, 'jltwp_adminify_legacy_admin_bar_positon'] );
108 + }
109 + }
110 + add_action( 'admin_enqueue_scripts', [$this, 'jltwp_adminify_admin_scripts'], 100 );
111 + // Remove Unnecessary Menus from Admin bar
112 + // add_action('wp_before_admin_bar_render', [$this, 'jltma_adminify_remove_admin_bar_menus'], 0);
113 + // add_filter('admin_body_class', [$this, 'admin_bar_body_class']);
114 + // add_action('admin_head', [$this, 'jltwp_adminify_admin_bar_css'], 999);
115 + add_action( 'wp_ajax_adminify_all_search', [$this, 'adminify_all_search'] );
116 + add_action( 'wp_ajax_wp_adminify_color_mode', [$this, 'wp_adminify_color_mode'] );
117 + // Screen Option and Help Tab
118 + add_action(
119 + 'admin_head',
120 + [$this, 'jltwp_adminify_remove_screen_options'],
121 + 10,
122 + 3
123 + );
124 + add_action( 'admin_head', [$this, 'jltwp_adminify_remove_help_tab'] );
125 + } else {
126 + // Admin bar Frontend settings
127 + $frontend_admin = ( !empty( $this->options['admin_bar_hide_frontend'] ) ? $this->options['admin_bar_hide_frontend'] : 'show' );
128 + // if (jltwp_adminify()->can_use_premium_code__premium_only()) {
129 + // if ($frontend_admin == 'show') {
130 + // $frontend_admin_roles = (!empty($this->options['admin_bar_hide_frontend_user_roles'])) ? $this->options['admin_bar_hide_frontend_user_roles'] : [];
131 + // if (Utils::restricted_for($frontend_admin_roles)) {
132 + // $frontend_admin = 'hide';
133 + // }
134 + // }
135 + // }
136 + $this->jltwp_adminify_front_bar();
137 + if ( $admin_bar_position == 'bottom' ) {
138 + add_action( 'init', [$this, 'admin_bar_front_style_init'] );
139 + }
140 + if ( $frontend_admin == 'hide' ) {
141 + add_filter( 'show_admin_bar', '__return_false' );
142 + }
143 + }
144 + }
143 145
144 -
145 -
146 - public function initialize()
147 - {
148 - $admin_bar_position = (!empty($this->options['admin_bar_position'])) ? $this->options['admin_bar_position'] : 'top';
149 -
150 - if (is_admin()) {
151 - if ($admin_bar_position == 'top' || $admin_bar_position == 'bottom') {
152 - if (!empty($this->adminify_ui)) {
153 - //TODO: not need to adminify ui. alternative use iframe topbar
154 - // add_action('admin_init', [$this, 'add_admin_bar']);
155 - // } else {
156 - add_action('admin_head', [$this, 'legacy_admin_bar_positon']);
157 - }
158 - }
159 - add_action('admin_enqueue_scripts', [$this, 'admin_scripts'], 100);
160 -
161 - // Remove Unnecessary Menus from Admin bar
162 - // add_action('wp_before_admin_bar_render', [$this, 'remove_admin_bar_menus'], 0);
163 -
164 - // add_filter('admin_body_class', [$this, 'admin_bar_body_class']);
165 - // add_action('admin_head', [$this, 'admin_bar_css'], 999);
166 -
167 - add_action('wp_ajax_pxlbsadminify_all_search', [$this, 'all_search']);
168 - add_action('wp_ajax_pxlbsadminify_color_mode', [$this, 'color_mode']);
169 -
170 -
171 - // Screen Option and Help Tab
172 - add_action('admin_head', [$this, 'remove_screen_options'], 10, 3);
173 - add_action('admin_head', [$this, 'remove_help_tab']);
174 - } else {
175 - // Admin bar Frontend settings
176 - $frontend_admin = (!empty($this->options['admin_bar_hide_frontend'])) ? $this->options['admin_bar_hide_frontend'] : 'show';
177 -
178 - // if (jltwp_adminify()->can_use_premium_code__premium_only()) {
179 - // if ($frontend_admin == 'show') {
180 - // $frontend_admin_roles = (!empty($this->options['admin_bar_hide_frontend_user_roles'])) ? $this->options['admin_bar_hide_frontend_user_roles'] : [];
181 - // if (Utils::restricted_for($frontend_admin_roles)) {
182 - // $frontend_admin = 'hide';
183 - // }
184 - // }
185 - // }
186 - $this->front_bar();
187 -
188 - if ($admin_bar_position == 'bottom') {
189 - add_action('init', [$this, 'admin_bar_front_style_init']);
190 - }
191 -
192 - if ($frontend_admin == 'hide') {
193 - add_filter('show_admin_bar', '__return_false');
194 - }
195 - }
196 - }
197 -
198 - public function before_secondary_menu()
199 - {
200 -?>
146 + public function before_secondary_menu() {
147 + ?>
201 148 <div class="wp-adminify-top-header--search--form">
202 149 <form class="top-header--search--form" action="$">
203 150 <span class="adminify-search-expand"><i class="icon-magnifier icons"></i></span>
204 151 <input id="top-header-search-input" class="top-header-search-input" type="search" placeholder="Search here">
@@ -208,32 +155,28 @@
208 155 <div class="top-header-results-wrapper">
209 156 </div>
210 157 </div>
211 158 </div>
212 - <?php
213 - }
159 + <?php
160 + }
214 161
215 - public function load_wp_admin_bar_class()
216 - {
217 - return 'PXLBSAdminify\Inc\Classes\Adminify_Admin_Bar';
218 - }
162 + public function load_wp_admin_bar_class() {
163 + return 'WPAdminify\\Inc\\Classes\\Adminify_Admin_Bar';
164 + }
219 165
220 - public function front_bar()
221 - {
222 - add_action('admin_init', [$this, 'add_admin_bar']);
223 - add_filter('body_class', [$this, 'admin_bar_body_class']);
224 - }
166 + public function jltwp_adminify_front_bar() {
167 + add_action( 'admin_init', [$this, 'jltwp_adminify_add_admin_bar'] );
168 + add_filter( 'body_class', [$this, 'admin_bar_body_class'] );
169 + }
225 170
226 - public function admin_bar_front_style_init()
227 - {
228 - add_filter('wp_enqueue_scripts', [$this, 'admin_bar_front_style']);
229 - }
171 + public function admin_bar_front_style_init() {
172 + add_filter( 'wp_enqueue_scripts', [$this, 'admin_bar_front_style'] );
173 + }
230 174
231 - // Frontend Admin bar style
232 - public function admin_bar_front_style()
233 - {
234 - $admin_bar_css = '';
235 - $admin_bar_css .= '.admin-bar-position-bottom #wpadminbar{
175 + // Frontend Admin bar style
176 + public function admin_bar_front_style() {
177 + $admin_bar_css = '';
178 + $admin_bar_css .= '.admin-bar-position-bottom #wpadminbar{
236 179 top:auto;
237 180 bottom: 0;
238 181 }
239 182 .admin-bar-position-bottom #wpadminbar .menupop .ab-sub-wrapper{
@@ -243,459 +186,725 @@
243 186 body.logged-in.admin-bar-position-bottom {
244 187 position: relative;
245 188 }
246 189 }';
247 - wp_add_inline_style('admin-bar', $admin_bar_css);
248 - }
190 + wp_add_inline_style( 'admin-bar', $admin_bar_css );
191 + }
249 192
250 - // Remove Screen Options
251 - public function remove_screen_options()
252 - {
253 - $enable_screen_tab = Utils::get_user_preference('screen_options_tab');
254 - if ($enable_screen_tab) {
255 - add_filter('screen_options_show_screen', '__return_false');
256 - }
257 - }
193 + // Remove Screen Options
194 + public function jltwp_adminify_remove_screen_options() {
195 + $enable_screen_tab = Utils::get_user_preference( 'screen_options_tab' );
196 + if ( $enable_screen_tab ) {
197 + add_filter( 'screen_options_show_screen', '__return_false' );
198 + }
199 + }
258 200
259 - // Contextual Help Tab Remove
260 - public function remove_help_tab()
261 - {
262 - $enable_screen_tab = Utils::get_user_preference('adminify_help_tab');
263 - if ($enable_screen_tab) {
264 - $screen = get_current_screen();
265 - $screen->remove_help_tabs();
266 - }
267 - }
201 + // Contextual Help Tab Remove
202 + public function jltwp_adminify_remove_help_tab() {
203 + $enable_screen_tab = Utils::get_user_preference( 'adminify_help_tab' );
204 + if ( $enable_screen_tab ) {
205 + $screen = get_current_screen();
206 + $screen->remove_help_tabs();
207 + }
208 + }
268 209
269 - // Get All registered WP Admin Menus
270 - public static function get_wp_admin_menus($thismenu, $thissubmenu)
271 - {
272 - $options = [];
210 + // Get All registered WP Admin Menus
211 + public static function get_wp_admin_menus( $thismenu, $thissubmenu ) {
212 + $options = [];
213 + if ( !empty( $thismenu ) && is_array( $thismenu ) ) {
214 + foreach ( $thismenu as $item ) {
215 + if ( !empty( $item[0] ) ) {
216 + // the preg_replace removes "Comments" & "Plugins" menu spans.
217 + $options[$item[2]] = preg_replace( '/\\<span.*?>.*?\\<\\/span><\\/span>/s', '', $item[0] );
218 + }
219 + }
220 + }
221 + if ( !empty( $thissubmenu ) && is_array( $thissubmenu ) ) {
222 + foreach ( $thissubmenu as $items ) {
223 + foreach ( $items as $item ) {
224 + if ( !empty( $item[0] ) ) {
225 + $options[$item[1]] = preg_replace( '/\\<span.*?>.*?\\<\\/span><\\/span>/s', '', $item[0] );
226 + }
227 + }
228 + }
229 + }
230 + return $options;
231 + }
273 232
274 - if (!empty($thismenu) && is_array($thismenu)) {
275 - foreach ($thismenu as $item) {
276 - if (!empty($item[0])) {
277 - // the preg_replace removes "Comments" & "Plugins" menu spans.
278 - $options[$item[2]] = (preg_replace('/\<span.*?>.*?\<\/span><\/span>/s', '', $item[0]));
279 - }
280 - }
281 - }
233 + public function jltwp_adminify_admin_scripts() {
234 + global $pagenow;
235 + if ( $pagenow == 'wp-login.php' || $pagenow == 'wp-register.php' || $pagenow == 'customize.php' ) {
236 + return;
237 + }
238 + // Commented on: 9-6-24
239 + if ( !empty( $this->adminify_ui ) ) {
240 + wp_enqueue_style( 'wp-adminify-admin-bar' );
241 + $this->admin_topbar_loader_css();
242 + }
243 + wp_localize_script( 'wp-adminify-admin', 'WPAdminify', $this->adminify_create_admin_bar_js_object() );
244 + }
282 245
283 - if (!empty($thissubmenu) && is_array($thissubmenu)) {
284 - foreach ($thissubmenu as $items) {
285 - foreach ($items as $item) {
286 - if (!empty($item[0])) {
287 - $options[$item[1]] = (preg_replace('/\<span.*?>.*?\<\/span><\/span>/s', '', $item[0]));
288 - }
289 - }
290 - }
291 - }
246 + public function adminify_create_admin_bar_js_object() {
247 + return [
248 + 'ajax_url' => admin_url( 'admin-ajax.php' ),
249 + 'security_nonce' => wp_create_nonce( 'adminify-admin-bar-security-nonce' ),
250 + 'notice_nonce' => wp_create_nonce( 'adminify-notice-nonce' ),
251 + ];
252 + }
292 253
293 - return $options;
294 - }
254 + /**
255 + * Preloader
256 + *
257 + * @return void
258 + */
259 + public function admin_topbar_loader_css() {
260 + $output_css = '';
261 + $topbar_wireframe_img = WP_ADMINIFY_ASSETS_IMAGE . 'topbar-wireframe.svg';
262 + $output_css .= '.js .wp-adminify-topbar-loader{background: url(' . esc_url( $topbar_wireframe_img ) . '); }';
263 + echo '<style>' . wp_strip_all_tags( $output_css ) . '</style>';
264 + $screen = get_current_screen();
265 + // Get current screen details
266 + if ( isset( $screen->base ) && $screen->base === 'post' ) {
267 + ?>
268 + <script>
269 + window.addEventListener('load', function() {
270 + const isFullscreenMode = wp.data.select('core/edit-post').isFeatureActive('fullscreenMode');
295 271
296 - public function admin_scripts()
297 - {
298 - global $pagenow;
299 - if ($pagenow == 'wp-login.php' || $pagenow == 'wp-register.php' || $pagenow == 'customize.php') {
300 - return;
301 - }
272 + if (isFullscreenMode) {
273 + jQuery('.adminify-top_bar').css({
274 + 'display': 'none !important'
275 + });
276 + }
277 + });
278 + </script>
279 + <?php
280 + }
281 + }
302 282
303 - // Commented on: 9-6-24
304 - if (!empty($this->adminify_ui)) {
305 - wp_enqueue_style('wp-adminify-admin-bar');
306 - $this->admin_topbar_loader_css();
307 - }
308 - wp_localize_script('adminify-admin', 'PXLBSADMINIFY_ADMINBAR', $this->create_admin_bar_js_object());
309 - }
283 + /**
284 + * Save Color Mode by Ajax
285 + *
286 + * @return void
287 + */
288 + public function wp_adminify_color_mode() {
289 + if ( defined( 'DOING_AJAX' ) && DOING_AJAX && check_ajax_referer( 'adminify-admin-bar-security-nonce', 'security' ) > 0 ) {
290 + $admin_bar_mode = AdminSettings::get_instance()->get();
291 + if ( !empty( $_POST['key'] ) ) {
292 + $key = sanitize_key( $_POST['key'] );
293 + $value = Utils::clean_ajax_input( wp_unslash( $_POST['value'] ) );
294 + if ( $key == '' ) {
295 + $message = __( 'No Color Mode supplied to save', 'adminify' );
296 + echo Utils::ajax_error_message( $message );
297 + die;
298 + }
299 + }
300 + // Light/Dark Mode
301 + if ( $key === 'color_mode' ) {
302 + // For User preference
303 + $userid = get_current_user_id();
304 + $current = get_user_meta( $userid, $key, true );
305 + if ( $current !== $value ) {
306 + $state = update_user_meta( $userid, $key, $value );
307 + }
308 + die;
309 + $admin_bar_mode['light_dark_mode']['admin_ui_mode'] = $value;
310 + $this->options['schedule_dark_mode']['enable_schedule_dark_mode'] = false;
311 + if ( $value == 'system' ) {
312 + $admin_bar_mode['schedule_dark_mode']['enable_schedule_dark_mode'] = true;
313 + $admin_bar_mode['schedule_dark_mode']['schedule_dark_mode_type'] = 'system';
314 + }
315 + update_option( '_wpadminify', $admin_bar_mode );
316 + die;
317 + }
318 + // Screen Options, Help Tabs and WP Hide Links
319 + if ( $key === 'screen_options_tab' || $key === 'hide_wp_links' || $key === 'adminify_help_tab' ) {
320 + $userid = get_current_user_id();
321 + $current = get_user_meta( $userid, '_wpadminify_preferences', true );
322 + if ( is_array( $current ) ) {
323 + $current[$key] = $value;
324 + } else {
325 + $current = [];
326 + $current[$key] = $value;
327 + }
328 + $state = update_user_meta( $userid, '_wpadminify_preferences', $current );
329 + if ( $state ) {
330 + $returndata = [];
331 + $returndata['success'] = true;
332 + $returndata['message'] = __( 'Preferences saved', 'adminify' );
333 + echo json_encode( $returndata );
334 + } else {
335 + $message = __( 'Unable to save user preferences', 'adminify' );
336 + echo Utils::ajax_error_message( $message );
337 + die;
338 + }
339 + }
340 + }
341 + }
310 342
343 + /**
344 + * Search Everything
345 + *
346 + * @return void
347 + */
348 + public function adminify_all_search() {
349 + if ( defined( 'DOING_AJAX' ) && DOING_AJAX && check_ajax_referer( 'adminify-admin-bar-security-nonce', 'security' ) > 0 ) {
350 + $search_text = '';
351 + if ( !empty( $_POST['search'] ) ) {
352 + $search_text = sanitize_text_field( wp_unslash( $_POST['search'] ) );
353 + }
354 + // Error Handling For Minimum 3 Char
355 + if ( strlen( $search_text ) < 3 ) {
356 + wp_send_json_success( [
357 + 'message' => 'Please Enter Minimum 3 Characters',
358 + ] );
359 + }
360 + // Search Arguments
361 + $args = [
362 + 'numberposts' => -1,
363 + 's' => $search_text,
364 + 'post_status' => [
365 + 'publish',
366 + 'pending',
367 + 'draft',
368 + 'future',
369 + 'private',
370 + 'inherit'
371 + ],
372 + ];
373 + // All Post Types
374 + $post_types = $this->get_post_types();
375 + foreach ( $post_types as $type ) {
376 + $args['post_type'][] = $type->name;
377 + }
378 + // All Categories/Taxonomies
379 + $all_taxonomies = get_taxonomies();
380 + // Get Comments
381 + $all_comments = get_comments();
382 + // Get All Users
383 + $all_users = get_users();
384 + // All Users
385 + // $blogusers = get_users();
386 + // foreach ($blogusers as $type) {
387 + // $name = $type->user_login;
388 + // $id = $type->ID;
389 + // $args['author__in'][] = $type->ID;
390 + // }
391 + // // All Menus
392 + // $all_admin_menus = self::get_wp_admin_menus();
393 + // All Plugins
394 + if ( !function_exists( 'get_plugins' ) ) {
395 + require_once ABSPATH . 'wp-admin/includes/plugin.php';
396 + }
397 + $all_plugins = get_plugins();
398 + $foundposts = get_posts( $args );
399 + // $count_items = '';
400 + // if (count($foundposts) > 0) {
401 + // $count_items .= count($foundposts);
402 + // } elseif (count($all_plugins)) {
403 + // $count_items .= count($all_plugins);
404 + // }
405 + $output_data = [
406 + 'foundposts' => $this->set_edit_url_foundposts( $foundposts ),
407 + 'all_taxonomies' => $this->filter_all_taxonomies( $all_taxonomies, $search_text ),
408 + 'all_comments' => $this->filter_all_comments( $all_comments, $search_text ),
409 + 'all_users' => $this->filter_all_users( $all_users, $search_text ),
410 + 'all_plugins' => $this->filter_all_plugins( $all_plugins, $search_text ),
411 + ];
412 + wp_send_json_success( [
413 + 'data' => json_encode( $output_data ),
414 + ] );
415 + return;
416 + ob_start();
417 + ?>
311 418
312 - public function create_admin_bar_js_object()
313 - {
314 - return [
315 - 'ajax_url' => admin_url('admin-ajax.php'),
316 - 'security_nonce' => wp_create_nonce('pxlbsadminify_frame_nonce'),
317 - 'notice_nonce' => wp_create_nonce('pxlbsadminify-notice-nonce'),
318 - ];
319 - }
419 + <p><span class="count"></span><?php
420 + echo count( $foundposts ) . wp_kses_post( ' item<span>s</span> found' );
421 + ?></p>
320 422
321 - /**
322 - * Preloader
323 - *
324 - * @return void
325 - */
326 - public function admin_topbar_loader_css()
327 - {
328 - $output_css = '';
329 - $topbar_wireframe_img = PXLBSADMINIFY_ASSETS_IMAGE . 'topbar-wireframe.svg';
330 - $output_css .= '.js .wp-adminify-topbar-loader{background: url(' . esc_url($topbar_wireframe_img) . '); }';
423 + <table class="top-header-result-table" style="height:500px;">
424 + <thead>
425 + <tr class="has-text-left">
426 + <th><?php
427 + esc_html_e( 'Title', 'adminify' );
428 + ?></th>
429 + <th><?php
430 + esc_html_e( 'Type', 'adminify' );
431 + ?></th>
432 + <th><?php
433 + esc_html_e( 'User', 'adminify' );
434 + ?></th>
435 + <th><?php
436 + esc_html_e( 'Date', 'adminify' );
437 + ?></th>
438 + </tr>
439 + </thead>
440 + <tbody>
331 441
332 - // Use wp_add_inline_style instead of echo to prevent "headers already sent" errors
333 - wp_add_inline_style( 'wp-adminify-admin-bar', wp_strip_all_tags($output_css) );
442 + <?php
443 + foreach ( $foundposts as $item ) {
444 + $author_id = $item->post_author;
445 + $editurl = get_edit_post_link( $item );
446 + $public = get_permalink( $item );
447 + ?>
448 + <tr>
449 + <td><span class="table-title"><a href="<?php
450 + echo esc_url( $editurl );
451 + ?>"><?php
452 + echo wp_kses_post( get_the_title( $item ) );
453 + ?></a></span></td>
454 + <td><span class="type"><?php
455 + echo wp_kses_post( get_post_type( $item ) );
456 + ?></span></td>
457 + <td><span class="user"><?php
458 + echo wp_kses_post( the_author_meta( 'user_login', $author_id ) );
459 + ?></span></td>
460 + <td><span class="date"><?php
461 + echo wp_kses_post( get_the_date( get_option( 'date_format' ), $item ) );
462 + ?></span></td>
463 + </tr>
464 + <?php
465 + }
466 + ?>
334 467
335 - $screen = get_current_screen(); // Get current screen details
468 + <?php
469 + foreach ( $all_taxonomies as $tax_name ) {
470 + $terms = get_terms( [
471 + 'taxonomy' => $tax_name,
472 + 'hide_empty' => 1,
473 + ] );
474 + foreach ( $terms as $cat ) {
475 + if ( strpos( strtolower( $cat->name ), strtolower( $term ) ) === false ) {
476 + continue;
477 + }
478 + // $user = get_userdata($cat->term_id);
479 + ?>
480 + <tr>
481 + <td>
482 + <span class="table-title">
483 + <a href="<?php
484 + echo esc_url( get_term_link( $cat->slug, $cat->taxonomy ) );
485 + ?>">
486 + <?php
487 + echo esc_html( $cat->name );
488 + ?>
489 + </a>
490 + </span>
491 + </td>
492 + <td>
493 + <span class="type"><?php
494 + echo esc_html( $cat->taxonomy );
495 + ?></span>
496 + </td>
497 + <td>
498 + <span class="user">
499 + <?php
500 + esc_html_e( 'N/A', 'adminify' );
501 + ?>
502 + </span>
503 + </td>
504 + <td>
505 + <span class="date">
506 + <?php
507 + esc_html_e( 'N/A', 'adminify' );
508 + ?>
509 + </span>
510 + </td>
511 + <td>
512 + </td>
513 + </tr>
514 + <?php
515 + }
516 + }
517 + ?>
336 518
337 - if (isset($screen->base) && $screen->base === 'post') {
338 - $inline_script = "window.addEventListener('load', function() {
339 - const isFullscreenMode = wp.data.select('core/edit-post').isFeatureActive('fullscreenMode');
340 - if (isFullscreenMode) {
341 - jQuery('.adminify-top_bar').css({
342 - 'display': 'none !important'
343 - });
344 - }
345 - });";
346 - wp_add_inline_script( 'adminify-admin', $inline_script );
347 - }
348 - }
349 519
350 - /**
351 - * Save Color Mode by Ajax
352 - *
353 - * @return void
354 - */
355 - public function color_mode()
356 - {
357 - if (defined('DOING_AJAX') && DOING_AJAX) {
358 - // Both callers (classic admin bar wp-adminify.js and the React frame
359 - // dropdown dev/admin/frame/utils/uitls.js) post the
360 - // pxlbsadminify_frame_nonce nonce.
361 - if ( check_ajax_referer('pxlbsadminify_frame_nonce', 'security', false) <= 0 ) {
362 - wp_send_json_error( array( 'mess' => __( 'Invalid request.', 'adminify' ) ), 403 );
363 - }
364 - // Color mode is per-user preference; require the caller to be
365 - // a logged-in user with admin-bar access.
366 - if ( ! is_user_logged_in() || ! current_user_can( 'read' ) ) {
367 - wp_send_json_error( array( 'mess' => __( 'You are not allowed to perform this action.', 'adminify' ) ), 403 );
368 - }
369 - $admin_bar_mode = AdminSettings::get_instance()->get();
520 + <!-- Get Comments -->
521 + <?php
522 + foreach ( $all_comments as $comment ) {
523 + if ( strpos( strtolower( $comment->comment_content ), strtolower( $term ) ) === false ) {
524 + continue;
525 + }
526 + ?>
527 + <tr>
528 + <td>
529 + <span class="table-title">
530 + <a href="<?php
531 + echo esc_url_raw( admin_url( 'comment.php?action=editcomment&c=' . esc_attr( $comment->comment_ID ) ) );
532 + ?>">
533 + <?php
534 + echo wp_kses_post( $comment->comment_content );
535 + ?>
536 + </a>
537 + </span>
538 + </td>
539 + <td>
540 + <span class="type">
541 + <?php
542 + echo wp_kses_post( ucwords( $comment->comment_type ) );
543 + ?>
544 + </span>
545 + </td>
546 + <td>
547 + <span class="user">
548 + <?php
549 + echo wp_kses_post( the_author_meta( 'display_name', $comment->user_id ) );
550 + ?>
551 + </span>
552 + </td>
553 + <td>
554 + <span class="date">
555 + <?php
556 + echo esc_html( get_the_date( get_option( 'date_format' ), $comment->comment_date ) );
557 + ?>
558 + </span>
559 + </td>
560 + </tr>
561 + <?php
562 + }
563 + ?>
370 564
371 - if (!empty($_POST['key'])) {
372 - $key = sanitize_key($_POST['key']);
373 - $value = isset($_POST['value']) ? Utils::clean_ajax_input(wp_unslash($_POST['value'])) : ''; // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized -- sanitized via Utils::clean_ajax_input().
374 565
375 - if ($key == '') {
376 - $message = __('No Color Mode supplied to save', 'adminify');
377 - echo wp_json_encode( array( 'error' => true, 'error_message' => $message ) );
378 - die();
379 - }
380 - }
381 566
382 - // Light/Dark Mode
383 - if ($key === 'color_mode') {
384 - // For User preference
385 - $userid = get_current_user_id();
386 - $current = get_user_meta($userid, $key, true);
387 - if($current !== $value) {
388 - $state = update_user_meta($userid, $key, $value);
389 - }
390 - die();
391 - }
567 + <!-- Get Users -->
568 + <?php
569 + foreach ( $all_users as $user ) {
570 + if ( strpos( strtolower( $user->user_login ), strtolower( $term ) ) === false ) {
571 + continue;
572 + }
573 + ?>
574 + <tr>
575 + <td>
576 + <span class="table-title">
577 + <a href="<?php
578 + echo esc_url( admin_url( 'user-edit.php?user_id=' . $user->ID ) );
579 + ?>">
580 + <?php
581 + echo esc_html( $user->display_name );
582 + ?>
583 + </a>
584 + </span>
585 + </td>
586 + <td>
587 + <span class="type">
588 + <?php
589 + echo wp_kses_post( ucwords( $comment->comment_type ) );
590 + ?>
591 + </span>
592 + </td>
593 + <td>
594 + <span class="user">
595 + <?php
596 + echo wp_kses_post( the_author_meta( 'display_name', $comment->user_id ) );
597 + ?>
598 + </span>
599 + </td>
600 + <td>
601 + <span class="date">
602 + <?php
603 + echo wp_kses_post( get_the_date( get_option( 'date_format' ), $user->user_registered ) );
604 + ?>
605 + </span>
606 + </td>
607 + </tr>
608 + <?php
609 + }
610 + ?>
392 611
393 - // Screen Options, Help Tabs and WP Hide Links
394 - if ($key === 'screen_options_tab' || $key === 'hide_wp_links' || $key === 'adminify_help_tab') {
395 - $userid = get_current_user_id();
396 - $current = get_user_meta($userid, 'pxlbsadminify_preferences', true);
397 612
398 - if (is_array($current)) {
399 - $current[$key] = $value;
400 - } else {
401 - $current = [];
402 - $current[$key] = $value;
403 - }
404 613
405 - $state = update_user_meta($userid, 'pxlbsadminify_preferences', $current);
614 + <!-- Get Plugins -->
615 + <?php
616 + foreach ( $all_plugins as $plugin ) {
617 + if ( strpos( strtolower( $plugin['Name'] ), strtolower( $term ) ) === false ) {
618 + continue;
619 + }
620 + ?>
621 + <tr>
622 + <td>
623 + <span class="table-title">
624 + <a href="<?php
625 + echo esc_url( admin_url( 'plugins.php' ) );
626 + ?>">
627 + <?php
628 + echo esc_html( $plugin['Name'] );
629 + ?>
630 + </a>
631 + </span>
632 + </td>
633 + <td>
634 + <span class="type">
635 + <?php
636 + esc_html_e( 'Plugin', 'adminify' );
637 + ?>
638 + </span>
639 + </td>
640 + <td>
641 + <span class="user">
642 + <?php
643 + echo esc_html( $plugin['AuthorName'] );
644 + ?>
645 + </span>
646 + </td>
647 + <td>
648 + <span class="date">
649 + <?php
650 + esc_html_e( 'N/A', 'adminify' );
651 + ?>
652 + </span>
653 + </td>
654 + </tr>
655 + <?php
656 + }
657 + ?>
406 658
407 - if ($state) {
408 - $returndata = [];
409 - $returndata['success'] = true;
410 - $returndata['message'] = __('Preferences saved', 'adminify');
411 - echo wp_json_encode($returndata);
412 - } else {
413 - $message = __('Unable to save user preferences', 'adminify');
414 - echo wp_json_encode( array( 'error' => true, 'error_message' => $message ) );
415 - die();
416 - }
417 - }
418 - }
419 - }
420 659
421 - /**
422 - * Search Everything
423 - *
424 - * @return void
425 - */
426 - public function all_search()
427 - {
428 - if (defined('DOING_AJAX') && DOING_AJAX) {
429 - // Both the classic admin bar and the React frame search (SearchForm.jsx)
430 - // post the pxlbsadminify_frame_nonce nonce.
431 - if ( check_ajax_referer('pxlbsadminify_frame_nonce', 'security', false) <= 0 ) {
432 - wp_send_json_error( array( 'message' => __( 'Invalid request.', 'adminify' ) ), 403 );
433 - }
434 - // Security check - only users who can edit posts should access admin search
435 - if (!current_user_can('edit_posts')) {
436 - wp_send_json_error(array('message' => __('You do not have permission to perform this action.', 'adminify')));
437 - }
660 + </tbody>
661 + </table>
438 662
439 - $search_text = '';
440 - if (!empty($_POST['search'])) {
441 - $search_text = sanitize_text_field(wp_unslash($_POST['search']));
442 - }
443 663
444 - // Error Handling For Minimum 3 Char
445 - if (strlen($search_text) < 3) {
446 - wp_send_json_success(
447 - [
448 - 'message' => 'Please Enter Minimum 3 Characters'
449 - ]
450 - );
451 - }
664 + <?php
665 + // $output_data = ob_get_clean();
666 + // $output_data = [
667 + // 'foundposts' => $foundposts,
668 + // 'all_taxonomies' => $all_taxonomies,
669 + // 'all_comments' => $all_comments,
670 + // 'all_users' => $all_users,
671 + // 'all_plugins' => $all_plugins,
672 + // ];
673 + // echo json_encode($output_data);
674 + echo json_encode( $foundposts );
675 + wp_send_json_success( [
676 + 'data' => $foundposts,
677 + ] );
678 + }
679 + die;
680 + }
452 681
682 + /**
683 + * Set URL to All Post
684 + */
685 + public function set_edit_url_foundposts( $foundposts ) {
686 + $all_posts = [];
687 + foreach ( $foundposts as $key => $post ) {
688 + $edit_url = get_edit_post_link( $post );
689 + $all_posts[$key]['title'] = get_the_title( $post->ID );
690 + $all_posts[$key]['link'] = $edit_url;
691 + }
692 + return $all_posts;
693 + }
453 694
454 - // Search Arguments
455 - $args = [
456 - 'numberposts' => -1,
457 - 's' => $search_text,
458 - 'post_status' => ['publish', 'pending', 'draft', 'future', 'private', 'inherit'],
459 - // Restrict non-public statuses (private/draft/pending/future) to posts the
460 - // current user is allowed to read. Without this, any role holding edit_posts
461 - // (e.g. Contributor) could read other authors' unpublished post titles.
462 - 'perm' => 'readable',
463 - ];
695 + /**
696 + * Search Taxonomies
697 + */
698 + public function filter_all_taxonomies( $all_taxonomies, $search_text ) {
699 + $find_taxonomies = [];
700 + foreach ( $all_taxonomies as $tax_name ) {
701 + $terms = get_terms( [
702 + 'taxonomy' => $tax_name,
703 + 'hide_empty' => 1,
704 + ] );
705 + foreach ( $terms as $key => $cat ) {
706 + if ( strpos( strtolower( $cat->name ), strtolower( $search_text ) ) === false ) {
707 + continue;
708 + }
709 + $find_taxonomies[$key]['name'] = $cat->name;
710 + $find_taxonomies[$key]['link'] = get_edit_term_link( $cat );
711 + }
712 + }
713 + return $find_taxonomies;
714 + }
464 715
465 - // All Post Types
466 - $post_types = $this->get_post_types();
467 - foreach ($post_types as $type) {
468 - $args['post_type'][] = $type->name;
469 - }
716 + /**
717 + * Search Comments
718 + */
719 + public function filter_all_comments( $all_comments, $search_text ) {
720 + $find_comments = [];
721 + foreach ( $all_comments as $key => $comment ) {
722 + if ( strpos( strtolower( $comment->comment_content ), strtolower( $search_text ) ) === false ) {
723 + continue;
724 + }
725 + $find_comments[$key]['content'] = $comment->comment_content;
726 + $find_comments[$key]['link'] = admin_url( 'comment.php?action=editcomment&c=' . esc_attr( $comment->comment_ID ) );
727 + }
728 + return $find_comments;
729 + }
470 730
471 - // All Categories/Taxonomies
472 - $all_taxonomies = get_taxonomies();
731 + /**
732 + * Search Users
733 + */
734 + public function filter_all_users( $all_users, $search_text ) {
735 + $find_users = [];
736 + foreach ( $all_users as $key => $user ) {
737 + if ( str_contains( strtolower( $user->data->user_login ), strtolower( $search_text ) ) || str_contains( strtolower( $user->data->display_name ), strtolower( $search_text ) ) ) {
738 + $find_users[$key]['name'] = $user->data->user_login;
739 + $find_users[$key]['display_name'] = $user->data->display_name;
740 + $find_users[$key]['link'] = admin_url( 'user-edit.php?user_id=' . $user->ID );
741 + }
742 + }
743 + return $find_users;
744 + }
473 745
474 - // Get Comments — only for users who can moderate them. Otherwise the search
475 - // would expose unapproved/pending comment content to roles that cannot see it
476 - // in the WordPress admin (e.g. Contributor).
477 - $all_comments = current_user_can('moderate_comments') ? get_comments() : [];
746 + /**
747 + * Search Plugins
748 + */
749 + public function filter_all_plugins( $all_plugins, $search_text ) {
750 + $find_plugins = [];
751 + foreach ( $all_plugins as $key => $plugin ) {
752 + if ( strpos( strtolower( $plugin['Name'] ), strtolower( $search_text ) ) === false ) {
753 + continue;
754 + }
755 + $find_plugins[] = [
756 + 'name' => $plugin['Name'],
757 + 'link' => admin_url( 'plugins.php' ),
758 + ];
759 + }
760 + return $find_plugins;
761 + }
478 762
479 - // Get All Users — only for users who can list users. Prevents leaking user
480 - // logins/display names to roles without the list_users capability.
481 - $all_users = current_user_can('list_users') ? get_users() : [];
763 + public function jltwp_adminify_admin_bar_css() {
764 + $current_screen = get_current_screen();
765 + $admin_bar_mode = ( !empty( $admin_bar_mode['light_dark_mode']['admin_ui_mode'] ) ? $admin_bar_mode['light_dark_mode']['admin_ui_mode'] : '' );
766 + $output_css = '';
767 + $output_css .= '<style type="text/css">';
768 + if ( !empty( $current_screen->is_block_editor ) ) {
769 + $output_css .= '.wp-adminify.adminify-ui.block-editor-page:not(.wp-adminify.is-fullscreen-mode) .interface-interface-skeleton { top: 90px !important; left: 244px !important; border-top: 0 !important; border-left: 0 !important; }';
770 + $output_css .= '.wp-adminify.block-editor-page.is-fullscreen-mode.block-editor-page .interface-interface-skeleton { top: 0 !important; left: 0 !important; border-top: 0 !important; border-left: 0 !important; }';
771 + }
772 + $admin_bar_container = ( !empty( $this->options['admin_bar_container'] ) ? $this->options['admin_bar_container'] : 'full_container' );
773 + if ( $admin_bar_mode === 'light' ) {
774 + $light_bg_type = ( !empty( $this->options['admin_bar_light_bg'] ) ? $this->options['admin_bar_light_bg'] : 'color' );
775 + $light_bg_color = ( !empty( $this->options['admin_bar_light_bg_color'] ) ? $this->options['admin_bar_light_bg_color'] : '' );
776 + // Full Container Colors
777 + if ( $admin_bar_container == 'full_container' ) {
778 + if ( $light_bg_type === 'color' ) {
779 + $output_css .= '.wp-adminify.adminify-light-mode .adminify-top_bar nav.navbar, .wp-adminify .wp-adminify-horizontal-menu { background-color:' . esc_attr( $light_bg_color ) . ' ; }';
780 + }
781 + } elseif ( $admin_bar_container == 'admin_bar_only' ) {
782 + // Admin Bar Colors
783 + if ( $light_bg_type === 'color' ) {
784 + if ( !empty( $this->options['admin_bar_light_bg_color'] ) ) {
785 + $output_css .= '.wp-adminify.adminify-light-mode .adminify-top_bar nav.navbar { background-color:' . esc_attr( $light_bg_color ) . ' }';
786 + }
787 + }
788 + }
789 + if ( !empty( $admin_bar_colors['icon_color'] ) ) {
790 + $output_css .= '.adminify-top_bar nav.navbar .navbar-menu .topbar-icon { fill: ' . esc_attr( $admin_bar_colors['icon_color'] ) . ' }';
791 + }
792 + } elseif ( $admin_bar_mode === 'dark' ) {
793 + $dark_bg_type = ( isset( $this->options['admin_bar_dark_bg'] ) ? $this->options['admin_bar_dark_bg'] : 'color' );
794 + if ( $admin_bar_container == 'full_container' ) {
795 + if ( $dark_bg_type === 'color' ) {
796 + $dark_bg_color = $this->options['admin_bar_dark_bg_color'];
797 + $output_css .= '.wp-adminify.adminify-dark-mode .adminify-top_bar nav.navbar, .wp-adminify .wp-adminify-horizontal-menu{ background-color:' . esc_attr( $dark_bg_color ) . ' }';
798 + } elseif ( $dark_bg_type === 'gradient' ) {
799 + $dark_gradient_bg_color = $this->options['admin_bar_dark_bg_gradient']['background-color'];
800 + $dark_gradient_color = $this->options['admin_bar_dark_bg_gradient']['background-gradient-color'];
801 + $dark_gradient_color_dir = $this->options['admin_bar_dark_bg_gradient']['background-gradient-direction'];
802 + $output_css .= '.wp-adminify.adminify-dark-mode .adminify-top_bar nav.navbar, .wp-adminify .wp-adminify-horizontal-menu{ background-image : linear-gradient(' . esc_attr( $dark_gradient_color_dir ) . ', ' . esc_attr( $dark_gradient_bg_color ) . ' , ' . esc_attr( $dark_gradient_color ) . '); }';
803 + }
804 + } elseif ( $admin_bar_container == 'admin_bar_only' ) {
805 + if ( $dark_bg_type === 'color' ) {
806 + $dark_bg_color = $this->options['admin_bar_dark_bg_color'];
807 + $output_css .= '.wp-adminify.adminify-dark-mode .adminify-top_bar nav.navbar{ background-color:' . esc_attr( $dark_bg_color ) . ' }';
808 + }
809 + }
810 + }
811 + // "New" Button Colors
812 + $new_btn_colors = ( !empty( $this->options['admin_bar_link_color'] ) ? $this->options['admin_bar_link_color'] : '' );
813 + if ( !empty( $new_btn_colors['link_color'] ) ) {
814 + $output_css .= '.wp-adminify #wpadminbar #wp-admin-bar-root-default #wp-admin-bar-new-content > .ab-item .ab-label, .wp-adminify #wpadminbar #wp-admin-bar-root-default #wp-admin-bar-new-content .ab-item .ab-icon:before { color:' . esc_attr( $new_btn_colors['link_color'] ) . ' !important; }';
815 + }
816 + if ( !empty( $new_btn_colors['hover_color'] ) ) {
817 + $output_css .= '.wp-adminify #wpadminbar #wp-admin-bar-root-default #wp-admin-bar-new-content > .ab-item:hover .ab-label, .wp-adminify #wpadminbar #wp-admin-bar-root-default #wp-admin-bar-new-content .ab-item:hover .ab-icon:before{ color:' . esc_attr( $new_btn_colors['hover_color'] ) . ' !important; }';
818 + }
819 + if ( !empty( $new_btn_colors['bg_color'] ) ) {
820 + $output_css .= '.wp-adminify #wpadminbar #wp-admin-bar-root-default #wp-admin-bar-new-content > .ab-item, .wp-adminify #wpadminbar #wp-admin-bar-root-default #wp-admin-bar-new-content:hover > .ab-item { background:' . esc_attr( $new_btn_colors['bg_color'] ) . ' !important;}';
821 + }
822 + // "New" Button Hover Colors
823 + $new_btn_dropwon = ( !empty( $this->options['admin_bar_link_dropdown_color'] ) ? $this->options['admin_bar_link_dropdown_color'] : '' );
824 + if ( !empty( $new_btn_dropwon['wrapper_bg'] ) ) {
825 + $output_css .= '.wp-adminify #wpadminbar .ab-top-menu .ab-sub-wrapper, .wp-adminify #wpadminbar .ab-top-menu .ab-sub-wrapper .ab-submenu, .wp-adminify #wpadminbar .ab-top-menu .ab-sub-wrapper .ab-submenu .ab-item { background-color:' . esc_attr( $new_btn_dropwon['wrapper_bg'] ) . ' !important;}';
826 + }
827 + if ( !empty( $new_btn_dropwon['bg_color'] ) ) {
828 + $output_css .= '.wp-adminify #wpadminbar .ab-top-menu .ab-sub-wrapper .ab-submenu .ab-item:hover { background-color:' . esc_attr( $new_btn_dropwon['bg_color'] ) . ' !important;}';
829 + }
830 + if ( !empty( $new_btn_dropwon['link_color'] ) ) {
831 + $output_css .= '.wp-adminify #wpadminbar .ab-top-menu .ab-sub-wrapper .ab-submenu .ab-item { color:' . esc_attr( $new_btn_dropwon['link_color'] ) . ' !important }';
832 + }
833 + if ( !empty( $new_btn_dropwon['hover_color'] ) ) {
834 + $output_css .= '.wp-adminify #wpadminbar .ab-top-menu .ab-sub-wrapper .ab-submenu .ab-item:hover { color:' . esc_attr( $new_btn_dropwon['hover_color'] ) . ' !important }';
835 + }
836 + // Text Color
837 + if ( !empty( $this->options['admin_bar_text_color'] ) ) {
838 + $output_css .= '.adminify-top_bar nav.navbar .navbar-brand .navbar-item .wp-adminify-site-name, .adminify-top_bar nav.navbar .navbar-menu .wp-adminify-user-site-list button { color:' . esc_attr( $this->options['admin_bar_text_color'] ) . ' }';
839 + $output_css .= '.wp-adminify #wpadminbar #wp-admin-bar-root-default #wp-admin-bar-new-post > .ab-item { color:' . esc_attr( $this->options['admin_bar_text_color'] ) . ' ; }';
840 + $output_css .= '.wp-adminify #wpadminbar #wp-admin-bar-root-default #wp-admin-bar-new-post > .ab-item .ab-icon:before { color:' . esc_attr( $this->options['admin_bar_text_color'] ) . ' ; }';
841 + $output_css .= '.wp-adminify #wpadminbar #wp-admin-bar-root-default #wp-admin-bar-new-post > .ab-item .ab-label { color:' . esc_attr( $this->options['admin_bar_text_color'] ) . ' ; }';
842 + }
843 + // Icon Color
844 + if ( !empty( $this->options['admin_bar_icon_color'] ) ) {
845 + $output_css .= '.adminify-top_bar nav.navbar .navbar-menu .topbar-icon svg path { fill:' . esc_attr( $this->options['admin_bar_icon_color'] ) . ' }';
846 + $output_css .= '.adminify-top_bar nav.navbar .navbar-end i, .adminify-top_bar nav.navbar .navbar-burger i { color:' . esc_attr( $this->options['admin_bar_icon_color'] ) . ' }';
847 + }
848 + $output_css .= '.wp-adminify .editor-document-tools__left button.editor-document-tools__inserter-toggle {
849 + padding: 0 !important;
850 + border: 2px solid var(--adminify-btn-bg) !important;
851 + }';
852 + $output_css .= ' </style>';
853 + // echo Utils::wp_kses_custom($output_css);
854 + echo $output_css;
855 + }
482 856
483 - // All Users
484 - // $blogusers = get_users();
485 - // foreach ($blogusers as $type) {
486 - // $name = $type->user_login;
487 - // $id = $type->ID;
488 - // $args['author__in'][] = $type->ID;
489 - // }
857 + // Admin Bar Body Class
858 + public function admin_bar_body_class( $classes ) {
859 + if ( is_admin() ) {
860 + $classes .= ' wp-adminify-admin-bar';
861 + $admin_bar_position = ( !empty( $this->options['admin_bar_position'] ) ? $this->options['admin_bar_position'] : 'top' );
862 + if ( $admin_bar_position === 'top' ) {
863 + $classes .= ' position-top';
864 + } elseif ( $admin_bar_position === 'bottom' ) {
865 + $classes .= ' position-bottom';
866 + }
867 + if ( !empty( $this->options['enable_admin_bar'] ) ) {
868 + $classes .= ' topbar-disabled';
869 + }
870 + } else {
871 + global $pagenow;
872 + if ( !is_user_logged_in() && $pagenow != 'wp-login.php' ) {
873 + return $classes;
874 + }
875 + $classes[] = 'wp-adminify-admin-bar';
876 + $admin_bar_position = ( !empty( $this->options['admin_bar_position'] ) ? $this->options['admin_bar_position'] : 'top' );
877 + if ( $admin_bar_position === 'top' ) {
878 + $classes[] = 'admin-bar-position-top';
879 + } elseif ( $admin_bar_position === 'bottom' ) {
880 + $classes[] = 'admin-bar-position-bottom';
881 + }
882 + if ( !empty( $this->options['enable_admin_bar'] ) ) {
883 + $classes[] = 'topbar-disabled';
884 + }
885 + }
886 + return $classes;
887 + }
490 888
491 - // // All Menus
492 - // $all_admin_menus = self::get_wp_admin_menus();
889 + public function get_post_types() {
890 + if ( is_array( $this->post_types ) ) {
891 + return $this->post_types;
892 + } else {
893 + $args = [
894 + 'public' => true,
895 + ];
896 + $output = 'objects';
897 + $post_types = get_post_types( $args, $output );
898 + $this->post_types = $post_types;
899 + return $post_types;
900 + }
901 + }
493 902
494 - // All Plugins — only for users who can manage plugins. Prevents leaking the
495 - // site's plugin inventory to roles without the activate_plugins capability.
496 - $all_plugins = [];
497 - if (current_user_can('activate_plugins')) {
498 - if (!function_exists('get_plugins')) {
499 - require_once ABSPATH . 'wp-admin/includes/plugin.php';
500 - }
501 - $all_plugins = get_plugins();
502 - }
503 -
504 - $foundposts = get_posts($args);
505 -
506 - // $count_items = '';
507 - // if (count($foundposts) > 0) {
508 - // $count_items .= count($foundposts);
509 - // } elseif (count($all_plugins)) {
510 - // $count_items .= count($all_plugins);
511 - // }
512 -
513 -
514 -
515 -
516 -
517 - $output_data = [
518 - 'foundposts' => $this->set_edit_url_foundposts($foundposts),
519 - 'all_taxonomies' => $this->filter_all_taxonomies($all_taxonomies, $search_text),
520 - 'all_comments' => $this->filter_all_comments($all_comments, $search_text),
521 - 'all_users' => $this->filter_all_users($all_users, $search_text),
522 - 'all_plugins' => $this->filter_all_plugins($all_plugins, $search_text),
523 - ];
524 -
525 - wp_send_json_success(
526 - [
527 - 'data' => wp_json_encode($output_data),
528 - ]
529 - );
530 - }
531 -
532 - die();
533 - }
534 -
535 - /**
536 - * Set URL to All Post
537 - */
538 - public function set_edit_url_foundposts($foundposts)
539 - {
540 - $all_posts = [];
541 - foreach ($foundposts as $key => $post) {
542 - // Defense in depth alongside the query's perm=readable: never surface a post
543 - // the current user cannot read (e.g. another author's unpublished content).
544 - if (!current_user_can('read_post', $post->ID)) {
545 - continue;
546 - }
547 - $edit_url = get_edit_post_link($post);
548 - $all_posts[$key]['title'] = get_the_title($post->ID);
549 - $all_posts[$key]['link'] = $edit_url;
550 - }
551 -
552 - return $all_posts;
553 - }
554 -
555 - /**
556 - * Search Taxonomies
557 - */
558 - public function filter_all_taxonomies($all_taxonomies, $search_text)
559 - {
560 - $find_taxonomies = [];
561 -
562 - foreach ($all_taxonomies as $tax_name) {
563 - $terms = get_terms(
564 - [
565 - 'taxonomy' => $tax_name,
566 - 'hide_empty' => 1,
567 - ]
568 - );
569 -
570 - foreach ($terms as $key => $cat) {
571 - if (strpos(strtolower($cat->name), strtolower($search_text)) === false) {
572 - continue;
573 - }
574 - $find_taxonomies[$key]['name'] = $cat->name;
575 - $find_taxonomies[$key]['link'] = get_edit_term_link($cat);
576 - }
577 - }
578 -
579 - return $find_taxonomies;
580 - }
581 -
582 - /**
583 - * Search Comments
584 - */
585 - public function filter_all_comments($all_comments, $search_text)
586 - {
587 - $find_comments = [];
588 -
589 - foreach ($all_comments as $key => $comment) {
590 - if (strpos(strtolower($comment->comment_content), strtolower($search_text)) === false) {
591 - continue;
592 - }
593 - $find_comments[$key]['content'] = $comment->comment_content;
594 - $find_comments[$key]['link'] = admin_url('comment.php?action=editcomment&c=' . esc_attr($comment->comment_ID));
595 - }
596 -
597 - return $find_comments;
598 - }
599 -
600 - /**
601 - * Search Users
602 - */
603 - public function filter_all_users($all_users, $search_text)
604 - {
605 - $find_users = [];
606 -
607 - foreach ($all_users as $key => $user) {
608 - if (str_contains(strtolower($user->data->user_login), strtolower($search_text)) || str_contains(strtolower($user->data->display_name), strtolower($search_text))) {
609 - $find_users[$key]['name'] = $user->data->user_login;
610 - $find_users[$key]['display_name'] = $user->data->display_name;
611 - $find_users[$key]['link'] = admin_url('user-edit.php?user_id=' . $user->ID);
612 - }
613 - }
614 -
615 - return $find_users;
616 - }
617 -
618 - /**
619 - * Search Plugins
620 - */
621 - public function filter_all_plugins($all_plugins, $search_text)
622 - {
623 - $find_plugins = [];
624 -
625 - foreach ($all_plugins as $key => $plugin) {
626 - if (strpos(strtolower($plugin['Name']), strtolower($search_text)) === false) {
627 - continue;
628 - }
629 -
630 - $find_plugins[] = [
631 - 'name' => $plugin['Name'],
632 - 'link' => admin_url('plugins.php')
633 - ];
634 - }
635 -
636 - return $find_plugins;
637 - }
638 -
639 - // Admin Bar Body Class
640 - public function admin_bar_body_class($classes)
641 - {
642 - if (is_admin()) {
643 - $classes .= ' wp-adminify-admin-bar';
644 -
645 - $admin_bar_position = !empty($this->options['admin_bar_position']) ? $this->options['admin_bar_position'] : 'top';
646 - if ($admin_bar_position === 'top') {
647 - $classes .= ' position-top';
648 - } elseif ($admin_bar_position === 'bottom') {
649 - $classes .= ' position-bottom';
650 - }
651 -
652 - if (!empty($this->options['enable_admin_bar'])) {
653 - $classes .= ' topbar-disabled';
654 - }
655 - } else {
656 - global $pagenow;
657 -
658 - if (!is_user_logged_in() && $pagenow != 'wp-login.php') {
659 - return $classes;
660 - }
661 -
662 - $classes[] = 'wp-adminify-admin-bar';
663 -
664 - $admin_bar_position = !empty($this->options['admin_bar_position']) ? $this->options['admin_bar_position'] : 'top';
665 - if ($admin_bar_position === 'top') {
666 - $classes[] = 'admin-bar-position-top';
667 - } elseif ($admin_bar_position === 'bottom') {
668 - $classes[] = 'admin-bar-position-bottom';
669 - }
670 -
671 - if (!empty($this->options['enable_admin_bar'])) {
672 - $classes[] = 'topbar-disabled';
673 - }
674 - }
675 -
676 - return $classes;
677 - }
678 -
679 - public function get_post_types()
680 - {
681 - if (is_array($this->post_types)) {
682 - return $this->post_types;
683 - } else {
684 - $args = ['public' => true];
685 - $output = 'objects';
686 - $post_types = get_post_types($args, $output);
687 - $this->post_types = $post_types;
688 - return $post_types;
689 - }
690 - }
691 -
692 - public function legacy_admin_bar_positon()
693 - {
694 - if (!empty($this->options['admin_bar_position']) && $this->options['admin_bar_position'] == 'bottom') {
695 -
696 - $pxlbsadminify_thirdparty_css = '';
697 - $pxlbsadminify_thirdparty_css .= 'body.wp-adminify.position-bottom {
903 + public function jltwp_adminify_legacy_admin_bar_positon() {
904 + if ( !empty( $this->options['admin_bar_position'] ) && $this->options['admin_bar_position'] == 'bottom' ) {
905 + $jltwp_adminify_thirdparty_css = '';
906 + $jltwp_adminify_thirdparty_css .= 'body.wp-adminify.position-bottom {
698 907 margin-top: -28px;
699 908 padding-bottom: 28px;
700 909 }
701 910
@@ -718,94 +927,80 @@
718 927
719 928 body.wp-adminify.position-bottom #wpadminbar .quicklinks .ab-top-menu .menupop .ab-sub-wrapper .ab-submenu .menupop .ab-sub-wrapper {
720 929 bottom: -9px;
721 930 }';
722 - echo '<style>' . esc_html(wp_strip_all_tags($pxlbsadminify_thirdparty_css)) . '</style>';
723 - }
724 - }
931 + echo '<style>' . wp_strip_all_tags( $jltwp_adminify_thirdparty_css ) . '</style>';
932 + }
933 + }
725 934
726 - public function add_admin_bar()
727 - {
728 - // For Testing Admin Bar on Setup Wizard
729 - // add_action('admin_head', [$this, 'render_admin_bar']);
935 + public function jltwp_adminify_add_admin_bar() {
936 + // For Testing Admin Bar on Setup Wizard
937 + // add_action('admin_head', [$this, 'jltwp_adminify_render_admin_bar']);
938 + add_action( 'in_admin_header', [$this, 'jltwp_adminify_render_admin_bar'], -999999999 );
939 + // on frontend area
940 + add_action( 'wp_head', [$this, 'jltwp_adminify_render_admin_bar'] );
941 + }
730 942
731 - add_action('in_admin_header', [$this, 'render_admin_bar'], -999999999);
732 - // on frontend area
733 - add_action('wp_head', [$this, 'render_admin_bar']);
734 - }
943 + public function jltwp_adminify_render_admin_bar() {
944 + global $pagenow;
945 + if ( !is_user_logged_in() && $pagenow != 'wp-login.php' ) {
946 + return;
947 + }
948 + // Check Gutenberg Editor Page
949 + // if (Utils::is_block_editor_page()) {
950 + // return;
951 + // }
952 + // if (!is_admin_bar_showing()) {
953 + // return false;
954 + // }
955 + // Remove Adminbar from Gutenberg Block Editor Page
956 + // if (function_exists('is_gutenberg_page') && is_gutenberg_page()) {
957 + // // The Gutenberg plugin is on.
958 + // return;
959 + // }
960 + // if (function_exists('get_current_screen')) {
961 + // $current_screen = get_current_screen();
962 + // if (!empty($current_screen->is_block_editor)) {
963 + // return;
964 + // }
965 + // }
966 + global $wp_admin_bar;
967 + if ( empty( $wp_admin_bar ) ) {
968 + return false;
969 + }
970 + $admin_bar_mode = ( empty( $admin_bar_mode['light_dark_mode']['admin_ui_mode'] ) ? 'light' : $admin_bar_mode['light_dark_mode']['admin_ui_mode'] );
971 + // Light/Dark Mode
972 + $enable_dark_mode = $admin_bar_mode != 'light';
973 + // Screen Option && Hide WP Links
974 + $enable_screen_tab = Utils::get_user_preference( 'screen_options_tab' );
975 + $enable_help_tab = Utils::get_user_preference( 'adminify_help_tab' );
976 + // $enable_hide_wp_links = Utils::get_user_preference( 'hide_wp_links' );
977 + // Admin Bar Position
978 + if ( !empty( $this->options['admin_bar_position'] ) && $this->options['admin_bar_position'] === 'top' ) {
979 + $admin_bar_position = 'top_bar';
980 + } elseif ( !empty( $this->options['admin_bar_position'] ) && $this->options['admin_bar_position'] === 'bottom' ) {
981 + $admin_bar_position = 'bottom_bar is-fixed-bottom';
982 + } else {
983 + $admin_bar_position = 'top_bar';
984 + }
985 + $current_user = wp_get_current_user();
986 + ob_start();
987 + // Temporarily removing Topbar
988 + // <div class="wp-adminify-topbar-loader"></div>
989 + // 17-7-23, removed opacity for Conflicting Opacity Issue
990 + // <div class="wp-adminify adminify-top_bar" style="opacity: 0;">
991 + ?>
735 992
736 993
737 - public function render_admin_bar()
738 - {
739 994
740 - global $pagenow;
741 - if (!is_user_logged_in() && $pagenow != 'wp-login.php') {
742 - return;
743 - }
744 -
745 - // Check Gutenberg Editor Page
746 - // if (Utils::is_block_editor_page()) {
747 - // return;
748 - // }
749 -
750 - // if (!is_admin_bar_showing()) {
751 - // return false;
752 - // }
753 -
754 - // Remove Adminbar from Gutenberg Block Editor Page
755 - // if (function_exists('is_gutenberg_page') && is_gutenberg_page()) {
756 - // // The Gutenberg plugin is on.
757 - // return;
758 - // }
759 - // if (function_exists('get_current_screen')) {
760 - // $current_screen = get_current_screen();
761 - // if (!empty($current_screen->is_block_editor)) {
762 - // return;
763 - // }
764 - // }
765 -
766 - global $wp_admin_bar;
767 -
768 - if (empty($wp_admin_bar)) {
769 - return false;
770 - }
771 -
772 - $admin_bar_mode = empty($admin_bar_mode['light_dark_mode']['admin_ui_mode']) ? 'light' : $admin_bar_mode['light_dark_mode']['admin_ui_mode'];
773 -
774 - // Light/Dark Mode
775 - $enable_dark_mode = $admin_bar_mode != 'light';
776 -
777 - // Screen Option && Hide WP Links
778 - $enable_screen_tab = Utils::get_user_preference('screen_options_tab');
779 - $enable_help_tab = Utils::get_user_preference('adminify_help_tab');
780 - // $enable_hide_wp_links = Utils::get_user_preference( 'hide_wp_links' );
781 -
782 - // Admin Bar Position
783 - if (!empty($this->options['admin_bar_position']) && $this->options['admin_bar_position'] === 'top') {
784 - $admin_bar_position = 'top_bar';
785 - } elseif (!empty($this->options['admin_bar_position']) && $this->options['admin_bar_position'] === 'bottom') {
786 - $admin_bar_position = 'bottom_bar is-fixed-bottom';
787 - } else {
788 - $admin_bar_position = 'top_bar';
789 - }
790 -
791 - $current_user = wp_get_current_user();
792 -
793 - ob_start();
794 -
795 - // Temporarily removing Topbar
796 - // <div class="wp-adminify-topbar-loader"></div>
797 -
798 - // 17-7-23, removed opacity for Conflicting Opacity Issue
799 - // <div class="wp-adminify adminify-top_bar" style="opacity: 0;">
800 - ?>
801 -
802 -
803 -
804 995 <div class="wp-adminify adminify-top_bar">
805 - <nav class="navbar adminify-top-navbar <?php echo esc_attr($admin_bar_position); ?>">
996 + <nav class="navbar adminify-top-navbar <?php
997 + echo esc_attr( $admin_bar_position );
998 + ?>">
806 999
807 - <?php $this->logo(); ?>
1000 + <?php
1001 + $this->jltwp_adminify_logo();
1002 + ?>
808 1003 <div class="adminify-admin-wrapper">
809 1004 <div class="adminify-legacy-admin">
810 1005 <div class="adminify-hamburger navbar-burger" data-target="wp-adminify-top-adminbar">
811 1006 <svg width="11" height="8" viewBox="0 0 11 8" fill="none" xmlns="http://www.w3.org/2000/svg">
@@ -814,9 +1009,11 @@
814 1009 <path d="M4.67 3.5H0V4.5H4.67V3.5Z" fill="#48455F" />
815 1010 <path d="M9.65 7.35L6.29 4L9.65 0.65L10.35 1.35L7.71 4L10.35 6.65L9.65 7.35Z" fill="#48455F" />
816 1011 </svg>
817 1012 </div>
818 - <?php wp_admin_bar_render(); ?>
1013 + <?php
1014 + echo wp_admin_bar_render();
1015 + ?>
819 1016 </div>
820 1017
821 1018 <div id="wp-adminify-top-adminbar" class="navbar-menu">
822 1019
@@ -822,11 +1019,15 @@
822 1019
823 1020 <div class="navbar-end">
824 1021 <div class="field is-grouped">
825 1022
826 - <?php echo wp_kses_post($this->dark_mode_switcher_dom()) ?>
1023 + <?php
1024 + echo $this->jltwp_adminify_dark_mode_switcher_dom();
1025 + ?>
827 1026
828 - <?php if (!empty($this->options['admin_bar_notif'])) { ?>
1027 + <?php
1028 + if ( !empty( $this->options['admin_bar_notif'] ) ) {
1029 + ?>
829 1030 <div class="wp-adminify--top--comment">
830 1031 <button class="comment-trigger is-clickable">
831 1032 <div class="topbar-icon">
832 1033 <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
@@ -833,22 +1034,24 @@
833 1034 <path d="M0.25 13.75V1.75C0.25 0.921573 0.921572 0.25 1.75 0.25H12.25C13.0784 0.25 13.75 0.921573 13.75 1.75V9.25C13.75 10.0784 13.0784 10.75 12.25 10.75H4.75C4.42535 10.7494 4.10936 10.8547 3.85 11.05L0.25 13.75ZM1.75 1.75V10.75L3.3505 9.55C3.60973 9.35448 3.9258 9.24913 4.2505 9.25H12.25V1.75H1.75Z" fill="var(--adminify-menu-text-color)" />
834 1035 </svg>
835 1036 </div>
836 1037 <span class="comment-counter">
837 - <?php
838 - $comments_count = wp_count_comments();
839 - echo esc_html($comments_count->moderated);
840 - ?>
1038 + <?php
1039 + $comments_count = wp_count_comments();
1040 + echo esc_html( $comments_count->moderated );
1041 + ?>
841 1042 </span>
842 1043 </button>
843 1044 </div>
844 1045
845 - <?php
846 - }
847 - ?>
1046 + <?php
1047 + }
1048 + ?>
848 1049
849 1050 <div class="wp-adminify--preview">
850 - <a class="preview-trigger is-clickable" href="<?php echo esc_url(get_home_url()); ?>" target="_blank">
1051 + <a class="preview-trigger is-clickable" href="<?php
1052 + echo esc_url( get_home_url() );
1053 + ?>" target="_blank">
851 1054 <i class="dashicons dashicons-visibility"></i>
852 1055 </a>
853 1056 </div>
854 1057
@@ -854,44 +1057,70 @@
854 1057
855 1058 <div class="wp-adminify--user--account">
856 1059 <button class="user-avatar is-clickable">
857 1060 <div class="image is-45x45">
858 - <?php echo get_avatar($current_user->user_email, 45, '', '', ['class' => 'is-rounded']); ?>
1061 + <?php
1062 + echo get_avatar(
1063 + $current_user->user_email,
1064 + 45,
1065 + '',
1066 + '',
1067 + [
1068 + 'class' => 'is-rounded',
1069 + ]
1070 + );
1071 + ?>
859 1072 </div>
860 1073 <span class="user-status tag p-0 is-rounded"></span>
861 1074 </button>
862 1075
863 - <?php if (!empty($this->adminify_ui)) { ?>
1076 + <?php
1077 + if ( !empty( $this->adminify_ui ) ) {
1078 + ?>
864 1079 <div class="wp-adminify--user--wrapper">
865 1080 <div class="wp-adminify-user-info">
866 1081 <h3 class="wp-adminify-user-name">
867 - <?php echo esc_html($current_user->display_name); ?>
1082 + <?php
1083 + echo esc_html( $current_user->display_name );
1084 + ?>
868 1085 </h3>
869 - <span><?php echo wp_kses_post(is_email($current_user->user_email)); ?></span>
1086 + <span><?php
1087 + echo wp_kses_post( is_email( $current_user->user_email ) );
1088 + ?></span>
870 1089
871 1090 <ul>
872 1091 <hr>
873 1092 <li>
874 - <a href="<?php echo esc_url(admin_url('profile.php')); ?>">
1093 + <a href="<?php
1094 + echo esc_url( admin_url( 'profile.php' ) );
1095 + ?>">
875 1096 <svg class="wp-adminify-profile-icon" width="16" height="18" viewBox="0 0 16 18" fill="none" xmlns="http://www.w3.org/2000/svg">
876 1097 <path d="M14.6654 16.5C14.6654 15.337 14.6654 14.7555 14.5218 14.2824C14.1987 13.217 13.365 12.3834 12.2996 12.0602C11.8265 11.9167 11.245 11.9167 10.082 11.9167H5.91537C4.7524 11.9167 4.17091 11.9167 3.69775 12.0602C2.63241 12.3834 1.79873 13.217 1.47556 14.2824C1.33203 14.7555 1.33203 15.337 1.33203 16.5M11.7487 5.25C11.7487 7.32107 10.0698 9 7.9987 9C5.92763 9 4.2487 7.32107 4.2487 5.25C4.2487 3.17893 5.92763 1.5 7.9987 1.5C10.0698 1.5 11.7487 3.17893 11.7487 5.25Z" stroke="var(--adminify-primary)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
877 1098 </svg>
878 - <span><?php esc_html_e('View Profile', 'adminify'); ?></span>
1099 + <span><?php
1100 + esc_html_e( 'View Profile', 'adminify' );
1101 + ?></span>
879 1102 </a>
880 1103 </li>
881 1104 <hr>
882 1105 <li>
883 - <a href="<?php echo esc_url(wp_logout_url(home_url())); ?>" class="wp-adminify-logout">
1106 + <a href="<?php
1107 + echo esc_url( wp_logout_url( home_url() ) );
1108 + ?>" class="wp-adminify-logout">
884 1109 <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
885 1110 <path fill-rule="evenodd" clip-rule="evenodd" d="M5.7587 4.31292e-07L7 9.08129e-07C7.55229 9.08129e-07 8 0.447716 8 1C8 1.55229 7.55229 2 7 2H5.8C4.94342 2 4.36113 2.00078 3.91104 2.03755C3.47262 2.07337 3.24842 2.1383 3.09202 2.21799C2.7157 2.40973 2.40974 2.7157 2.21799 3.09202C2.1383 3.24842 2.07337 3.47262 2.03755 3.91104C2.00078 4.36113 2 4.94342 2 5.8V14.2C2 15.0566 2.00078 15.6389 2.03755 16.089C2.07337 16.5274 2.1383 16.7516 2.21799 16.908C2.40973 17.2843 2.7157 17.5903 3.09202 17.782C3.24842 17.8617 3.47262 17.9266 3.91104 17.9624C4.36113 17.9992 4.94342 18 5.8 18H7C7.55229 18 8 18.4477 8 19C8 19.5523 7.55229 20 7 20H5.75868C4.95372 20 4.28937 20 3.74818 19.9558C3.18608 19.9099 2.66937 19.8113 2.18404 19.564C1.43139 19.1805 0.819468 18.5686 0.435975 17.816C0.188684 17.3306 0.0901197 16.8139 0.0441946 16.2518C-2.28137e-05 15.7106 -1.23241e-05 15.0463 4.31291e-07 14.2413V5.7587C-1.23241e-05 4.95373 -2.28137e-05 4.28937 0.0441947 3.74817C0.09012 3.18608 0.188685 2.66937 0.435976 2.18404C0.81947 1.43139 1.43139 0.819468 2.18404 0.435975C2.66938 0.188684 3.18608 0.0901197 3.74818 0.0441945C4.28937 -2.28137e-05 4.95373 -1.23241e-05 5.7587 4.31292e-07ZM13.2929 4.29289C13.6834 3.90237 14.3166 3.90237 14.7071 4.29289L19.7071 9.29289C20.0976 9.68342 20.0976 10.3166 19.7071 10.7071L14.7071 15.7071C14.3166 16.0976 13.6834 16.0976 13.2929 15.7071C12.9024 15.3166 12.9024 14.6834 13.2929 14.2929L16.5858 11H7C6.44772 11 6 10.5523 6 10C6 9.44772 6.44772 9 7 9H16.5858L13.2929 5.70711C12.9024 5.31658 12.9024 4.68342 13.2929 4.29289Z" fill="var(--adminify-primary)"></path>
886 1111 </svg>
887 - <span><?php echo esc_html__('Log Out', 'adminify'); ?></span>
1112 + <span><?php
1113 + echo esc_html__( 'Log Out', 'adminify' );
1114 + ?></span>
888 1115 </a>
889 1116 </li>
890 1117 </ul>
891 1118 </div>
892 1119 </div>
893 - <?php } ?>
1120 + <?php
1121 + }
1122 + ?>
894 1123 </div>
895 1124 </div>
896 1125 </div>
897 1126 </div>
@@ -898,118 +1127,143 @@
898 1127 </div>
899 1128 </nav>
900 1129 </div>
901 1130
902 - <?php
903 - $output_wp_admin_bar = ob_get_clean();
904 - echo wp_kses( $output_wp_admin_bar, Utils::kses_allowed_html() );
905 - }
1131 + <?php
1132 + $output_wp_admin_bar = ob_get_clean();
1133 + // echo Utils::wp_kses_custom($output_wp_admin_bar);
1134 + echo $output_wp_admin_bar;
1135 + }
906 1136
907 - public function logo()
908 - {
909 - global $wp_admin_bar;
910 - $adminurl = get_admin_url();
911 - $homeurl = $adminurl;
1137 + public function jltwp_adminify_logo() {
1138 + global $wp_admin_bar;
1139 + $adminurl = get_admin_url();
1140 + $homeurl = $adminurl;
1141 + // Light Logo
1142 + $menu_layout = (array) $this->options['menu_layout_settings'];
1143 + // Menu Layouts
1144 + $menu_layout = ( !empty( $this->options['menu_layout_settings'] ) ? $this->options['menu_layout_settings'] : '' );
1145 + $menu_mode = ( !empty( $menu_layout['menu_mode'] ) ? $menu_layout['menu_mode'] : 'classic' );
1146 + $menu_layout = ( !empty( $menu_layout['layout_type'] ) ? $menu_layout['layout_type'] : 'vertical' );
1147 + $admin_ui_logo_type = ( !empty( $this->options['light_dark_mode']['admin_ui_logo_type'] ) ? $this->options['light_dark_mode']['admin_ui_logo_type'] : 'image_logo' );
1148 + $light_mode = ( !empty( $this->options['light_dark_mode']['admin_ui_light_mode'] ) ? $this->options['light_dark_mode']['admin_ui_light_mode'] : '' );
1149 + $light_logo = '';
1150 + $light_mini_logo = '';
1151 + if ( $admin_ui_logo_type == 'image_logo' ) {
1152 + if ( isset( $light_mode['mini_admin_ui_light_logo']['url'] ) && $light_mode['mini_admin_ui_light_logo']['url'] ) {
1153 + $light_mini_logo = $light_mode['mini_admin_ui_light_logo']['url'];
1154 + } else {
1155 + $light_mini_logo = WP_ADMINIFY_ASSETS_IMAGE . 'logos/mini-logo-light.svg';
1156 + }
1157 + // Logo Image
1158 + if ( !empty( $light_mode['admin_ui_light_logo']['url'] ) ) {
1159 + $light_logo = $light_mode['admin_ui_light_logo']['url'];
1160 + } else {
1161 + $light_logo = WP_ADMINIFY_ASSETS_IMAGE . 'logos/logo-text-light.svg';
1162 + }
1163 + } elseif ( $admin_ui_logo_type == 'text_logo' ) {
1164 + // Text Logo
1165 + if ( $this->options['light_dark_mode']['admin_ui_mode'] == 'light' ) {
1166 + $text_logo = $light_mode['admin_ui_light_logo_text'];
1167 + }
1168 + }
1169 + // Logo Size
1170 + $light_width = ( !empty( $light_mode['light_logo_size']['width'] ) ? $light_mode['light_logo_size']['width'] : '120' );
1171 + $light_height = ( !empty( $light_mode['light_logo_size']['height'] ) ? $light_mode['light_logo_size']['height'] : '32' );
1172 + // Dark Logo
1173 + $dark_mode = ( !empty( $this->options['light_dark_mode']['admin_ui_dark_mode'] ) ? $this->options['light_dark_mode']['admin_ui_dark_mode'] : '' );
1174 + $dark_logo = '';
1175 + $dark_mini_logo = '';
1176 + if ( $admin_ui_logo_type == 'image_logo' ) {
1177 + if ( isset( $dark_mode['mini_admin_ui_dark_logo']['url'] ) && $dark_mode['mini_admin_ui_dark_logo']['url'] ) {
1178 + $dark_mini_logo = $dark_mode['mini_admin_ui_dark_logo']['url'];
1179 + } else {
1180 + $dark_mini_logo = WP_ADMINIFY_ASSETS_IMAGE . 'logos/mini-logo-dark.svg';
1181 + }
1182 + // Dark Logo Image
1183 + if ( isset( $dark_mode['admin_ui_dark_logo']['url'] ) && $dark_mode['admin_ui_dark_logo']['url'] ) {
1184 + $dark_logo = $dark_mode['admin_ui_dark_logo']['url'];
1185 + } else {
1186 + $dark_logo = WP_ADMINIFY_ASSETS_IMAGE . 'logos/logo-text-dark.svg';
1187 + }
1188 + } elseif ( $admin_ui_logo_type == 'text_logo' ) {
1189 + // Text Logo
1190 + if ( $this->options['light_dark_mode']['admin_ui_mode'] == 'dark' ) {
1191 + $text_logo = $dark_mode['admin_ui_dark_logo_text'];
1192 + }
1193 + }
1194 + // Dark Logo Size
1195 + $dark_width = ( !empty( $dark_mode['dark_logo_size']['width'] ) ? $dark_mode['dark_logo_size']['width'] : '120' );
1196 + $dark_height = ( !empty( $dark_mode['dark_logo_size']['height'] ) ? $dark_mode['dark_logo_size']['height'] : '32' );
1197 + ?>
912 1198
913 - // Light Logo
914 - // menu_layout_settings.layout_type / .menu_mode were read here
915 - // previously but the resulting locals were never used
916 - // downstream. Removed because layout_type === 'horizontal' is
917 - // a Pro-only feature whose handler now lives in
918 - // Pro/Classes/OutputCSS_Body_Pro.php.
919 - $admin_ui_logo_type = !empty($this->options['light_dark_mode']['admin_ui_logo_type']) ? $this->options['light_dark_mode']['admin_ui_logo_type'] : 'image_logo';
920 -
921 - $light_mode = !empty($this->options['light_dark_mode']['admin_ui_light_mode']) ? $this->options['light_dark_mode']['admin_ui_light_mode'] : '';
922 -
923 - $light_logo = '';
924 - $light_mini_logo = '';
925 - if ($admin_ui_logo_type == 'image_logo') {
926 - if (isset($light_mode['mini_admin_ui_light_logo']['url']) && $light_mode['mini_admin_ui_light_logo']['url']) {
927 - $light_mini_logo = $light_mode['mini_admin_ui_light_logo']['url'];
928 - } else {
929 - $light_mini_logo = PXLBSADMINIFY_ASSETS_IMAGE . 'logos/mini-logo-light.svg';
930 - }
931 -
932 - // Logo Image
933 - if (!empty($light_mode['admin_ui_light_logo']['url'])) {
934 - $light_logo = $light_mode['admin_ui_light_logo']['url'];
935 - } else {
936 - $light_logo = PXLBSADMINIFY_ASSETS_IMAGE . 'logos/logo-text-light.svg';
937 - }
938 - } elseif ($admin_ui_logo_type == 'text_logo') {
939 - // Text Logo
940 - if ($this->options['light_dark_mode']['admin_ui_mode'] == 'light') {
941 - $text_logo = $light_mode['admin_ui_light_logo_text'];
942 - }
943 - }
944 -
945 - // Logo Size
946 - $light_width = !empty($light_mode['light_logo_size']['width']) ? $light_mode['light_logo_size']['width'] : '120';
947 - $light_height = !empty($light_mode['light_logo_size']['height']) ? $light_mode['light_logo_size']['height'] : '32';
948 -
949 - // Dark Logo
950 - $dark_mode = !empty($this->options['light_dark_mode']['admin_ui_dark_mode']) ? $this->options['light_dark_mode']['admin_ui_dark_mode'] : '';
951 -
952 - $dark_logo = '';
953 - $dark_mini_logo = '';
954 - if ($admin_ui_logo_type == 'image_logo') {
955 - if (isset($dark_mode['mini_admin_ui_dark_logo']['url']) && $dark_mode['mini_admin_ui_dark_logo']['url']) {
956 - $dark_mini_logo = $dark_mode['mini_admin_ui_dark_logo']['url'];
957 - } else {
958 - $dark_mini_logo = PXLBSADMINIFY_ASSETS_IMAGE . 'logos/mini-logo-dark.svg';
959 - }
960 - // Dark Logo Image
961 - if (isset($dark_mode['admin_ui_dark_logo']['url']) && $dark_mode['admin_ui_dark_logo']['url']) {
962 - $dark_logo = $dark_mode['admin_ui_dark_logo']['url'];
963 - } else {
964 - $dark_logo = PXLBSADMINIFY_ASSETS_IMAGE . 'logos/logo-text-dark.svg';
965 - }
966 - } elseif ($admin_ui_logo_type == 'text_logo') {
967 - // Text Logo
968 - if ($this->options['light_dark_mode']['admin_ui_mode'] == 'dark') {
969 - $text_logo = $dark_mode['admin_ui_dark_logo_text'];
970 - }
971 - }
972 -
973 - // Dark Logo Size
974 - $dark_width = !empty($dark_mode['dark_logo_size']['width']) ? $dark_mode['dark_logo_size']['width'] : '120';
975 - $dark_height = !empty($dark_mode['dark_logo_size']['height']) ? $dark_mode['dark_logo_size']['height'] : '32';
976 -
977 - ?>
978 -
979 1199 <div class="navbar-brand">
980 - <a class="navbar-item p-0" href="<?php echo esc_url($homeurl); ?>">
981 - <?php if ($admin_ui_logo_type == 'image_logo') { ?>
1200 + <a class="navbar-item p-0" href="<?php
1201 + echo esc_url( $homeurl );
1202 + ?>">
1203 + <?php
1204 + if ( $admin_ui_logo_type == 'image_logo' ) {
1205 + ?>
982 1206 <!-- Light Logo -->
983 - <img alt="<?php echo esc_attr(get_bloginfo('name')); ?>" class="logo-light" src="<?php echo esc_url($light_logo); ?>" width="<?php echo esc_attr($light_width); ?>" height="<?php echo esc_attr($light_height); ?>">
984 - <img alt="<?php echo esc_attr(get_bloginfo('name')); ?>" class="mini-logo-light" src="<?php echo esc_url($light_mini_logo); ?>" width="36" height="36">
1207 + <img alt="<?php
1208 + echo esc_attr( get_bloginfo( 'name' ) );
1209 + ?>" class="logo-light" src="<?php
1210 + echo esc_url( $light_logo );
1211 + ?>" width="<?php
1212 + echo esc_attr( $light_width );
1213 + ?>" height="<?php
1214 + echo esc_attr( $light_height );
1215 + ?>">
1216 + <img alt="<?php
1217 + echo esc_attr( get_bloginfo( 'name' ) );
1218 + ?>" class="mini-logo-light" src="<?php
1219 + echo esc_url( $light_mini_logo );
1220 + ?>" width="36" height="36">
985 1221 <!-- Dark Logo -->
986 - <img alt="<?php echo esc_attr(get_bloginfo('name')); ?>" class="logo-dark" src="<?php echo esc_url($dark_logo); ?>" width="<?php echo esc_attr($dark_width); ?>" height="<?php echo esc_attr($dark_height); ?>">
987 - <img alt="<?php echo esc_attr(get_bloginfo('name')); ?>" class="mini-logo-dark" src="<?php echo esc_url($dark_mini_logo); ?>" width="36" height="36">
988 - <?php } elseif ($admin_ui_logo_type == 'text_logo') { ?>
1222 + <img alt="<?php
1223 + echo esc_attr( get_bloginfo( 'name' ) );
1224 + ?>" class="logo-dark" src="<?php
1225 + echo esc_url( $dark_logo );
1226 + ?>" width="<?php
1227 + echo esc_attr( $dark_width );
1228 + ?>" height="<?php
1229 + echo esc_attr( $dark_height );
1230 + ?>">
1231 + <img alt="<?php
1232 + echo esc_attr( get_bloginfo( 'name' ) );
1233 + ?>" class="mini-logo-dark" src="<?php
1234 + echo esc_url( $dark_mini_logo );
1235 + ?>" width="36" height="36">
1236 + <?php
1237 + } elseif ( $admin_ui_logo_type == 'text_logo' ) {
1238 + ?>
989 1239 <span class="wp-adminify-site-name">
990 - <?php echo esc_html($text_logo); ?>
1240 + <?php
1241 + echo esc_html( $text_logo );
1242 + ?>
991 1243 </span>
992 - <?php } ?>
1244 + <?php
1245 + }
1246 + ?>
993 1247 </a>
994 1248
995 1249 <!-- <div class="navbar-burger" data-target="wp-adminify-top-adminbar">
996 - <img src="<?php // echo PXLBSADMINIFY_ASSETS_IMAGE . 'icons/toggol.svg';
997 - ?>" alt="Toggol icon"/>
1250 + <img src="<?php
1251 + // echo WP_ADMINIFY_ASSETS_IMAGE . 'icons/toggol.svg';
1252 + ?>" alt="Toggol icon"/>
998 1253 </div> -->
999 1254
1000 1255 </div>
1001 1256
1002 -<?php
1003 - }
1257 +<?php
1258 + }
1004 1259
1260 + /* Remove from the administration bar */
1261 + public function jltma_adminify_remove_admin_bar_menus() {
1262 + global $wp_admin_bar;
1263 + $wp_admin_bar->remove_menu( 'wp-logo' );
1264 + $wp_admin_bar->remove_menu( 'site-name' );
1265 + $wp_admin_bar->remove_menu( 'updates' );
1266 + $wp_admin_bar->remove_menu( 'menu-toggle' );
1267 + }
1005 1268
1006 - /* Remove from the administration bar */
1007 - public function remove_admin_bar_menus()
1008 - {
1009 - global $wp_admin_bar;
1010 - $wp_admin_bar->remove_menu('wp-logo');
1011 - $wp_admin_bar->remove_menu('site-name');
1012 - $wp_admin_bar->remove_menu('updates');
1013 - $wp_admin_bar->remove_menu('menu-toggle');
1014 - }
1015 1269 }