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