PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 3.2.4.1
Adminify – White Label, Admin Menu Editor, Login Customizer v3.2.4.1
4.3.1 4.3.0 4.2.26 4.2.25 4.2.24 4.2.23 4.2.22 4.2.21 4.2.20 4.2.19 4.2.18 4.2.17 4.2.16 4.2.15 4.2.14 4.2.13 4.2.12 4.2.11 4.2.10 4.2.9 4.2.8 4.2.7 4.2.6 4.2.5 4.1.17 All 164 releases
adminify / Inc / Classes / AdminBar.php

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

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