PluginProbe ʕ •ᴥ•ʔ
Advanced Access Manager – Access Governance for WordPress / trunk
Advanced Access Manager – Access Governance for WordPress vtrunk
6.8.4 6.8.5 6.9.0 6.9.1 6.9.10 6.9.11 6.9.12 6.9.13 6.9.14 6.9.15 6.9.16 6.9.17 6.9.18 6.9.19 6.9.2 6.9.20 6.9.21 6.9.22 6.9.23 6.9.24 6.9.25 6.9.26 6.9.27 6.9.28 6.9.29 6.9.3 6.9.30 6.9.31 6.9.32 6.9.33 6.9.34 6.9.35 6.9.36 6.9.37 6.9.38 6.9.39 6.9.4 6.9.41 6.9.42 6.9.43 6.9.44 6.9.45 6.9.46 6.9.47 6.9.48 6.9.49 6.9.5 6.9.51 6.9.6 6.9.7 6.9.8 6.9.9 7.0.0 7.0.0-alpha.6 7.0.0-alpha.7 7.0.0-beta.1 7.0.0-rc1 7.0.0-rc2 7.0.0-rc3 7.0.1 7.0.10 7.0.11 7.0.2 7.0.3 7.0.4 7.0.5 7.0.6 7.0.7 7.0.8 7.0.9 7.1.0 7.1.1 trunk 3.0 4.0 4.0.1 4.1 4.2 4.3 4.4 4.4.1 4.5 4.6 4.6.1 4.6.2 4.7 4.7.1 4.7.2 4.7.5 4.7.6 4.8 4.8.1 4.9 4.9.1 4.9.2 4.9.3 4.9.4 4.9.5 4.9.5.1 4.9.5.2 5.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1 5.1.1 5.10 5.11 5.2 5.2.1 5.2.5 5.2.6 5.2.7 5.3 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.4 5.4.1 5.4.2 5.4.3 5.4.3.1 5.4.3.2 5.5 5.5.1 5.5.2 5.6 5.6.1 5.6.1.1 5.7 5.7.1 5.7.2 5.7.3 5.8 5.8.1 5.8.2 5.8.3 5.9 5.9.1 5.9.1.1 5.9.2 5.9.2.1 5.9.3 5.9.4 5.9.5 5.9.6 5.9.6.1 5.9.6.2 5.9.6.3 5.9.7 5.9.7.1 5.9.7.2 5.9.7.3 5.9.8 5.9.8.1 5.9.9 5.9.9.1 6.0.0 6.0.1 6.0.2 6.0.3 6.0.4 6.0.5 6.1.0 6.1.1 6.2.0 6.2.1 6.2.2 6.3.0 6.3.1 6.3.2 6.3.3 6.4.0 6.4.1 6.4.2 6.4.3 6.5.0 6.5.1 6.5.2 6.5.3 6.5.4 6.6.0 6.6.1 6.6.2 6.6.3 6.6.4 6.7.0 6.7.1 6.7.2 6.7.3 6.7.4 6.7.5 6.7.6 6.7.7 6.7.8 6.7.9 6.8.0 6.8.1 6.8.2 6.8.3
advanced-access-manager / application / Service / AdminToolbar.php
advanced-access-manager / application / Service Last commit date
Shortcode 5 months ago AccessDeniedRedirect.php 1 year ago AdminToolbar.php 1 year ago ApiRoute.php 1 year ago BackendMenu.php 1 year ago BaseTrait.php 1 year ago Capability.php 1 year ago Content.php 5 months ago Core.php 10 months ago Hooks.php 1 year ago Identity.php 3 months ago Jwt.php 3 months ago LoginRedirect.php 1 year ago LogoutRedirect.php 3 months ago Metaboxes.php 1 year ago NotFoundRedirect.php 1 year ago Policies.php 1 year ago SecureLogin.php 1 year ago SecurityAudit.php 1 year ago Shortcodes.php 5 months ago Urls.php 1 year ago Welcome.php 1 year ago Widgets.php 1 year ago
AdminToolbar.php
100 lines
1 <?php
2
3 /**
4 * ======================================================================
5 * LICENSE: This file is subject to the terms and conditions defined in *
6 * file 'license.txt', which is part of this source code package. *
7 * ======================================================================
8 */
9
10 /**
11 * Toolbar service
12 *
13 * @package AAM
14 * @version 7.0.0
15 */
16 class AAM_Service_AdminToolbar
17 {
18
19 use AAM_Service_BaseTrait;
20
21 /**
22 * Constructor
23 *
24 * @return void
25 * @access protected
26 *
27 * @version 7.0.4
28 */
29 protected function __construct()
30 {
31 // Register RESTful API endpoints
32 AAM_Restful_AdminToolbar::bootstrap();
33
34 add_action('init', function() {
35 $this->initialize_hooks();
36 }, PHP_INT_MAX);
37 }
38
39 /**
40 * Initialize Admin Toolbar hooks
41 *
42 * @return void
43 * @access protected
44 *
45 * @version 7.0.4
46 */
47 protected function initialize_hooks()
48 {
49 if (is_admin()) {
50 add_action('aam_initialize_ui_action', function () {
51 AAM_Backend_Feature_Main_AdminToolbar::register();
52 });
53 }
54
55 // Cache admin toolbar
56 if ((is_admin() && filter_input(INPUT_GET, 'page') === 'aam')) {
57 add_action('wp_after_admin_bar_render', function() {
58 AAM::api()->admin_toolbar()->get_items();
59 });
60 }
61
62 add_action('wp_before_admin_bar_render', function () {
63 $this->_filter_admin_toolbar();
64 }, PHP_INT_MAX, 0, true);
65 }
66
67 /**
68 * Filter admin toolbar
69 *
70 * @return void
71 * @access private
72 *
73 * @version 7.0.0
74 */
75 private function _filter_admin_toolbar()
76 {
77 global $wp_admin_bar;
78
79 $service = AAM::api()->admin_toolbar();
80 $nodes = $wp_admin_bar->get_nodes();
81
82 foreach ((is_array($nodes) ? $nodes : []) as $id => $node) {
83 if (!$node->group && $service->is_denied($id)) {
84 if (!empty($node->parent)) { // update parent node with # link
85 $parent = $wp_admin_bar->get_node($node->parent);
86
87 if ($parent && ($parent->href === $node->href)) {
88 $wp_admin_bar->add_node(array(
89 'id' => $parent->id,
90 'href' => '#'
91 ));
92 }
93 }
94
95 $wp_admin_bar->remove_node($id);
96 }
97 }
98 }
99
100 }