PluginProbe ʕ •ᴥ•ʔ
Advanced Access Manager – Access Governance for WordPress / 5.4
Advanced Access Manager – Access Governance for WordPress v5.4
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 / Core / Object / Toolbar.php
advanced-access-manager / Application / Core / Object Last commit date
Cache.php 8 years ago Capability.php 8 years ago LoginRedirect.php 8 years ago LogoutRedirect.php 8 years ago Menu.php 8 years ago Metabox.php 8 years ago Post.php 8 years ago Redirect.php 8 years ago Route.php 8 years ago Toolbar.php 8 years ago Visibility.php 8 years ago
Toolbar.php
116 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 * Admin toolbar object
12 *
13 * @package AAM
14 * @author Vasyl Martyniuk <vasyl@vasyltech.com>
15 */
16 class AAM_Core_Object_Toolbar extends AAM_Core_Object {
17
18 /**
19 * Constructor
20 *
21 * @param AAM_Core_Subject $subject
22 *
23 * @return void
24 *
25 * @access public
26 */
27 public function __construct(AAM_Core_Subject $subject) {
28 parent::__construct($subject);
29
30 $option = $this->getSubject()->readOption('toolbar');
31
32 if (empty($option)) {
33 $option = $this->getSubject()->inheritFromParent('toolbar');
34 } else {
35 $this->setOverwritten(true);
36 }
37
38 $this->setOption($option);
39 }
40
41 /**
42 * Check is item defined
43 *
44 * Check if toolbar item defined in options based on the id
45 *
46 * @param string $item
47 *
48 * @return boolean
49 *
50 * @access public
51 */
52 public function has($item, $both = false) {
53 $options = $this->getOption();
54
55 // Step #1. Check if toolbar item is directly restricted
56 $direct = !empty($options[$item]);
57
58 // Step #2. Check if whole branch is restricted
59 $branch = ($both && !empty($options['toolbar-' . $item]));
60
61 return $direct || $branch;
62 }
63
64 /**
65 * Allow access to a specific menu
66 *
67 * @param string $menu
68 *
69 * @return boolean
70 *
71 * @access public
72 */
73 public function allow($menu) {
74 return $this->save($menu, 0);
75 }
76
77 /**
78 * Deny access to a specific menu
79 *
80 * @param string $menu
81 *
82 * @return boolean
83 *
84 * @access public
85 */
86 public function deny($menu) {
87 return $this->save($menu, 1);
88 }
89
90 /**
91 * Save menu option
92 *
93 * @return bool
94 *
95 * @access public
96 */
97 public function save($item = null, $value = null) {
98 if (!is_null($item)) { // keep it compatible with main Manager.save
99 $this->updateOptionItem($item, $value);
100 }
101
102 return $this->getSubject()->updateOption($this->getOption(), 'toolbar');
103 }
104
105 /**
106 * Reset default settings
107 *
108 * @return bool
109 *
110 * @access public
111 */
112 public function reset() {
113 return $this->getSubject()->deleteOption('toolbar');
114 }
115
116 }