PluginProbe ʕ •ᴥ•ʔ
Advanced Access Manager – Access Governance for WordPress / 5.3
Advanced Access Manager – Access Governance for WordPress v5.3
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 / Route.php
advanced-access-manager / Application / Backend / Feature / Main Last commit date
404Redirect.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
Route.php
113 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 * WordPress API manager
12 *
13 * @package AAM
14 * @author Vasyl Martyniuk <vasyl@vasyltech.com>
15 */
16 class AAM_Backend_Feature_Main_Route extends AAM_Backend_Feature_Abstract {
17
18 public function getTable() {
19 $response = array('data' => $this->retrieveAllRoutes());
20
21 return json_encode($response);
22 }
23
24 public function save() {
25 $type = filter_input(INPUT_POST, 'type');
26 $route = filter_input(INPUT_POST, 'route');
27 $method = filter_input(INPUT_POST, 'method');
28 $value = filter_input(INPUT_POST, 'value');
29
30 $object = AAM_Backend_Subject::getInstance()->getObject('route');
31
32 $object->save($type, $route, $method, $value);
33
34 return json_encode(array('status' => 'success'));
35 }
36
37 /**
38 * @inheritdoc
39 */
40 public static function getTemplate() {
41 return 'main/route.phtml';
42 }
43
44 /**
45 *
46 * @return type
47 */
48 protected function retrieveAllRoutes() {
49 $response = array();
50 $object = AAM_Backend_Subject::getInstance()->getObject('route');
51 $routes = rest_get_server()->get_routes();
52
53 //build all RESful routes
54 foreach ($routes as $route => $handlers) {
55 $methods = array();
56 foreach($handlers as $handler) {
57 $methods = array_merge($methods, array_keys($handler['methods']));
58 }
59
60 foreach(array_unique($methods) as $method) {
61 $response[] = array(
62 'restful',
63 $method,
64 htmlspecialchars($route),
65 $object->has('restful', $route, $method) ? 'checked' : 'unchecked'
66 );
67 }
68 }
69
70 return $response;
71 }
72
73 /**
74 * Check inheritance status
75 *
76 * Check if menu settings are overwritten
77 *
78 * @return boolean
79 *
80 * @access protected
81 */
82 protected function isOverwritten() {
83 $object = AAM_Backend_Subject::getInstance()->getObject('route');
84
85 return $object->isOverwritten();
86 }
87
88 /**
89 * Register Menu feature
90 *
91 * @return void
92 *
93 * @access public
94 */
95 public static function register() {
96 AAM_Backend_Feature::registerFeature((object) array(
97 'uid' => 'route',
98 'position' => 50,
99 'title' => __('API Routes', AAM_KEY) . ' <span class="badge">NEW</span>',
100 'capability' => 'aam_manage_api_routes',
101 'type' => 'main',
102 'subjects' => array(
103 AAM_Core_Subject_Role::UID,
104 AAM_Core_Subject_User::UID,
105 AAM_Core_Subject_Visitor::UID,
106 AAM_Core_Subject_Default::UID
107 ),
108 'option' => 'core.restful',
109 'view' => __CLASS__
110 ));
111 }
112
113 }