PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 2.0.4
Adminify – White Label, Admin Menu Editor, Login Customizer v2.0.4
4.3.3 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 All 166 releases
← All changes | Inc/Classes/AdminBar.php +1184 -1114 4.2.7 → 2.0.4 View file →
@@ -1,214 +1,84 @@
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\Admin\AdminSettingsModel ;
10 8 // no direct access allowed
11 -if (!defined('ABSPATH')) {
12 - exit;
9 +if ( !defined( 'ABSPATH' ) ) {
10 + exit;
13 11 }
14 12 class AdminBar extends AdminSettingsModel
15 13 {
16 -
17 - public $options;
18 - public $post_types;
19 - public $adminify_ui;
20 -
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);
27 -
28 - if ( $current_ui_mode === 'dark' || $current_ui_mode === 'system' ) {
29 - new DarkModeConflicts();
30 - }
31 -
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 - // }
36 -
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 - // Switcher for Default UI
61 - if (empty($this->adminify_ui)) {
62 - if (!empty($this->options['admin_bar_dark_light_btn'])) {
63 - add_action('admin_bar_menu', [$this, 'dark_mode_switcher_icon']);
64 - }
65 - }
66 - }
67 - }
68 -
69 -
70 - // Add Switcher Icon on Admin Bar Secondary
71 - public function dark_mode_switcher_icon($wp_admin_bar)
72 - {
73 - $args = [
74 - 'parent' => 'top-secondary',
75 - 'id' => 'wp-adminify-admin-bar-switcher',
76 - 'title' => $this->dark_mode_switcher_dom(),
77 - 'meta' => false
78 - ];
79 -
80 - $wp_admin_bar->add_node($args);
81 - }
82 -
83 - public function dark_mode_switcher_dom()
84 - {
85 - $global_color_mode = !empty($this->options['light_dark_mode']['admin_ui_mode']) ? $this->options['light_dark_mode']['admin_ui_mode'] : 'light';
86 - $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);
87 -
88 - $color_var = !empty($this->adminify_ui) ? 'var(--adminify-menu-text-color)' : '#fff';
89 -
90 - $adminbar_switcher_icon = '<div id="wp-adminify-color-mode-wrapper">
91 - <div class="mode-icon adminify-color-mode-' . esc_attr($color_mode) . '-active">
92 - <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>
93 - <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>
94 - <svg width="16" height="16" viewBox="0 0 22 18" fill="none" xmlns="http://www.w3.org/2000/svg" class="systemIcon">
95 - <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"/>
96 - </svg>
97 - </div>
98 - <div class="light-dark-dropdown">
99 - <div class="light">
100 - <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>
101 - <span>Light</span>
102 - </div>
103 - <div class="dark">
104 - <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>
105 - <span>Dark</span>
106 - </div>
107 - <div class="system">
108 - <svg width="16" height="16" viewBox="0 0 22 18" fill="none" xmlns="http://www.w3.org/2000/svg" class="systemIcon">
109 - <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"/>
110 - </svg>
111 - <span>System</span>
112 - </div>
113 - </div>
114 - </div>';
115 -
116 - return $adminbar_switcher_icon;
117 - }
118 -
119 -
120 -
121 - public function initialize()
122 - {
123 - $admin_bar_position = (!empty($this->options['admin_bar_position'])) ? $this->options['admin_bar_position'] : 'top';
124 -
125 - if (is_admin()) {
126 - if ($admin_bar_position == 'top' || $admin_bar_position == 'bottom') {
127 - if (!empty($this->adminify_ui)) {
128 - //TODO: not need to adminify ui. alternative use iframe topbar
129 - // add_action('admin_init', [$this, 'add_admin_bar']);
130 - // } else {
131 - add_action('admin_head', [$this, 'legacy_admin_bar_positon']);
132 - }
133 - }
134 - add_action('admin_enqueue_scripts', [$this, 'admin_scripts'], 100);
135 -
136 - // Remove Unnecessary Menus from Admin bar
137 - // add_action('wp_before_admin_bar_render', [$this, 'remove_admin_bar_menus'], 0);
138 -
139 - // add_filter('admin_body_class', [$this, 'admin_bar_body_class']);
140 - // add_action('admin_head', [$this, 'admin_bar_css'], 999);
141 -
142 - add_action('wp_ajax_pxlbsadminify_all_search', [$this, 'all_search']);
143 - add_action('wp_ajax_pxlbsadminify_color_mode', [$this, 'color_mode']);
144 -
145 -
146 - // Screen Option and Help Tab
147 - add_action('admin_head', [$this, 'remove_screen_options'], 10, 3);
148 - add_action('admin_head', [$this, 'remove_help_tab']);
149 - } else {
150 - // Admin bar Frontend settings
151 - $frontend_admin = (!empty($this->options['admin_bar_hide_frontend'])) ? $this->options['admin_bar_hide_frontend'] : 'show';
152 -
153 - // if (jltwp_adminify()->can_use_premium_code__premium_only()) {
154 - // if ($frontend_admin == 'show') {
155 - // $frontend_admin_roles = (!empty($this->options['admin_bar_hide_frontend_user_roles'])) ? $this->options['admin_bar_hide_frontend_user_roles'] : [];
156 - // if (Utils::restricted_for($frontend_admin_roles)) {
157 - // $frontend_admin = 'hide';
158 - // }
159 - // }
160 - // }
161 - $this->front_bar();
162 -
163 - if ($admin_bar_position == 'bottom') {
164 - add_action('init', [$this, 'admin_bar_front_style_init']);
165 - }
166 -
167 - if ($frontend_admin == 'hide') {
168 - add_filter('show_admin_bar', '__return_false');
169 - }
170 - }
171 - }
172 -
173 - public function before_secondary_menu()
174 - {
175 -?>
176 - <div class="wp-adminify-top-header--search--form">
177 - <form class="top-header--search--form" action="$">
178 - <span class="adminify-search-expand"><i class="icon-magnifier icons"></i></span>
179 - <input id="top-header-search-input" class="top-header-search-input" type="search" placeholder="Search here">
180 - </form>
181 -
182 - <div id="top-header-search-results" class=" top-header-search-results" style="display: none;">
183 - <div class="top-header-results-wrapper">
184 - </div>
185 - </div>
186 - </div>
187 - <?php
188 - }
189 -
190 - public function load_wp_admin_bar_class()
191 - {
192 - return 'PXLBSAdminify\Inc\Classes\Adminify_Admin_Bar';
193 - }
194 -
195 - public function front_bar()
196 - {
197 - add_action('admin_init', [$this, 'add_admin_bar']);
198 - add_filter('body_class', [$this, 'admin_bar_body_class']);
199 - }
200 -
201 - public function admin_bar_front_style_init()
202 - {
203 - add_filter('wp_enqueue_scripts', [$this, 'admin_bar_front_style']);
204 - }
205 -
206 - // Frontend Admin bar style
207 - public function admin_bar_front_style()
208 - {
209 - $admin_bar_css = '';
210 - $admin_bar_css .= '.admin-bar-position-bottom #wpadminbar{
14 + public $post_types ;
15 + public function __construct()
16 + {
17 + $this->options = (array) AdminSettings::get_instance()->get( 'admin_bar_settings' );
18 + $admin_bar_user_roles = ( !empty($this->options['admin_bar_user_roles']) ? $this->options['admin_bar_user_roles'] : '' );
19 + if ( Utils::restricted_for( $admin_bar_user_roles ) ) {
20 + return;
21 + }
22 + $admin_bar_position = ( !empty($this->options['admin_bar_position']) ? $this->options['admin_bar_position'] : 'top' );
23 + // Disable the default admin bar
24 + // add_filter('show_admin_bar', '__return_false');
25 + // Add admin-bar support if not already activated
26 + add_theme_support( 'admin-bar', array(
27 + 'callback' => '__return_false',
28 + ) );
29 + // Check Adminify Setup Wizard Page
30 + if ( !empty($_GET['page']) && 'wp-adminify-setup-wizard' == $_GET['page'] ) {
31 + return;
32 + }
33 +
34 + if ( is_admin() ) {
35 + if ( $admin_bar_position == 'top' || $admin_bar_position == 'bottom' ) {
36 + add_action( 'admin_init', [ $this, 'jltwp_adminify_add_admin_bar' ] );
37 + }
38 + // Remove Unnecessary Menus from Admin bar
39 + add_action( 'wp_before_admin_bar_render', [ $this, 'jltma_adminify_remove_admin_bar_menus' ], 0 );
40 + add_filter( 'admin_body_class', [ $this, 'admin_bar_body_class' ] );
41 + add_action( 'admin_head', [ $this, 'jltwp_adminify_admin_bar_css' ], 999 );
42 + add_action( 'wp_ajax_adminify_all_search', [ $this, 'adminify_all_search' ] );
43 + add_action( 'wp_ajax_wp_adminify_color_mode', [ $this, 'wp_adminify_color_mode' ] );
44 + add_action( 'admin_enqueue_scripts', [ $this, 'jltwp_adminify_admin_scripts' ], 100 );
45 + // Screen Option and Help Tab
46 + add_action(
47 + 'admin_head',
48 + [ $this, 'jltwp_adminify_remove_screen_options' ],
49 + 10,
50 + 3
51 + );
52 + add_action( 'admin_head', [ $this, 'jltwp_adminify_remove_help_tab' ] );
53 + } else {
54 + // Admin bar Frontend settings
55 + $frontend_admin = ( !empty($this->options['admin_bar_hide_frontend']) ? $this->options['admin_bar_hide_frontend'] : 'show' );
56 + $this->jltwp_adminify_front_bar();
57 + add_action( 'init', [ $this, 'admin_bar_front_style_init' ] );
58 + if ( $frontend_admin == 'hide' ) {
59 + add_filter( 'show_admin_bar', '__return_false' );
60 + }
61 + }
62 +
63 + }
64 +
65 + public function jltwp_adminify_front_bar()
66 + {
67 + add_action( 'admin_init', [ $this, 'jltwp_adminify_add_admin_bar' ] );
68 + add_filter( 'body_class', [ $this, 'admin_bar_body_class' ] );
69 + }
70 +
71 + public function admin_bar_front_style_init()
72 + {
73 + add_filter( 'wp_enqueue_scripts', [ $this, 'admin_bar_front_style' ] );
74 + }
75 +
76 + // Frontend Admin bar style
77 + public function admin_bar_front_style()
78 + {
79 + $admin_bar_css = '';
80 + $admin_bar_css .= '.admin-bar-position-bottom #wpadminbar{
211 81 top:auto;
212 82 bottom: 0;
213 83 }
214 84 .admin-bar-position-bottom #wpadminbar .menupop .ab-sub-wrapper{
@@ -213,968 +83,1168 @@
213 83 }
214 84 .admin-bar-position-bottom #wpadminbar .menupop .ab-sub-wrapper{
215 85 bottom: 32px;
216 86 }
87 +
217 88 @media all and (max-width:600px){
218 89 body.logged-in.admin-bar-position-bottom {
219 90 position: relative;
220 91 }
221 92 }';
222 - wp_add_inline_style('admin-bar', $admin_bar_css);
223 - }
93 + wp_add_inline_style( 'admin-bar', $admin_bar_css );
94 + }
95 +
96 + //Remove Screen Options
97 + public function jltwp_adminify_remove_screen_options()
98 + {
99 + $enable_screen_tab = Utils::get_user_preference( 'screen_options_tab' );
100 + if ( $enable_screen_tab ) {
101 + add_filter( 'screen_options_show_screen', '__return_false' );
102 + }
103 + }
104 +
105 + // Contextual Help Tab Remove
106 + public function jltwp_adminify_remove_help_tab()
107 + {
108 + $enable_screen_tab = Utils::get_user_preference( 'adminify_help_tab' );
109 +
110 + if ( $enable_screen_tab ) {
111 + $screen = get_current_screen();
112 + $screen->remove_help_tabs();
113 + }
114 +
115 + }
116 +
117 + // Get All registered WP Admin Menus
118 + public static function get_wp_admin_menus( $thismenu, $thissubmenu )
119 + {
120 + $options = [];
121 + if ( !empty($thismenu) && is_array( $thismenu ) ) {
122 + foreach ( $thismenu as $item ) {
123 + if ( !empty($item[0]) ) {
124 + // the preg_replace removes "Comments" & "Plugins" menu spans.
125 + $options[$item[2]] = preg_replace( '/\\<span.*?>.*?\\<\\/span><\\/span>/s', '', $item[0] );
126 + }
127 + }
128 + }
129 + if ( !empty($thissubmenu) && is_array( $thissubmenu ) ) {
130 + foreach ( $thissubmenu as $items ) {
131 + foreach ( $items as $item ) {
132 + if ( !empty($item[0]) ) {
133 + $options[$item[1]] = preg_replace( '/\\<span.*?>.*?\\<\\/span><\\/span>/s', '', $item[0] );
134 + }
135 + }
136 + }
137 + }
138 + return $options;
139 + }
140 +
141 + public function jltwp_adminify_admin_scripts()
142 + {
143 + global $pagenow ;
144 + if ( !is_user_logged_in() && $pagenow != 'wp-login.php' ) {
145 + return;
146 + }
147 + if ( is_admin_bar_showing() ) {
148 + }
149 + wp_enqueue_style( 'wp-adminify-admin-bar' );
150 + wp_localize_script( 'wp-adminify-admin', 'WPAdminify', $this->adminify_create_admin_bar_js_object() );
151 + $this->admin_topbar_loader_css();
152 + // wp_enqueue_style('wp-adminify-admin-bar', WP_ADMINIFY_ASSETS . 'css/admin-bar.css', false, WP_ADMINIFY_VER);
153 + // wp_enqueue_script('wp-adminify-admin', WP_ADMINIFY_ASSETS . 'js/wp-adminify.js', ['jquery'], WP_ADMINIFY_VER, true);
154 + // wp_localize_script('wp-adminify-admin', 'WPAdminify', $this->adminify_create_admin_bar_js_object());
155 + }
156 +
157 + public function adminify_create_admin_bar_js_object()
158 + {
159 + return array(
160 + 'ajax_url' => admin_url( 'admin-ajax.php' ),
161 + 'security_nonce' => wp_create_nonce( 'adminify-admin-bar-security-nonce' ),
162 + 'notice_nonce' => wp_create_nonce( 'adminify-notice-nonce' ),
163 + );
164 + }
165 +
166 + /**
167 + * Preloader
168 + *
169 + * @return void
170 + */
171 + public function admin_topbar_loader_css()
172 + {
173 + $output_css = '';
174 + $topbar_wireframe_img = WP_ADMINIFY_ASSETS_IMAGE . 'topbar-wireframe.svg';
175 + $output_css .= '.js .wp-adminify-topbar-loader{background: url(' . $topbar_wireframe_img . '); }';
176 + echo '<style>' . $output_css . '</style>' ;
177 + }
178 +
179 + /**
180 + * Save Color Mode by Ajax
181 + *
182 + * @return void
183 + */
184 + public function wp_adminify_color_mode()
185 + {
186 +
187 + if ( defined( 'DOING_AJAX' ) && DOING_AJAX && check_ajax_referer( 'adminify-admin-bar-security-nonce', 'security' ) > 0 ) {
188 + $admin_bar_mode = AdminSettings::get_instance()->get();
189 + $key = Utils::clean_ajax_input( $_POST['key'] );
190 + $value = Utils::clean_ajax_input( $_POST['value'] );
191 +
192 + if ( $key == "" ) {
193 + $message = __( "No Color Mode supplied to save", WP_ADMINIFY_TD );
194 + echo Utils::ajax_error_message( $message ) ;
195 + die;
196 + }
197 +
198 + // Light/Dark Mode
199 +
200 + if ( $key === 'color_mode' ) {
201 + $admin_bar_mode['admin_bar_mode'] = $value;
202 + $admin_bar_mode['enable_schedule_dark_mode'] = false;
203 + update_option( '_wpadminify', $admin_bar_mode );
204 + die;
205 + }
206 +
207 + // Screen Options, Help Tabs and WP Hide Links
208 +
209 + if ( $key === 'screen_options_tab' || $key === 'hide_wp_links' || $key === 'adminify_help_tab' ) {
210 + $userid = get_current_user_id();
211 + $current = get_user_meta( $userid, '_wpadminify_preferences', true );
212 +
213 + if ( is_array( $current ) ) {
214 + $current[$key] = $value;
215 + } else {
216 + $current = array();
217 + $current[$key] = $value;
218 + }
219 +
220 + $state = update_user_meta( $userid, '_wpadminify_preferences', $current );
221 +
222 + if ( $state ) {
223 + $returndata = array();
224 + $returndata['success'] = true;
225 + $returndata['message'] = __( 'Preferences saved', WP_ADMINIFY_TD );
226 + echo json_encode( $returndata ) ;
227 + } else {
228 + $message = __( "Unable to save user preferences", WP_ADMINIFY_TD );
229 + echo Utils::ajax_error_message( $message ) ;
230 + die;
231 + }
232 +
233 + }
234 +
235 + }
236 +
237 + }
238 +
239 + /**
240 + * Search Everything
241 + *
242 + * @return void
243 + */
244 + public function adminify_all_search()
245 + {
246 +
247 + if ( defined( 'DOING_AJAX' ) && DOING_AJAX && check_ajax_referer( 'adminify-admin-bar-security-nonce', 'security' ) > 0 ) {
248 + $term = $_POST['search'];
249 + // Search Arguments
250 + $args = array(
251 + 'numberposts' => -1,
252 + 's' => $term,
253 + 'post_status' => array(
254 + 'publish',
255 + 'pending',
256 + 'draft',
257 + 'future',
258 + 'private',
259 + 'inherit'
260 + ),
261 + );
262 + // All Post Types
263 + $post_types = $this->get_post_types();
264 + foreach ( $post_types as $type ) {
265 + $args['post_type'][] = $type->name;
266 + }
267 + // All Categories/Taxonomies
268 + $all_taxonomies = get_taxonomies();
269 + // Get Comments
270 + $all_comments = get_comments();
271 + // Get All Users
272 + $all_users = get_users();
273 + // All Users
274 + // $blogusers = get_users();
275 + // foreach ($blogusers as $type) {
276 + // // $name = $type->user_login;
277 + // // $id = $type->ID;
278 + // $args['author__in'][] = $type->ID;
279 + // }
280 + // // All Menus
281 + // $all_admin_menus = self::get_wp_admin_menus();
282 + // All Plugins
283 + if ( !function_exists( 'get_plugins' ) ) {
284 + require_once ABSPATH . 'wp-admin/includes/plugin.php';
285 + }
286 + $all_plugins = get_plugins();
287 + $foundposts = get_posts( $args );
288 + // $count_items = '';
289 + // if (count($foundposts) > 0) {
290 + // $count_items .= count($foundposts);
291 + // } elseif (count($all_plugins)) {
292 + // $count_items .= count($all_plugins);
293 + // }
294 + ob_start();
295 + ?>
224 296
225 - // Remove Screen Options
226 - public function remove_screen_options()
227 - {
228 - $enable_screen_tab = Utils::get_user_preference('screen_options_tab');
229 - if ($enable_screen_tab) {
230 - add_filter('screen_options_show_screen', '__return_false');
231 - }
232 - }
297 + <p><span class="count"></span><?php
298 + echo count( $foundposts ) . __( ' item<span>s</span> found', WP_ADMINIFY_TD ) ;
299 + ?></p>
300 + <table class="top-header-result-table" style="height:500px;">
301 + <thead>
302 + <tr class="has-text-left">
303 + <th><?php
304 + _e( 'Title', WP_ADMINIFY_TD );
305 + ?></th>
306 + <th><?php
307 + _e( 'Type', WP_ADMINIFY_TD );
308 + ?></th>
309 + <th><?php
310 + _e( 'User', WP_ADMINIFY_TD );
311 + ?></th>
312 + <th><?php
313 + _e( 'Date', WP_ADMINIFY_TD );
314 + ?></th>
315 + </tr>
316 + </thead>
317 + <tbody>
233 318
234 - // Contextual Help Tab Remove
235 - public function remove_help_tab()
236 - {
237 - $enable_screen_tab = Utils::get_user_preference('adminify_help_tab');
238 - if ($enable_screen_tab) {
239 - $screen = get_current_screen();
240 - $screen->remove_help_tabs();
241 - }
242 - }
319 + <?php
320 + foreach ( $foundposts as $item ) {
321 + $author_id = $item->post_author;
322 + $editurl = get_edit_post_link( $item );
323 + $public = get_permalink( $item );
324 + ?>
325 + <tr>
326 + <td><span class="table-title"><a href="<?php
327 + echo $editurl ;
328 + ?>"><?php
329 + echo get_the_title( $item ) ;
330 + ?></a></span></td>
331 + <td><span class="type"><?php
332 + echo get_post_type( $item ) ;
333 + ?></span></td>
334 + <td><span class="user"><?php
335 + echo the_author_meta( 'user_login', $author_id ) ;
336 + ?></span></td>
337 + <td><span class="date"><?php
338 + echo get_the_date( get_option( 'date_format' ), $item ) ;
339 + ?></span></td>
340 + </tr>
341 + <?php
342 + }
343 + ?>
243 344
244 - // Get All registered WP Admin Menus
245 - public static function get_wp_admin_menus($thismenu, $thissubmenu)
246 - {
247 - $options = [];
345 + <?php
346 + foreach ( $all_taxonomies as $tax_name ) {
347 + $terms = get_terms( array(
348 + 'taxonomy' => $tax_name,
349 + 'hide_empty' => 1,
350 + ) );
351 + foreach ( $terms as $cat ) {
352 + if ( strpos( strtolower( $cat->name ), strtolower( $term ) ) === false ) {
353 + continue;
354 + }
355 + // $user = get_userdata($cat->term_id);
356 + ?>
357 + <tr>
358 + <td>
359 + <span class="table-title">
360 + <a href="<?php
361 + echo get_term_link( $cat->slug, $cat->taxonomy ) ;
362 + ?>">
363 + <?php
364 + echo $cat->name ;
365 + ?>
366 + </a>
367 + </span>
368 + </td>
369 + <td>
370 + <span class="type"><?php
371 + echo $cat->taxonomy ;
372 + ?></span>
373 + </td>
374 + <td>
375 + <span class="user">
376 + N/A
377 + </span>
378 + </td>
379 + <td>
380 + <span class="date">
381 + N/A
382 + </span>
383 + </td>
384 + <td>
385 + </td>
386 + </tr>
387 + <?php
388 + }
389 + }
390 + ?>
248 391
249 - if (!empty($thismenu) && is_array($thismenu)) {
250 - foreach ($thismenu as $item) {
251 - if (!empty($item[0])) {
252 - // the preg_replace removes "Comments" & "Plugins" menu spans.
253 - $options[$item[2]] = (preg_replace('/\<span.*?>.*?\<\/span><\/span>/s', '', $item[0]));
254 - }
255 - }
256 - }
257 392
258 - if (!empty($thissubmenu) && is_array($thissubmenu)) {
259 - foreach ($thissubmenu as $items) {
260 - foreach ($items as $item) {
261 - if (!empty($item[0])) {
262 - $options[$item[1]] = (preg_replace('/\<span.*?>.*?\<\/span><\/span>/s', '', $item[0]));
263 - }
264 - }
265 - }
266 - }
393 + <!-- Get Comments -->
394 + <?php
395 + foreach ( $all_comments as $comment ) {
396 + if ( strpos( strtolower( $comment->comment_content ), strtolower( $term ) ) === false ) {
397 + continue;
398 + }
399 + ?>
400 + <tr>
401 + <td>
402 + <span class="table-title">
403 + <a href="<?php
404 + echo admin_url( 'comment.php?action=editcomment&c=' . $comment->comment_ID ) ;
405 + ?>">
406 + <?php
407 + echo $comment->comment_content ;
408 + ?>
409 + </a>
410 + </span>
411 + </td>
412 + <td>
413 + <span class="type">
414 + <?php
415 + echo ucwords( $comment->comment_type ) ;
416 + ?>
417 + </span>
418 + </td>
419 + <td>
420 + <span class="user">
421 + <?php
422 + echo the_author_meta( 'display_name', $comment->user_id ) ;
423 + ?>
424 + </span>
425 + </td>
426 + <td>
427 + <span class="date">
428 + <?php
429 + echo get_the_date( get_option( 'date_format' ), $comment->comment_date ) ;
430 + ?>
431 + </span>
432 + </td>
433 + </tr>
434 + <?php
435 + }
436 + ?>
267 437
268 - return $options;
269 - }
270 438
271 - public function admin_scripts()
272 - {
273 - global $pagenow;
274 - if ($pagenow == 'wp-login.php' || $pagenow == 'wp-register.php' || $pagenow == 'customize.php') {
275 - return;
276 - }
277 439
278 - // Commented on: 9-6-24
279 - if (!empty($this->adminify_ui)) {
280 - wp_enqueue_style('wp-adminify-admin-bar');
281 - $this->admin_topbar_loader_css();
282 - }
283 - wp_localize_script('adminify-admin', 'PXLBSADMINIFY_ADMINBAR', $this->create_admin_bar_js_object());
284 - }
440 + <!-- Get Users -->
441 + <?php
442 + foreach ( $all_users as $user ) {
443 + if ( strpos( strtolower( $user->user_login ), strtolower( $term ) ) === false ) {
444 + continue;
445 + }
446 + ?>
447 + <tr>
448 + <td>
449 + <span class="table-title">
450 + <a href="<?php
451 + echo admin_url( 'user-edit.php?user_id=' . $user->ID ) ;
452 + ?>">
453 + <?php
454 + echo $user->display_name ;
455 + ?>
456 + </a>
457 + </span>
458 + </td>
459 + <td>
460 + <span class="type">
461 + <?php
462 + _e( "User", WP_ADMINIFY_TD );
463 + ?>
464 + </span>
465 + </td>
466 + <td>
467 + <span class="user">
468 + <?php
469 + echo the_author_meta( 'display_name', $user->ID ) ;
470 + ?>
471 + </span>
472 + </td>
473 + <td>
474 + <span class="date">
475 + <?php
476 + echo get_the_date( get_option( 'date_format' ), $user->user_registered ) ;
477 + ?>
478 + </span>
479 + </td>
480 + </tr>
481 + <?php
482 + }
483 + ?>
285 484
286 485
287 - public function create_admin_bar_js_object()
288 - {
289 - return [
290 - 'ajax_url' => admin_url('admin-ajax.php'),
291 - 'security_nonce' => wp_create_nonce('pxlbsadminify-admin-bar-security-nonce'),
292 - 'notice_nonce' => wp_create_nonce('pxlbsadminify-notice-nonce'),
293 - ];
294 - }
295 486
296 - /**
297 - * Preloader
298 - *
299 - * @return void
300 - */
301 - public function admin_topbar_loader_css()
302 - {
303 - $output_css = '';
304 - $topbar_wireframe_img = PXLBSADMINIFY_ASSETS_IMAGE . 'topbar-wireframe.svg';
305 - $output_css .= '.js .wp-adminify-topbar-loader{background: url(' . esc_url($topbar_wireframe_img) . '); }';
487 + <!-- Get Plugins -->
488 + <?php
489 + foreach ( $all_plugins as $plugin ) {
490 + if ( strpos( strtolower( $plugin['Name'] ), strtolower( $term ) ) === false ) {
491 + continue;
492 + }
493 + ?>
494 + <tr>
495 + <td>
496 + <span class="table-title">
497 + <a href="<?php
498 + echo admin_url( 'plugins.php' ) ;
499 + ?>">
500 + <?php
501 + echo $plugin['Name'] ;
502 + ?>
503 + </a>
504 + </span>
505 + </td>
506 + <td>
507 + <span class="type">
508 + <?php
509 + _e( "Plugin", WP_ADMINIFY_TD );
510 + ?>
511 + </span>
512 + </td>
513 + <td>
514 + <span class="user">
515 + <?php
516 + echo $plugin['AuthorName'] ;
517 + ?>
518 + </span>
519 + </td>
520 + <td>
521 + <span class="date">
522 + N/A
523 + </span>
524 + </td>
525 + </tr>
526 + <?php
527 + }
528 + ?>
306 529
307 - // Use wp_add_inline_style instead of echo to prevent "headers already sent" errors
308 - wp_add_inline_style( 'wp-adminify-admin-bar', wp_strip_all_tags($output_css) );
309 530
310 - $screen = get_current_screen(); // Get current screen details
531 + </tbody>
532 + </table>
311 533
312 - if (isset($screen->base) && $screen->base === 'post') {
313 - $inline_script = "window.addEventListener('load', function() {
314 - const isFullscreenMode = wp.data.select('core/edit-post').isFeatureActive('fullscreenMode');
315 - if (isFullscreenMode) {
316 - jQuery('.adminify-top_bar').css({
317 - 'display': 'none !important'
318 - });
319 - }
320 - });";
321 - wp_add_inline_script( 'adminify-admin', $inline_script );
322 - }
323 - }
324 534
325 - /**
326 - * Save Color Mode by Ajax
327 - *
328 - * @return void
329 - */
330 - public function color_mode()
331 - {
332 - if (defined('DOING_AJAX') && DOING_AJAX) {
333 - // Two callers post to this handler with different nonce objects:
334 - // - dev/admin/wp-adminify.js uses PXLBSADMINIFY_ADMINBAR.security_nonce
335 - // (action: pxlbsadminify-admin-bar-security-nonce)
336 - // - dev/admin/frame/utils/uitls.js (React frame topbar dropdown)
337 - // uses PXLBSADMINIFY_FRAME.security_nonce (action: adminify_nonce)
338 - // Accept either — both are user-bound; failing only one strands the
339 - // React frame toggle (the dark-mode dropdown silently 403s).
340 - $nonce_ok = ( check_ajax_referer('pxlbsadminify-admin-bar-security-nonce', 'security', false) > 0 )
341 - || ( check_ajax_referer('adminify_nonce', 'security', false) > 0 );
342 - if ( ! $nonce_ok ) {
343 - wp_send_json_error( array( 'mess' => __( 'Invalid request.', 'adminify' ) ), 403 );
344 - }
345 - // Color mode is per-user preference; require the caller to be
346 - // a logged-in user with admin-bar access.
347 - if ( ! is_user_logged_in() || ! current_user_can( 'read' ) ) {
348 - wp_send_json_error( array( 'mess' => __( 'You are not allowed to perform this action.', 'adminify' ) ), 403 );
349 - }
350 - $admin_bar_mode = AdminSettings::get_instance()->get();
535 + <?php
536 + $output_data = ob_get_clean();
537 + echo json_encode( $output_data ) ;
538 + }
539 +
540 + die;
541 + }
542 +
543 + public function jltwp_adminify_admin_bar_css()
544 + {
545 + $admin_bar_mode = AdminSettings::get_instance()->get();
546 + $admin_bar_mode = ( !empty($admin_bar_mode['admin_bar_mode']) ? $admin_bar_mode['admin_bar_mode'] : '' );
547 + $output_css = '';
548 + $output_css .= '<style type="text/css">';
549 + $admin_bar_container = ( !empty($this->options['admin_bar_container']) ? $this->options['admin_bar_container'] : 'full_container' );
550 +
551 + if ( $admin_bar_mode === 'light' ) {
552 + $light_bg_type = ( !empty($this->options['admin_bar_light_bg']) ? $this->options['admin_bar_light_bg'] : 'color' );
553 + $light_bg_color = ( !empty($this->options['admin_bar_light_bg_color']) ? $this->options['admin_bar_light_bg_color'] : '' );
554 + // Full Container Colors
555 +
556 + if ( $admin_bar_container == 'full_container' ) {
557 + if ( $light_bg_type === 'color' ) {
558 + $output_css .= '.wp-adminify.adminify-light-mode .adminify-top_bar nav.navbar, .wp-adminify .wp-adminify-horizontal-menu { background-color:' . $light_bg_color . ' ; }';
559 + }
560 + } elseif ( $admin_bar_container == 'admin_bar_only' ) {
561 + // Admin Bar Colors
562 + if ( $light_bg_type === 'color' ) {
563 + if ( !empty($this->options['admin_bar_light_bg_color']) ) {
564 + $output_css .= '.wp-adminify.adminify-light-mode .adminify-top_bar nav.navbar { background-color:' . $light_bg_color . ' }';
565 + }
566 + }
567 + }
568 +
569 + if ( !empty($admin_bar_colors['icon_color']) ) {
570 + $output_css .= '.adminify-top_bar nav.navbar .navbar-menu .topbar-icon { fill: ' . $admin_bar_colors['icon_color'] . ' }';
571 + }
572 + } elseif ( $admin_bar_mode === 'dark' ) {
573 + $dark_bg_type = ( isset( $this->options['admin_bar_dark_bg'] ) ? $this->options['admin_bar_dark_bg'] : 'color' );
574 +
575 + if ( $admin_bar_container == 'full_container' ) {
576 +
577 + if ( $dark_bg_type === 'color' ) {
578 + $dark_bg_color = $this->options['admin_bar_dark_bg_color'];
579 + $output_css .= '.wp-adminify.adminify-dark-mode .adminify-top_bar nav.navbar, .wp-adminify .wp-adminify-horizontal-menu{ background-color:' . $dark_bg_color . ' }';
580 + } elseif ( $dark_bg_type === 'gradient' ) {
581 + $dark_gradient_bg_color = $this->options['admin_bar_dark_bg_gradient']['background-color'];
582 + $dark_gradient_color = $this->options['admin_bar_dark_bg_gradient']['background-gradient-color'];
583 + $dark_gradient_color_dir = $this->options['admin_bar_dark_bg_gradient']['background-gradient-direction'];
584 + $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 ) . '); }';
585 + }
586 +
587 + } elseif ( $admin_bar_container == 'admin_bar_only' ) {
588 +
589 + if ( $dark_bg_type === 'color' ) {
590 + $dark_bg_color = $this->options['admin_bar_dark_bg_color'];
591 + $output_css .= '.wp-adminify.adminify-dark-mode .adminify-top_bar nav.navbar{ background-color:' . $dark_bg_color . ' }';
592 + }
593 +
594 + }
595 +
596 + }
597 +
598 + // "New" Button Colors
599 + $new_btn_colors = ( !empty($this->options['admin_bar_link_color']) ? $this->options['admin_bar_link_color'] : '' );
600 + if ( !empty($new_btn_colors['link_color']) ) {
601 + $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:' . $new_btn_colors['link_color'] . ' }';
602 + }
603 + if ( !empty($new_btn_colors['hover_color']) ) {
604 + $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:' . $new_btn_colors['hover_color'] . ' }';
605 + }
606 + if ( !empty($new_btn_colors['bg_color']) ) {
607 + $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-color:' . $new_btn_colors['bg_color'] . '; border: 1px solid ' . $new_btn_colors['bg_color'] . ';}';
608 + }
609 + // "New" Button Hover Colors
610 + $new_btn_dropwon = ( !empty($this->options['admin_bar_link_dropdown_color']) ? $this->options['admin_bar_link_dropdown_color'] : '' );
611 + if ( !empty($new_btn_dropwon['bg_color']) ) {
612 + $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:' . $new_btn_dropwon['wrapper_bg'] . ' !important;}';
613 + }
614 + if ( !empty($new_btn_dropwon['bg_color']) ) {
615 + $output_css .= '.wp-adminify #wpadminbar .ab-top-menu .ab-sub-wrapper .ab-submenu .ab-item:hover { background-color:' . $new_btn_dropwon['bg_color'] . ' !important;}';
616 + }
617 + if ( !empty($new_btn_dropwon['link_color']) ) {
618 + $output_css .= '.wp-adminify #wpadminbar .ab-top-menu .ab-sub-wrapper .ab-submenu .ab-item { color:' . $new_btn_dropwon['link_color'] . ' !important }';
619 + }
620 + if ( !empty($new_btn_dropwon['hover_color']) ) {
621 + $output_css .= '.wp-adminify #wpadminbar .ab-top-menu .ab-sub-wrapper .ab-submenu .ab-item:hover { color:' . $new_btn_dropwon['hover_color'] . ' !important }';
622 + }
623 + // Text Color
624 +
625 + if ( !empty($this->options['admin_bar_text_color']) ) {
626 + $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:' . $this->options['admin_bar_text_color'] . ' }';
627 + $output_css .= '.wp-adminify #wpadminbar #wp-admin-bar-root-default #wp-admin-bar-new-post > .ab-item { color:' . $this->options['admin_bar_text_color'] . ' ; }';
628 + $output_css .= '.wp-adminify #wpadminbar #wp-admin-bar-root-default #wp-admin-bar-new-post > .ab-item .ab-icon:before { color:' . $this->options['admin_bar_text_color'] . ' ; }';
629 + $output_css .= '.wp-adminify #wpadminbar #wp-admin-bar-root-default #wp-admin-bar-new-post > .ab-item .ab-label { color:' . $this->options['admin_bar_text_color'] . ' ; }';
630 + }
631 +
632 + // Icon Color
633 +
634 + if ( !empty($this->options['admin_bar_icon_color']) ) {
635 + $output_css .= '.adminify-top_bar nav.navbar .navbar-menu .topbar-icon svg path { fill:' . $this->options['admin_bar_icon_color'] . ' }';
636 + $output_css .= '.adminify-top_bar nav.navbar .navbar-end i, .adminify-top_bar nav.navbar .navbar-burger i { color:' . $this->options['admin_bar_icon_color'] . ' }';
637 + }
638 +
639 + $output_css .= ' </style>';
640 + echo $output_css ;
641 + }
642 +
643 + // Admin Bar Body Class
644 + public function admin_bar_body_class( $classes )
645 + {
646 +
647 + if ( is_admin() ) {
648 + $classes .= " wp-adminify-admin-bar";
649 + $admin_bar_position = ( !empty($this->options['admin_bar_position']) ? $this->options['admin_bar_position'] : 'top' );
650 +
651 + if ( $admin_bar_position === 'top' ) {
652 + $classes .= " position-top";
653 + } elseif ( $admin_bar_position === 'bottom' ) {
654 + $classes .= " position-bottom";
655 + }
656 +
657 + if ( !empty($this->options['enable_admin_bar']) ) {
658 + $classes .= " topbar-disabled";
659 + }
660 + } else {
661 + global $pagenow ;
662 + if ( !is_user_logged_in() && $pagenow != 'wp-login.php' ) {
663 + return $classes;
664 + }
665 + $classes[] = "wp-adminify-admin-bar";
666 + $admin_bar_position = ( !empty($this->options['admin_bar_position']) ? $this->options['admin_bar_position'] : 'top' );
667 +
668 + if ( $admin_bar_position === 'top' ) {
669 + $classes[] = "admin-bar-position-top";
670 + } elseif ( $admin_bar_position === 'bottom' ) {
671 + $classes[] = "admin-bar-position-bottom";
672 + }
673 +
674 + if ( !empty($this->options['enable_admin_bar']) ) {
675 + $classes[] = "topbar-disabled";
676 + }
677 + }
678 +
679 + return $classes;
680 + }
681 +
682 + public function get_post_types()
683 + {
684 +
685 + if ( is_array( $this->post_types ) ) {
686 + return $this->post_types;
687 + } else {
688 + $args = array(
689 + 'public' => true,
690 + );
691 + $output = 'objects';
692 + $post_types = get_post_types( $args, $output );
693 + $this->post_types = $post_types;
694 + return $post_types;
695 + }
696 +
697 + }
698 +
699 + public function jltwp_adminify_add_admin_bar()
700 + {
701 + // on backend area
702 + add_action( 'admin_head', [ $this, 'jltwp_adminify_render_admin_bar' ] );
703 + // on frontend area
704 + add_action( 'wp_head', [ $this, 'jltwp_adminify_render_admin_bar' ] );
705 + }
706 +
707 + public function jltwp_adminify_render_admin_bar()
708 + {
709 + global $pagenow ;
710 + if ( !is_user_logged_in() && $pagenow != 'wp-login.php' ) {
711 + return;
712 + }
713 + if ( !is_admin_bar_showing() ) {
714 + return false;
715 + }
716 + global $wp_admin_bar ;
717 + if ( empty($wp_admin_bar) ) {
718 + return false;
719 + }
720 + $admin_bar_mode = AdminSettings::get_instance()->get();
721 + $admin_bar_mode = ( !empty($admin_bar_mode['admin_bar_mode']) ? $admin_bar_mode['admin_bar_mode'] : '' );
722 + // Light/Dark Mode
723 + $enable_dark_mode = $admin_bar_mode != 'light';
724 + // Screen Option && Hide WP Links
725 + $enable_screen_tab = Utils::get_user_preference( 'screen_options_tab' );
726 + $enable_help_tab = Utils::get_user_preference( 'adminify_help_tab' );
727 + $enable_hide_wp_links = Utils::get_user_preference( 'hide_wp_links' );
728 + // Admin Bar Position
729 +
730 + if ( !empty($this->options['admin_bar_position']) === 'top' ) {
731 + $admin_bar_position = 'top_bar';
732 + } elseif ( !empty($this->options['admin_bar_position']) === 'bottom' ) {
733 + $admin_bar_position = 'bottom_bar is-fixed-bottom';
734 + } else {
735 + $admin_bar_position = 'top_bar';
736 + }
737 +
738 + $current_user = wp_get_current_user();
739 + ob_start();
740 + ?>
351 741
352 - if (!empty($_POST['key'])) {
353 - $key = sanitize_key($_POST['key']);
354 - $value = isset($_POST['value']) ? Utils::clean_ajax_input(wp_unslash($_POST['value'])) : ''; // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized -- sanitized via Utils::clean_ajax_input().
742 + <div class="wp-adminify-topbar-loader"></div>
743 + <div class="wp-adminify adminify-top_bar" style="opacity: 0;">
744 + <nav class="navbar adminify-top-navbar <?php
745 + echo esc_attr( $admin_bar_position ) ;
746 + ?>">
355 747
356 - if ($key == '') {
357 - $message = __('No Color Mode supplied to save', 'adminify');
358 - echo wp_json_encode( array( 'error' => true, 'error_message' => $message ) );
359 - die();
360 - }
361 - }
748 + <?php
749 + $this->jltwp_adminify_logo();
750 + ?>
362 751
363 - // Light/Dark Mode
364 - if ($key === 'color_mode') {
365 - // For User preference
366 - $userid = get_current_user_id();
367 - $current = get_user_meta($userid, $key, true);
368 - if($current !== $value) {
369 - $state = update_user_meta($userid, $key, $value);
370 - }
371 - die();
372 - }
752 + <div class="adminify-legacy-admin">
753 + <?php
754 + if ( !$enable_hide_wp_links ) {
755 + echo wp_admin_bar_render() ;
756 + }
757 + ?>
758 + </div>
373 759
374 - // Screen Options, Help Tabs and WP Hide Links
375 - if ($key === 'screen_options_tab' || $key === 'hide_wp_links' || $key === 'adminify_help_tab') {
376 - $userid = get_current_user_id();
377 - $current = get_user_meta($userid, 'pxlbsadminify_preferences', true);
760 + <div id="wp-adminify-top-adminbar" class="navbar-menu">
761 + <div class="navbar-start">
378 762
379 - if (is_array($current)) {
380 - $current[$key] = $value;
381 - } else {
382 - $current = [];
383 - $current[$key] = $value;
384 - }
763 + <?php
764 + if ( !empty($this->options['admin_bar_search']) ) {
765 + ?>
766 + <div class="wp-adminify-top-header--search--form">
767 + <form class="top-header--search--form" action="$">
768 + <span class="adminify-search-expand"><i class="icon-magnifier icons"></i></span>
769 + <input id="top-header-search-input" class="top-header-search-input" type="search" placeholder="Search here">
770 + </form>
385 771
386 - $state = update_user_meta($userid, 'pxlbsadminify_preferences', $current);
772 + <div id="top-header-search-results" class=" top-header-search-results" style="display: none;">
773 + <div class="top-header-results-wrapper">
774 + </div>
775 + </div>
776 + </div>
777 + <?php
778 + }
779 + ?>
387 780
388 - if ($state) {
389 - $returndata = [];
390 - $returndata['success'] = true;
391 - $returndata['message'] = __('Preferences saved', 'adminify');
392 - echo wp_json_encode($returndata);
393 - } else {
394 - $message = __('Unable to save user preferences', 'adminify');
395 - echo wp_json_encode( array( 'error' => true, 'error_message' => $message ) );
396 - die();
397 - }
398 - }
399 - }
400 - }
781 + </div>
401 782
402 - /**
403 - * Search Everything
404 - *
405 - * @return void
406 - */
407 - public function all_search()
408 - {
409 - if (defined('DOING_AJAX') && DOING_AJAX && check_ajax_referer('pxlbsadminify-admin-bar-security-nonce', 'security') > 0) {
410 - // Security check - only users who can edit posts should access admin search
411 - if (!current_user_can('edit_posts')) {
412 - wp_send_json_error(array('message' => __('You do not have permission to perform this action.', 'adminify')));
413 - }
783 + <div class="navbar-end">
784 + <div class="field is-grouped">
414 785
415 - $search_text = '';
416 - if (!empty($_POST['search'])) {
417 - $search_text = sanitize_text_field(wp_unslash($_POST['search']));
418 - }
786 + <?php
787 +
788 + if ( !empty($this->options['admin_bar_dark_light_btn']) ) {
789 + ?>
790 + <div class="wp-admnify--mode--switcher pr-4">
791 + <label class="admnify-switcher is-pulled-right">
792 + <input type="checkbox" id="light-dark-switcher-btn" <?php
793 + checked( $enable_dark_mode, 1 );
794 + ?>>
795 + <span class="slider round"></span>
796 + </label>
797 + </div>
798 + <?php
799 + }
800 +
801 + ?>
419 802
420 - // Error Handling For Minimum 3 Char
421 - if (strlen($search_text) < 3) {
422 - wp_send_json_success(
423 - [
424 - 'message' => 'Please Enter Minimum 3 Characters'
425 - ]
426 - );
427 - }
803 + <?php
804 +
805 + if ( !empty($this->options['admin_bar_comments']) ) {
806 + ?>
807 + <div class="wp-adminify--top--comment ml-4 mr-4">
808 + <button class="comment-trigger is-clickable">
809 + <div class="topbar-icon">
810 + <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
811 + <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="#4E4B66" />
812 + </svg>
813 + </div>
814 + <span class="comment-counter p-0 tag is-rounded">
815 + <?php
816 + $comments_count = wp_count_comments();
817 + echo $comments_count->moderated ;
818 + ?>
819 + </span>
820 + </button>
821 + </div>
428 822
823 + <?php
824 + }
825 +
826 +
827 + if ( !empty($this->options['admin_bar_view_website']) ) {
828 + ?>
829 + <div class="wp-adminify--preview mr-4">
830 + <a class="preview-trigger is-clickable" href="<?php
831 + echo get_home_url() ;
832 + ?>" target="_blank">
833 + <i class="dashicons dashicons-visibility"></i>
834 + </a>
835 + </div>
836 + <?php
837 + }
838 +
839 + ?>
429 840
430 - // Search Arguments
431 - $args = [
432 - 'numberposts' => -1,
433 - 's' => $search_text,
434 - 'post_status' => ['publish', 'pending', 'draft', 'future', 'private', 'inherit'],
435 - ];
841 + <div class="wp-adminify--user--account">
842 + <button class="user-avatar is-clickable">
843 + <div class="image is-45x45">
844 + <?php
845 + echo get_avatar(
846 + $current_user->user_email,
847 + 45,
848 + '',
849 + '',
850 + array(
851 + 'class' => 'is-rounded',
852 + )
853 + ) ;
854 + ?>
855 + </div>
856 + <span class="user-status tag p-0 is-rounded"></span>
857 + </button>
858 + </div>
436 859
437 - // All Post Types
438 - $post_types = $this->get_post_types();
439 - foreach ($post_types as $type) {
440 - $args['post_type'][] = $type->name;
441 - }
860 + </div>
861 + </div>
862 + </div>
863 + </nav>
442 864
443 - // All Categories/Taxonomies
444 - $all_taxonomies = get_taxonomies();
445 865
446 - // Get Comments
447 - $all_comments = get_comments();
866 + <div class="wp-adminify--user--wrapper">
867 + <div class="user-wqrapper-inner">
868 + <button class="user-wrapper-close is-clickable">
869 + <img src="<?php
870 + echo WP_ADMINIFY_ASSETS ;
871 + ?>images/header/close.svg" alt="Close Icon">
872 + </button>
448 873
449 - // Get All Users
450 - $all_users = get_users();
874 + <div class="user-wrapper-top media">
875 + <figure class="media-left">
876 + <p class="image is-85x85">
877 + <?php
878 + echo get_avatar(
879 + $current_user->user_email,
880 + 85,
881 + '',
882 + '',
883 + array(
884 + 'class' => 'is-rounded',
885 + )
886 + ) ;
887 + ?>
888 + </p>
889 + </figure>
890 + <div class="media-content">
891 + <div class="content">
892 + <h3 class="name">
893 + <?php
894 + echo esc_html( $current_user->display_name ) ;
895 + ?>
896 + </h3>
897 + <a href="<?php
898 + echo admin_url( 'profile.php' ) ;
899 + ?>" class="email">
900 + <?php
901 + echo is_email( $current_user->user_email ) ;
902 + ?>
903 + </a>
904 + <br>
905 + <a href="<?php
906 + echo wp_logout_url() ;
907 + ?>" class="logout button">
908 + <?php
909 + echo esc_html__( 'Log Out', WP_ADMINIFY_TD ) ;
910 + ?>
911 + </a>
912 + </div>
913 + </div>
914 + </div>
451 915
452 - // All Users
453 - // $blogusers = get_users();
454 - // foreach ($blogusers as $type) {
455 - // $name = $type->user_login;
456 - // $id = $type->ID;
457 - // $args['author__in'][] = $type->ID;
458 - // }
459 916
460 - // // All Menus
461 - // $all_admin_menus = self::get_wp_admin_menus();
917 + <div class="user-wrapper-content">
918 + <div class="panel-insider">
919 + <h4 class="title"><?php
920 + _e( 'Overview', WP_ADMINIFY_TD );
921 + ?></h4>
922 + <ul>
923 + <li>
924 + <a href="<?php
925 + echo get_home_url() ;
926 + ?>" target="_blank">
927 + <img class="user-panel-icon" src="<?php
928 + echo WP_ADMINIFY_ASSETS ;
929 + ?>images/header/panel/building.svg" alt="View Website Icon">
930 + <?php
931 + _e( 'View Website', WP_ADMINIFY_TD );
932 + ?>
933 + </a>
934 + </li>
935 + <li>
936 + <a href="<?php
937 + echo admin_url( 'profile.php' ) ;
938 + ?>">
939 + <img class="user-panel-icon" src="<?php
940 + echo WP_ADMINIFY_ASSETS ;
941 + ?>images/header/panel/users.svg" alt="Profile Icon">
942 + <?php
943 + _e( 'View Profile', WP_ADMINIFY_TD );
944 + ?>
945 + </a>
946 + </li>
947 + </ul>
948 + </div>
462 949
463 - // All Plugins
950 + <?php
951 + $all_updates = Utils::get_all_updates();
952 + $total_updates = $all_updates['total'];
953 + $plugin_updates = $all_updates['plugin'];
954 + $theme_updates = $all_updates['theme'];
955 + $wp_updates = $all_updates['wordpress'];
956 + ?>
464 957
465 - if (!function_exists('get_plugins')) {
466 - require_once ABSPATH . 'wp-admin/includes/plugin.php';
467 - }
468 - $all_plugins = get_plugins();
469 958
470 - $foundposts = get_posts($args);
959 + <div class="panel-insider">
960 + <h4 class="title"><?php
961 + _e( 'Updates', WP_ADMINIFY_TD );
962 + ?></h4>
963 + <?php
964 +
965 + if ( $total_updates < 1 ) {
966 + ?>
967 + <p class="adminify-meta">
968 + <?php
969 + _e( 'Everything is up to date', WP_ADMINIFY_TD );
970 + ?>
971 + </p>
972 + <?php
973 + } else {
974 + ?>
975 + <ul>
471 976
472 - // $count_items = '';
473 - // if (count($foundposts) > 0) {
474 - // $count_items .= count($foundposts);
475 - // } elseif (count($all_plugins)) {
476 - // $count_items .= count($all_plugins);
477 - // }
977 + <li>
978 + <a href="<?php
979 + echo admin_url( 'update-core.php' ) ;
980 + ?>">
981 + <span class="icon-reload"></span>
982 + <?php
983 + _e( 'All Updates', WP_ADMINIFY_TD );
984 + ?>
985 + <span class="count tag is-rounded">
986 + <?php
987 + echo esc_html( $total_updates ) ;
988 + ?>
989 + </span>
990 + </a>
991 + </li>
992 + <li>
993 + <a href="<?php
994 + echo admin_url( 'update-core.php' ) ;
995 + ?>">
996 + <span class="dashicons dashicons-wordpress"></span>
997 + <?php
998 + _e( ' WordPress Core', WP_ADMINIFY_TD );
999 + ?>
1000 + <span class="count tag is-rounded">
1001 + <?php
1002 + echo esc_html( $wp_updates ) ;
1003 + ?>
1004 + </span>
1005 + </a>
1006 + </li>
1007 + <li>
1008 + <a href="<?php
1009 + echo admin_url( 'plugins.php' ) ;
1010 + ?>">
1011 + <span class="icon-energy"></span>
1012 + <?php
1013 + _e( ' Plugins', WP_ADMINIFY_TD );
1014 + ?>
1015 + <span class="count tag is-rounded"><?php
1016 + echo esc_html( count( $plugin_updates ) ) ;
1017 + ?></span>
1018 + </a>
1019 + </li>
1020 + <li>
1021 + <a href="<?php
1022 + echo admin_url( 'themes.php' ) ;
1023 + ?>">
1024 + <img class="user-panel-icon" src="<?php
1025 + echo WP_ADMINIFY_ASSETS ;
1026 + ?>images/header/panel/plugins.svg" />
1027 + <?php
1028 + _e( ' Themes', WP_ADMINIFY_TD );
1029 + ?>
1030 + <span class="count tag is-rounded"><?php
1031 + echo esc_html( count( $theme_updates ) ) ;
1032 + ?></span>
1033 + </a>
1034 + </li>
1035 + </ul>
1036 + <?php
1037 + }
1038 +
1039 + ?>
1040 + </div>
478 1041
1042 + <div class="panel-insider">
1043 + <h4 class="title"><?php
1044 + _e( 'Preferences', WP_ADMINIFY_TD );
1045 + ?></h4>
1046 + <ul>
1047 + <li>
1048 + <?php
1049 + _e( 'Screen Tab Hide', WP_ADMINIFY_TD );
1050 + ?>
1051 + <label class="admnify-switcher is-pulled-right">
1052 + <input type="checkbox" id="screen-option-switcher-btn" <?php
1053 + checked( $enable_screen_tab, 1 );
1054 + ?>>
1055 + <span class="slider round"></span>
1056 + </label>
1057 + </li>
1058 + <li>
1059 + <?php
1060 + _e( 'Help Tab Hide ', WP_ADMINIFY_TD );
1061 + ?>
1062 + <label class="admnify-switcher is-pulled-right">
1063 + <input type="checkbox" id="help-option-switcher-btn" <?php
1064 + checked( $enable_help_tab, 1 );
1065 + ?>>
1066 + <span class="slider round"></span>
1067 + </label>
1068 + </li>
1069 + <li>
1070 + <?php
1071 + _e( 'Hide WP Links', WP_ADMINIFY_TD );
1072 + ?>
1073 + <label class="admnify-switcher is-pulled-right">
1074 + <input type="checkbox" id="hide-wp-links-switcher-btn" <?php
1075 + checked( $enable_hide_wp_links, 1 );
1076 + ?>>
1077 + <span class="slider round"></span>
1078 + </label>
1079 + </li>
1080 + </ul>
1081 + </div>
1082 + </div>
479 1083
1084 + <!-- <div class="user-notification-area pb-5">
1085 + <h4><?php
1086 + //_e('All Notifications', WP_ADMINIFY_TD);
1087 + ?></h4>
1088 + <ul class="m-0 p-0">
1089 + <li>
1090 + <a href="#">Dashboard: <span class="count has-text-centered is-pulled-right">2</span></a>
1091 + </li>
1092 + <li>
1093 + <a href="#">Themes: <span class="count has-text-centered is-pulled-right">2</span></a>
1094 + </li>
1095 + <li>
1096 + <a href="#">Plugins: <span class="count has-text-centered is-pulled-right">2</span></a>
1097 + </li>
1098 + <li>
1099 + <a href="#">Settings: <span class="count has-text-centered is-pulled-right">2</span></a>
1100 + </li>
1101 + </ul>
1102 + </div> -->
480 1103
1104 + </div>
1105 + </div>
1106 + </div>
481 1107
1108 + <?php
1109 + $wp_admin_bar = ob_get_clean();
1110 + echo $wp_admin_bar ;
1111 + }
1112 +
1113 + public function jltwp_adminify_logo()
1114 + {
1115 + global $wp_admin_bar ;
1116 + $adminurl = get_admin_url();
1117 + $homeurl = $adminurl;
1118 + // Light Logo
1119 + $admin_bar_mode = AdminSettings::get_instance()->get();
1120 + $menu_layout = (array) $admin_bar_mode['menu_layout_settings'];
1121 + // Menu Layouts
1122 + $menu_layout = ( !empty($admin_bar_mode['menu_layout_settings']) ? $admin_bar_mode['menu_layout_settings'] : '' );
1123 + $menu_mode = ( !empty($menu_layout['menu_mode']) ? $menu_layout['menu_mode'] : 'classic' );
1124 + $menu_layout = ( !empty($menu_layout['layout_type']) ? $menu_layout['layout_type'] : 'vertical' );
1125 + $admin_bar_logo_type = ( !empty($admin_bar_mode['admin_bar_logo_type']) ? $admin_bar_mode['admin_bar_logo_type'] : 'image_logo' );
1126 + $light_mode = ( !empty($admin_bar_mode['admin_bar_light_mode']) ? $admin_bar_mode['admin_bar_light_mode'] : '' );
1127 +
1128 + if ( $admin_bar_logo_type == 'image_logo' ) {
1129 + // Logo Image
1130 +
1131 + if ( !empty($light_mode['admin_bar_light_logo']['url']) ) {
1132 + $light_logo = $light_mode['admin_bar_light_logo']['url'];
1133 + } else {
1134 +
1135 + if ( $menu_layout == 'vertical' && $menu_mode == 'icon_menu' ) {
1136 + $light_logo = WP_ADMINIFY_ASSETS_IMAGE . 'logos/logo-text-light.svg';
1137 + } else {
1138 + $light_logo = WP_ADMINIFY_ASSETS_IMAGE . 'logos/logo-text-light.svg';
1139 + }
1140 +
1141 + }
1142 +
1143 + } elseif ( $admin_bar_logo_type == 'text_logo' ) {
1144 + // Text Logo
1145 + $light_logo = $light_mode['admin_bar_light_logo_text'];
1146 + }
1147 +
1148 + // Logo Size
1149 + $light_width = ( isset( $light_mode['light_logo_size']['width'] ) ? $light_mode['light_logo_size']['width'] : '150' );
1150 + $light_height = ( isset( $light_mode['light_logo_size']['height'] ) ? $light_mode['light_logo_size']['height'] : '45' );
1151 + // Dark Logo
1152 + $dark_mode = ( !empty($admin_bar_mode['admin_bar_dark_mode']) ? $admin_bar_mode['admin_bar_dark_mode'] : '' );
1153 +
1154 + if ( $admin_bar_logo_type == 'image_logo' ) {
1155 + // Dark Logo Image
1156 +
1157 + if ( isset( $dark_mode['admin_bar_dark_logo']['url'] ) && $dark_mode['admin_bar_dark_logo']['url'] ) {
1158 + $dark_logo = $dark_mode['admin_bar_dark_logo']['url'];
1159 + } else {
1160 +
1161 + if ( $menu_layout == 'vertical' && $menu_mode === 'icon_menu' ) {
1162 + $dark_logo = WP_ADMINIFY_ASSETS_IMAGE . 'logos/logo-text-dark.svg';
1163 + } else {
1164 + $dark_logo = WP_ADMINIFY_ASSETS_IMAGE . 'logos/logo-text-dark.svg';
1165 + }
1166 +
1167 + }
1168 +
1169 + } elseif ( $admin_bar_logo_type == 'text_logo' ) {
1170 + // Text Logo
1171 + $dark_logo = $dark_mode['admin_bar_dark_logo_text'];
1172 + }
1173 +
1174 + // Dark Logo Size
1175 + $dark_width = ( isset( $dark_mode['dark_logo_size']['width'] ) ? $dark_mode['dark_logo_size']['width'] : '150' );
1176 + $dark_height = ( isset( $dark_mode['dark_logo_size']['height'] ) ? $dark_mode['dark_logo_size']['height'] : '45' );
1177 + ?>
482 1178
483 - $output_data = [
484 - 'foundposts' => $this->set_edit_url_foundposts($foundposts),
485 - 'all_taxonomies' => $this->filter_all_taxonomies($all_taxonomies, $search_text),
486 - 'all_comments' => $this->filter_all_comments($all_comments, $search_text),
487 - 'all_users' => $this->filter_all_users($all_users, $search_text),
488 - 'all_plugins' => $this->filter_all_plugins($all_plugins, $search_text),
489 - ];
1179 + <div class="navbar-brand">
1180 + <a class="navbar-item p-0" href="<?php
1181 + echo esc_url( $homeurl ) ;
1182 + ?>">
1183 + <?php
1184 +
1185 + if ( $admin_bar_logo_type == 'image_logo' ) {
1186 + ?>
1187 + <img alt="<?php
1188 + echo get_bloginfo( 'name' ) ;
1189 + ?>" class="logo-light" src="<?php
1190 + echo esc_url( $light_logo ) ;
1191 + ?>" width="<?php
1192 + echo esc_attr( $light_width ) ;
1193 + ?>" height="<?php
1194 + echo esc_attr( $light_height ) ;
1195 + ?>">
1196 + <img alt="<?php
1197 + echo get_bloginfo( 'name' ) ;
1198 + ?>" class="logo-dark" src="<?php
1199 + echo esc_url( $dark_logo ) ;
1200 + ?>" width="<?php
1201 + echo esc_attr( $dark_width ) ;
1202 + ?>" height="<?php
1203 + echo esc_attr( $dark_height ) ;
1204 + ?>">
1205 + <?php
1206 + } elseif ( $admin_bar_logo_type == 'text_logo' ) {
1207 + ?>
1208 + <span class="wp-adminify-site-name">
1209 + <?php
1210 + echo esc_html( $light_logo ) ;
1211 + ?>
1212 + </span>
1213 + <?php
1214 + }
1215 +
1216 + ?>
1217 + </a>
490 1218
491 - wp_send_json_success(
492 - [
493 - 'data' => wp_json_encode($output_data),
494 - ]
495 - );
496 1219
497 - return;
1220 + <div class="navbar-burger" data-target="wp-adminify-top-adminbar">
1221 + <i class="dashicons dashicons-menu-alt"></i>
1222 + </div>
498 1223
499 - ob_start();
500 - ?>
501 1224
502 - <p><span class="count"></span><?php echo count($foundposts) . wp_kses_post(' item<span>s</span> found'); ?></p>
1225 + </div>
503 1226
504 - <table class="top-header-result-table" style="height:500px;">
505 - <thead>
506 - <tr class="has-text-left">
507 - <th><?php esc_html_e('Title', 'adminify'); ?></th>
508 - <th><?php esc_html_e('Type', 'adminify'); ?></th>
509 - <th><?php esc_html_e('User', 'adminify'); ?></th>
510 - <th><?php esc_html_e('Date', 'adminify'); ?></th>
511 - </tr>
512 - </thead>
513 - <tbody>
1227 +<?php
1228 + }
1229 +
1230 + /* Remove from the administration bar */
1231 + public function jltma_adminify_remove_admin_bar_menus()
1232 + {
1233 + global $wp_admin_bar ;
1234 + $restricted_user = ( !empty($this->options['admin_bar_user_roles']) ? $this->options['admin_bar_user_roles'] : '' );
1235 + if ( $restricted_user ) {
1236 +
1237 + if ( Utils::restrict_for( $this->options['admin_bar_user_roles'] ) ) {
1238 + $wp_admin_bar->remove_menu( 'new-content' );
1239 + return;
1240 + }
1241 +
1242 + }
1243 + $wp_admin_bar->remove_menu( 'wp-logo' );
1244 + $wp_admin_bar->remove_menu( 'site-name' );
1245 + $wp_admin_bar->remove_menu( 'updates' );
1246 + $wp_admin_bar->remove_menu( 'menu-toggle' );
1247 + $wp_admin_bar->remove_menu( 'top-secondary' );
1248 + }
514 1249
515 - <?php
516 - foreach ($foundposts as $item) {
517 - $author_id = $item->post_author;
518 - $editurl = get_edit_post_link($item);
519 - $public = get_permalink($item);
520 - ?>
521 - <tr>
522 - <td><span class="table-title"><a href="<?php echo esc_url($editurl); ?>"><?php echo wp_kses_post(get_the_title($item)); ?></a></span></td>
523 - <td><span class="type"><?php echo wp_kses_post(get_post_type($item)); ?></span></td>
524 - <td><span class="user"><?php echo wp_kses_post(the_author_meta('user_login', $author_id)); ?></span></td>
525 - <td><span class="date"><?php echo wp_kses_post(get_the_date(get_option('date_format'), $item)); ?></span></td>
526 - </tr>
527 - <?php } ?>
528 -
529 - <?php
530 - foreach ($all_taxonomies as $tax_name) {
531 - $terms = get_terms(
532 - [
533 - 'taxonomy' => $tax_name,
534 - 'hide_empty' => 1,
535 - ]
536 - );
537 - foreach ($terms as $cat) {
538 - if (strpos(strtolower($cat->name), strtolower($term)) === false) {
539 - continue;
540 - }
541 - // $user = get_userdata($cat->term_id);
542 - ?>
543 - <tr>
544 - <td>
545 - <span class="table-title">
546 - <a href="<?php echo esc_url(get_term_link($cat->slug, $cat->taxonomy)); ?>">
547 - <?php echo esc_html($cat->name); ?>
548 - </a>
549 - </span>
550 - </td>
551 - <td>
552 - <span class="type"><?php echo esc_html($cat->taxonomy); ?></span>
553 - </td>
554 - <td>
555 - <span class="user">
556 - <?php esc_html_e('N/A', 'adminify'); ?>
557 - </span>
558 - </td>
559 - <td>
560 - <span class="date">
561 - <?php esc_html_e('N/A', 'adminify'); ?>
562 - </span>
563 - </td>
564 - <td>
565 - </td>
566 - </tr>
567 - <?php
568 - }
569 - }
570 - ?>
571 -
572 -
573 - <!-- Get Comments -->
574 - <?php
575 - foreach ($all_comments as $comment) {
576 - if (strpos(strtolower($comment->comment_content), strtolower($term)) === false) {
577 - continue;
578 - }
579 - ?>
580 - <tr>
581 - <td>
582 - <span class="table-title">
583 - <a href="<?php echo esc_url(admin_url('comment.php?action=editcomment&c=' . esc_attr($comment->comment_ID))); ?>">
584 - <?php echo wp_kses_post($comment->comment_content); ?>
585 - </a>
586 - </span>
587 - </td>
588 - <td>
589 - <span class="type">
590 - <?php echo wp_kses_post(ucwords($comment->comment_type)); ?>
591 - </span>
592 - </td>
593 - <td>
594 - <span class="user">
595 - <?php echo wp_kses_post(the_author_meta('display_name', $comment->user_id)); ?>
596 - </span>
597 - </td>
598 - <td>
599 - <span class="date">
600 - <?php echo esc_html(get_the_date(get_option('date_format'), $comment->comment_date)); ?>
601 - </span>
602 - </td>
603 - </tr>
604 - <?php } ?>
605 -
606 -
607 -
608 - <!-- Get Users -->
609 - <?php
610 -
611 - foreach ($all_users as $user) {
612 - if (strpos(strtolower($user->user_login), strtolower($term)) === false) {
613 - continue;
614 - }
615 - ?>
616 - <tr>
617 - <td>
618 - <span class="table-title">
619 - <a href="<?php echo esc_url(admin_url('user-edit.php?user_id=' . $user->ID)); ?>">
620 - <?php echo esc_html($user->display_name); ?>
621 - </a>
622 - </span>
623 - </td>
624 - <td>
625 - <span class="type">
626 - <?php echo wp_kses_post(ucwords($comment->comment_type)); ?>
627 - </span>
628 - </td>
629 - <td>
630 - <span class="user">
631 - <?php echo wp_kses_post(the_author_meta('display_name', $comment->user_id)); ?>
632 - </span>
633 - </td>
634 - <td>
635 - <span class="date">
636 - <?php echo wp_kses_post(get_the_date(get_option('date_format'), $user->user_registered)); ?>
637 - </span>
638 - </td>
639 - </tr>
640 - <?php } ?>
641 -
642 -
643 -
644 - <!-- Get Plugins -->
645 - <?php
646 - foreach ($all_plugins as $plugin) {
647 - if (strpos(strtolower($plugin['Name']), strtolower($term)) === false) {
648 - continue;
649 - }
650 - ?>
651 - <tr>
652 - <td>
653 - <span class="table-title">
654 - <a href="<?php echo esc_url(admin_url('plugins.php')); ?>">
655 - <?php echo esc_html($plugin['Name']); ?>
656 - </a>
657 - </span>
658 - </td>
659 - <td>
660 - <span class="type">
661 - <?php esc_html_e('Plugin', 'adminify'); ?>
662 - </span>
663 - </td>
664 - <td>
665 - <span class="user">
666 - <?php echo esc_html($plugin['AuthorName']); ?>
667 - </span>
668 - </td>
669 - <td>
670 - <span class="date">
671 - <?php esc_html_e('N/A', 'adminify'); ?>
672 - </span>
673 - </td>
674 - </tr>
675 - <?php } ?>
676 -
677 -
678 - </tbody>
679 - </table>
680 -
681 -
682 - <?php
683 -
684 - // $output_data = ob_get_clean();
685 -
686 - // $output_data = [
687 - // 'foundposts' => $foundposts,
688 - // 'all_taxonomies' => $all_taxonomies,
689 - // 'all_comments' => $all_comments,
690 - // 'all_users' => $all_users,
691 - // 'all_plugins' => $all_plugins,
692 - // ];
693 - // echo json_encode($output_data);
694 - echo wp_json_encode($foundposts);
695 - wp_send_json_success(
696 - [
697 - 'data' => $foundposts,
698 - ]
699 - );
700 - }
701 -
702 - die();
703 - }
704 -
705 - /**
706 - * Set URL to All Post
707 - */
708 - public function set_edit_url_foundposts($foundposts)
709 - {
710 - $all_posts = [];
711 - foreach ($foundposts as $key => $post) {
712 - $edit_url = get_edit_post_link($post);
713 - $all_posts[$key]['title'] = get_the_title($post->ID);
714 - $all_posts[$key]['link'] = $edit_url;
715 - }
716 -
717 - return $all_posts;
718 - }
719 -
720 - /**
721 - * Search Taxonomies
722 - */
723 - public function filter_all_taxonomies($all_taxonomies, $search_text)
724 - {
725 - $find_taxonomies = [];
726 -
727 - foreach ($all_taxonomies as $tax_name) {
728 - $terms = get_terms(
729 - [
730 - 'taxonomy' => $tax_name,
731 - 'hide_empty' => 1,
732 - ]
733 - );
734 -
735 - foreach ($terms as $key => $cat) {
736 - if (strpos(strtolower($cat->name), strtolower($search_text)) === false) {
737 - continue;
738 - }
739 - $find_taxonomies[$key]['name'] = $cat->name;
740 - $find_taxonomies[$key]['link'] = get_edit_term_link($cat);
741 - }
742 - }
743 -
744 - return $find_taxonomies;
745 - }
746 -
747 - /**
748 - * Search Comments
749 - */
750 - public function filter_all_comments($all_comments, $search_text)
751 - {
752 - $find_comments = [];
753 -
754 - foreach ($all_comments as $key => $comment) {
755 - if (strpos(strtolower($comment->comment_content), strtolower($search_text)) === false) {
756 - continue;
757 - }
758 - $find_comments[$key]['content'] = $comment->comment_content;
759 - $find_comments[$key]['link'] = admin_url('comment.php?action=editcomment&c=' . esc_attr($comment->comment_ID));
760 - }
761 -
762 - return $find_comments;
763 - }
764 -
765 - /**
766 - * Search Users
767 - */
768 - public function filter_all_users($all_users, $search_text)
769 - {
770 - $find_users = [];
771 -
772 - foreach ($all_users as $key => $user) {
773 - if (str_contains(strtolower($user->data->user_login), strtolower($search_text)) || str_contains(strtolower($user->data->display_name), strtolower($search_text))) {
774 - $find_users[$key]['name'] = $user->data->user_login;
775 - $find_users[$key]['display_name'] = $user->data->display_name;
776 - $find_users[$key]['link'] = admin_url('user-edit.php?user_id=' . $user->ID);
777 - }
778 - }
779 -
780 - return $find_users;
781 - }
782 -
783 - /**
784 - * Search Plugins
785 - */
786 - public function filter_all_plugins($all_plugins, $search_text)
787 - {
788 - $find_plugins = [];
789 -
790 - foreach ($all_plugins as $key => $plugin) {
791 - if (strpos(strtolower($plugin['Name']), strtolower($search_text)) === false) {
792 - continue;
793 - }
794 -
795 - $find_plugins[] = [
796 - 'name' => $plugin['Name'],
797 - 'link' => admin_url('plugins.php')
798 - ];
799 - }
800 -
801 - return $find_plugins;
802 - }
803 -
804 - // Admin Bar Body Class
805 - public function admin_bar_body_class($classes)
806 - {
807 - if (is_admin()) {
808 - $classes .= ' wp-adminify-admin-bar';
809 -
810 - $admin_bar_position = !empty($this->options['admin_bar_position']) ? $this->options['admin_bar_position'] : 'top';
811 - if ($admin_bar_position === 'top') {
812 - $classes .= ' position-top';
813 - } elseif ($admin_bar_position === 'bottom') {
814 - $classes .= ' position-bottom';
815 - }
816 -
817 - if (!empty($this->options['enable_admin_bar'])) {
818 - $classes .= ' topbar-disabled';
819 - }
820 - } else {
821 - global $pagenow;
822 -
823 - if (!is_user_logged_in() && $pagenow != 'wp-login.php') {
824 - return $classes;
825 - }
826 -
827 - $classes[] = 'wp-adminify-admin-bar';
828 -
829 - $admin_bar_position = !empty($this->options['admin_bar_position']) ? $this->options['admin_bar_position'] : 'top';
830 - if ($admin_bar_position === 'top') {
831 - $classes[] = 'admin-bar-position-top';
832 - } elseif ($admin_bar_position === 'bottom') {
833 - $classes[] = 'admin-bar-position-bottom';
834 - }
835 -
836 - if (!empty($this->options['enable_admin_bar'])) {
837 - $classes[] = 'topbar-disabled';
838 - }
839 - }
840 -
841 - return $classes;
842 - }
843 -
844 - public function get_post_types()
845 - {
846 - if (is_array($this->post_types)) {
847 - return $this->post_types;
848 - } else {
849 - $args = ['public' => true];
850 - $output = 'objects';
851 - $post_types = get_post_types($args, $output);
852 - $this->post_types = $post_types;
853 - return $post_types;
854 - }
855 - }
856 -
857 - public function legacy_admin_bar_positon()
858 - {
859 - if (!empty($this->options['admin_bar_position']) && $this->options['admin_bar_position'] == 'bottom') {
860 -
861 - $pxlbsadminify_thirdparty_css = '';
862 - $pxlbsadminify_thirdparty_css .= 'body.wp-adminify.position-bottom {
863 - margin-top: -28px;
864 - padding-bottom: 28px;
865 - }
866 -
867 - body.wp-adminify.position-bottom.admin-bar #wphead {
868 - padding-top: 0;
869 - }
870 -
871 - body.wp-adminify.position-bottom.admin-bar #footer {
872 - padding-bottom: 28px;
873 - }
874 -
875 - body.wp-adminify.position-bottom #wpadminbar {
876 - top: auto !important;
877 - bottom: 0;
878 - }
879 -
880 - body.wp-adminify.position-bottom #wpadminbar .quicklinks .ab-top-menu .menupop .ab-sub-wrapper {
881 - bottom: 32px;
882 - }
883 -
884 - body.wp-adminify.position-bottom #wpadminbar .quicklinks .ab-top-menu .menupop .ab-sub-wrapper .ab-submenu .menupop .ab-sub-wrapper {
885 - bottom: -9px;
886 - }';
887 - echo '<style>' . esc_html(wp_strip_all_tags($pxlbsadminify_thirdparty_css)) . '</style>';
888 - }
889 - }
890 -
891 - public function add_admin_bar()
892 - {
893 - // For Testing Admin Bar on Setup Wizard
894 - // add_action('admin_head', [$this, 'render_admin_bar']);
895 -
896 - add_action('in_admin_header', [$this, 'render_admin_bar'], -999999999);
897 - // on frontend area
898 - add_action('wp_head', [$this, 'render_admin_bar']);
899 - }
900 -
901 -
902 - public function render_admin_bar()
903 - {
904 -
905 - global $pagenow;
906 - if (!is_user_logged_in() && $pagenow != 'wp-login.php') {
907 - return;
908 - }
909 -
910 - // Check Gutenberg Editor Page
911 - // if (Utils::is_block_editor_page()) {
912 - // return;
913 - // }
914 -
915 - // if (!is_admin_bar_showing()) {
916 - // return false;
917 - // }
918 -
919 - // Remove Adminbar from Gutenberg Block Editor Page
920 - // if (function_exists('is_gutenberg_page') && is_gutenberg_page()) {
921 - // // The Gutenberg plugin is on.
922 - // return;
923 - // }
924 - // if (function_exists('get_current_screen')) {
925 - // $current_screen = get_current_screen();
926 - // if (!empty($current_screen->is_block_editor)) {
927 - // return;
928 - // }
929 - // }
930 -
931 - global $wp_admin_bar;
932 -
933 - if (empty($wp_admin_bar)) {
934 - return false;
935 - }
936 -
937 - $admin_bar_mode = empty($admin_bar_mode['light_dark_mode']['admin_ui_mode']) ? 'light' : $admin_bar_mode['light_dark_mode']['admin_ui_mode'];
938 -
939 - // Light/Dark Mode
940 - $enable_dark_mode = $admin_bar_mode != 'light';
941 -
942 - // Screen Option && Hide WP Links
943 - $enable_screen_tab = Utils::get_user_preference('screen_options_tab');
944 - $enable_help_tab = Utils::get_user_preference('adminify_help_tab');
945 - // $enable_hide_wp_links = Utils::get_user_preference( 'hide_wp_links' );
946 -
947 - // Admin Bar Position
948 - if (!empty($this->options['admin_bar_position']) && $this->options['admin_bar_position'] === 'top') {
949 - $admin_bar_position = 'top_bar';
950 - } elseif (!empty($this->options['admin_bar_position']) && $this->options['admin_bar_position'] === 'bottom') {
951 - $admin_bar_position = 'bottom_bar is-fixed-bottom';
952 - } else {
953 - $admin_bar_position = 'top_bar';
954 - }
955 -
956 - $current_user = wp_get_current_user();
957 -
958 - ob_start();
959 -
960 - // Temporarily removing Topbar
961 - // <div class="wp-adminify-topbar-loader"></div>
962 -
963 - // 17-7-23, removed opacity for Conflicting Opacity Issue
964 - // <div class="wp-adminify adminify-top_bar" style="opacity: 0;">
965 - ?>
966 -
967 -
968 -
969 - <div class="wp-adminify adminify-top_bar">
970 - <nav class="navbar adminify-top-navbar <?php echo esc_attr($admin_bar_position); ?>">
971 -
972 - <?php $this->logo(); ?>
973 - <div class="adminify-admin-wrapper">
974 - <div class="adminify-legacy-admin">
975 - <div class="adminify-hamburger navbar-burger" data-target="wp-adminify-top-adminbar">
976 - <svg width="11" height="8" viewBox="0 0 11 8" fill="none" xmlns="http://www.w3.org/2000/svg">
977 - <path d="M7 0H0V1H7V0Z" fill="#48455F" />
978 - <path d="M7 7H0V8H7V7Z" fill="#48455F" />
979 - <path d="M4.67 3.5H0V4.5H4.67V3.5Z" fill="#48455F" />
980 - <path d="M9.65 7.35L6.29 4L9.65 0.65L10.35 1.35L7.71 4L10.35 6.65L9.65 7.35Z" fill="#48455F" />
981 - </svg>
982 - </div>
983 - <?php wp_admin_bar_render(); ?>
984 - </div>
985 -
986 - <div id="wp-adminify-top-adminbar" class="navbar-menu">
987 -
988 - <div class="navbar-end">
989 - <div class="field is-grouped">
990 -
991 - <?php echo wp_kses_post($this->dark_mode_switcher_dom()) ?>
992 -
993 - <?php if (!empty($this->options['admin_bar_notif'])) { ?>
994 - <div class="wp-adminify--top--comment">
995 - <button class="comment-trigger is-clickable">
996 - <div class="topbar-icon">
997 - <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
998 - <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)" />
999 - </svg>
1000 - </div>
1001 - <span class="comment-counter">
1002 - <?php
1003 - $comments_count = wp_count_comments();
1004 - echo esc_html($comments_count->moderated);
1005 - ?>
1006 - </span>
1007 - </button>
1008 - </div>
1009 -
1010 - <?php
1011 - }
1012 - ?>
1013 -
1014 - <div class="wp-adminify--preview">
1015 - <a class="preview-trigger is-clickable" href="<?php echo esc_url(get_home_url()); ?>" target="_blank">
1016 - <i class="dashicons dashicons-visibility"></i>
1017 - </a>
1018 - </div>
1019 -
1020 - <div class="wp-adminify--user--account">
1021 - <button class="user-avatar is-clickable">
1022 - <div class="image is-45x45">
1023 - <?php echo get_avatar($current_user->user_email, 45, '', '', ['class' => 'is-rounded']); ?>
1024 - </div>
1025 - <span class="user-status tag p-0 is-rounded"></span>
1026 - </button>
1027 -
1028 - <?php if (!empty($this->adminify_ui)) { ?>
1029 - <div class="wp-adminify--user--wrapper">
1030 - <div class="wp-adminify-user-info">
1031 - <h3 class="wp-adminify-user-name">
1032 - <?php echo esc_html($current_user->display_name); ?>
1033 - </h3>
1034 - <span><?php echo wp_kses_post(is_email($current_user->user_email)); ?></span>
1035 -
1036 - <ul>
1037 - <hr>
1038 - <li>
1039 - <a href="<?php echo esc_url(admin_url('profile.php')); ?>">
1040 - <svg class="wp-adminify-profile-icon" width="16" height="18" viewBox="0 0 16 18" fill="none" xmlns="http://www.w3.org/2000/svg">
1041 - <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>
1042 - </svg>
1043 - <span><?php esc_html_e('View Profile', 'adminify'); ?></span>
1044 - </a>
1045 - </li>
1046 - <hr>
1047 - <li>
1048 - <a href="<?php echo esc_url(wp_logout_url(home_url())); ?>" class="wp-adminify-logout">
1049 - <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
1050 - <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>
1051 - </svg>
1052 - <span><?php echo esc_html__('Log Out', 'adminify'); ?></span>
1053 - </a>
1054 - </li>
1055 - </ul>
1056 - </div>
1057 - </div>
1058 - <?php } ?>
1059 - </div>
1060 - </div>
1061 - </div>
1062 - </div>
1063 - </div>
1064 - </nav>
1065 - </div>
1066 -
1067 - <?php
1068 - $output_wp_admin_bar = ob_get_clean();
1069 - echo wp_kses( $output_wp_admin_bar, Utils::kses_allowed_html() );
1070 - }
1071 -
1072 - public function logo()
1073 - {
1074 - global $wp_admin_bar;
1075 - $adminurl = get_admin_url();
1076 - $homeurl = $adminurl;
1077 -
1078 - // Light Logo
1079 - // menu_layout_settings.layout_type / .menu_mode were read here
1080 - // previously but the resulting locals were never used
1081 - // downstream. Removed because layout_type === 'horizontal' is
1082 - // a Pro-only feature whose handler now lives in
1083 - // Pro/Classes/OutputCSS_Body_Pro.php.
1084 - $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';
1085 -
1086 - $light_mode = !empty($this->options['light_dark_mode']['admin_ui_light_mode']) ? $this->options['light_dark_mode']['admin_ui_light_mode'] : '';
1087 -
1088 - $light_logo = '';
1089 - $light_mini_logo = '';
1090 - if ($admin_ui_logo_type == 'image_logo') {
1091 - if (isset($light_mode['mini_admin_ui_light_logo']['url']) && $light_mode['mini_admin_ui_light_logo']['url']) {
1092 - $light_mini_logo = $light_mode['mini_admin_ui_light_logo']['url'];
1093 - } else {
1094 - $light_mini_logo = PXLBSADMINIFY_ASSETS_IMAGE . 'logos/mini-logo-light.svg';
1095 - }
1096 -
1097 - // Logo Image
1098 - if (!empty($light_mode['admin_ui_light_logo']['url'])) {
1099 - $light_logo = $light_mode['admin_ui_light_logo']['url'];
1100 - } else {
1101 - $light_logo = PXLBSADMINIFY_ASSETS_IMAGE . 'logos/logo-text-light.svg';
1102 - }
1103 - } elseif ($admin_ui_logo_type == 'text_logo') {
1104 - // Text Logo
1105 - if ($this->options['light_dark_mode']['admin_ui_mode'] == 'light') {
1106 - $text_logo = $light_mode['admin_ui_light_logo_text'];
1107 - }
1108 - }
1109 -
1110 - // Logo Size
1111 - $light_width = !empty($light_mode['light_logo_size']['width']) ? $light_mode['light_logo_size']['width'] : '120';
1112 - $light_height = !empty($light_mode['light_logo_size']['height']) ? $light_mode['light_logo_size']['height'] : '32';
1113 -
1114 - // Dark Logo
1115 - $dark_mode = !empty($this->options['light_dark_mode']['admin_ui_dark_mode']) ? $this->options['light_dark_mode']['admin_ui_dark_mode'] : '';
1116 -
1117 - $dark_logo = '';
1118 - $dark_mini_logo = '';
1119 - if ($admin_ui_logo_type == 'image_logo') {
1120 - if (isset($dark_mode['mini_admin_ui_dark_logo']['url']) && $dark_mode['mini_admin_ui_dark_logo']['url']) {
1121 - $dark_mini_logo = $dark_mode['mini_admin_ui_dark_logo']['url'];
1122 - } else {
1123 - $dark_mini_logo = PXLBSADMINIFY_ASSETS_IMAGE . 'logos/mini-logo-dark.svg';
1124 - }
1125 - // Dark Logo Image
1126 - if (isset($dark_mode['admin_ui_dark_logo']['url']) && $dark_mode['admin_ui_dark_logo']['url']) {
1127 - $dark_logo = $dark_mode['admin_ui_dark_logo']['url'];
1128 - } else {
1129 - $dark_logo = PXLBSADMINIFY_ASSETS_IMAGE . 'logos/logo-text-dark.svg';
1130 - }
1131 - } elseif ($admin_ui_logo_type == 'text_logo') {
1132 - // Text Logo
1133 - if ($this->options['light_dark_mode']['admin_ui_mode'] == 'dark') {
1134 - $text_logo = $dark_mode['admin_ui_dark_logo_text'];
1135 - }
1136 - }
1137 -
1138 - // Dark Logo Size
1139 - $dark_width = !empty($dark_mode['dark_logo_size']['width']) ? $dark_mode['dark_logo_size']['width'] : '120';
1140 - $dark_height = !empty($dark_mode['dark_logo_size']['height']) ? $dark_mode['dark_logo_size']['height'] : '32';
1141 -
1142 - ?>
1143 -
1144 - <div class="navbar-brand">
1145 - <a class="navbar-item p-0" href="<?php echo esc_url($homeurl); ?>">
1146 - <?php if ($admin_ui_logo_type == 'image_logo') { ?>
1147 - <!-- Light Logo -->
1148 - <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); ?>">
1149 - <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">
1150 - <!-- Dark Logo -->
1151 - <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); ?>">
1152 - <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">
1153 - <?php } elseif ($admin_ui_logo_type == 'text_logo') { ?>
1154 - <span class="wp-adminify-site-name">
1155 - <?php echo esc_html($text_logo); ?>
1156 - </span>
1157 - <?php } ?>
1158 - </a>
1159 -
1160 - <!-- <div class="navbar-burger" data-target="wp-adminify-top-adminbar">
1161 - <img src="<?php // echo PXLBSADMINIFY_ASSETS_IMAGE . 'icons/toggol.svg';
1162 - ?>" alt="Toggol icon"/>
1163 - </div> -->
1164 -
1165 - </div>
1166 -
1167 -<?php
1168 - }
1169 -
1170 -
1171 - /* Remove from the administration bar */
1172 - public function remove_admin_bar_menus()
1173 - {
1174 - global $wp_admin_bar;
1175 - $wp_admin_bar->remove_menu('wp-logo');
1176 - $wp_admin_bar->remove_menu('site-name');
1177 - $wp_admin_bar->remove_menu('updates');
1178 - $wp_admin_bar->remove_menu('menu-toggle');
1179 - }
1180 -}
1250 +}