PluginProbe ʕ •ᴥ•ʔ
Advanced Access Manager – Access Governance for WordPress / 5.8.2
Advanced Access Manager – Access Governance for WordPress v5.8.2
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 / Backend / Feature / Main / Toolbar.php
advanced-access-manager / Application / Backend / Feature / Main Last commit date
404Redirect.php 7 years ago Capability.php 7 years ago GetStarted.php 7 years ago LoginRedirect.php 7 years ago LogoutRedirect.php 7 years ago Menu.php 7 years ago Metabox.php 7 years ago Policy.php 7 years ago Post.php 7 years ago Redirect.php 7 years ago Route.php 7 years ago Toolbar.php 7 years ago Uri.php 7 years ago
Toolbar.php
136 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 * Backend menu manager
12 *
13 * @package AAM
14 * @author Vasyl Martyniuk <vasyl@vasyltech.com>
15 */
16 class AAM_Backend_Feature_Main_Toolbar extends AAM_Backend_Feature_Abstract {
17
18 /**
19 * Undocumented function
20 *
21 * @return void
22 */
23 public function save() {
24 $items = AAM_Core_Request::post('items', array());
25 $status = AAM_Core_Request::post('status');
26
27 $object = AAM_Backend_Subject::getInstance()->getObject('toolbar');
28
29 foreach($items as $item) {
30 $object->updateOptionItem($item, $status);
31 }
32
33 $object->save();
34
35 return wp_json_encode(array('status' => 'success'));
36 }
37
38 /**
39 * Get subject's menu
40 *
41 * Based on the list of capabilities that current subject has, prepare
42 * complete menu list and return it.
43 *
44 * @return array
45 *
46 * @access public
47 * @global array $menu
48 */
49 public function getToolbar() {
50 return json_decode(base64_decode(AAM_Core_Request::post('toolbar')));
51 }
52
53 /**
54 *
55 * @param type $branch
56 * @return type
57 */
58 public function getAllChildren($branch) {
59 $children = array();
60
61 foreach($branch->children as $child) {
62 if (empty($child->type) || !in_array($child->type, array('container', 'group'), true)) {
63 $children[] = $child;
64 }
65 if(!empty($child->children)) {
66 $children = array_merge($children, $this->getAllChildren($child));
67 }
68 }
69
70 return $children;
71 }
72
73 /**
74 *
75 * @param type $node
76 * @return type
77 */
78 public function normalizeTitle($node) {
79 return ucwords(
80 trim(
81 preg_replace(
82 '/[\d]/',
83 '',
84 wp_strip_all_tags(!empty($node->title) ? $node->title : $node->id)
85 )
86 )
87 );
88 }
89
90 /**
91 * @inheritdoc
92 */
93 public static function getTemplate() {
94 return 'main/toolbar.phtml';
95 }
96
97 /**
98 * Check inheritance status
99 *
100 * Check if menu settings are overwritten
101 *
102 * @return boolean
103 *
104 * @access protected
105 */
106 protected function isOverwritten() {
107 $object = AAM_Backend_Subject::getInstance()->getObject('toolbar');
108
109 return $object->isOverwritten();
110 }
111
112 /**
113 * Register Menu feature
114 *
115 * @return void
116 *
117 * @access public
118 */
119 public static function register() {
120 AAM_Backend_Feature::registerFeature((object) array(
121 'uid' => 'toolbar',
122 'position' => 6,
123 'title' => __('Admin Toolbar', AAM_KEY),
124 'capability' => 'aam_manage_admin_toolbar',
125 'type' => 'main',
126 'subjects' => array(
127 AAM_Core_Subject_Role::UID,
128 AAM_Core_Subject_User::UID,
129 AAM_Core_Subject_Default::UID
130 ),
131 'option' => 'core.settings.backendAccessControl,core.settings.frontendAccessControl',
132 'view' => __CLASS__
133 ));
134 }
135
136 }