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 / Uri.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
Uri.php
144 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_Uri extends AAM_Backend_Feature_Abstract {
17
18 /**
19 *
20 * @return type
21 */
22 public function getTable() {
23 return wp_json_encode($this->retrieveAllRules());
24 }
25
26 /**
27 *
28 * @return type
29 */
30 public function save() {
31 $uri = filter_input(INPUT_POST, 'uri');
32 $id = filter_input(INPUT_POST, 'id');
33 $type = filter_input(INPUT_POST, 'type');
34 $value = filter_input(INPUT_POST, 'value');
35
36 $object = AAM_Backend_Subject::getInstance()->getObject('uri');
37
38 if (empty($id)) {
39 $id = uniqid();
40 }
41
42 $object->save($id, str_replace(site_url(), '', $uri), $type, $value);
43
44 return wp_json_encode(array('status' => 'success'));
45 }
46
47 /**
48 *
49 * @return type
50 */
51 public function delete() {
52 $id = filter_input(INPUT_POST, 'id');
53 $object = AAM_Backend_Subject::getInstance()->getObject('uri');
54
55 $object->delete($id);
56
57 return wp_json_encode(array('status' => 'success'));
58 }
59
60 /**
61 * @inheritdoc
62 */
63 public static function getTemplate() {
64 return 'main/uri.phtml';
65 }
66
67 /**
68 *
69 * @return type
70 */
71 public function isVisitor() {
72 $subject = AAM_Backend_Subject::getInstance();
73
74 return $subject->getUID() === AAM_Core_Subject_Visitor::UID;
75 }
76
77 /**
78 *
79 * @return type
80 */
81 protected function retrieveAllRules() {
82 $rules = AAM_Backend_Subject::getInstance()->getObject('uri')->getOption();
83
84 $response = array(
85 'recordsTotal' => count($rules),
86 'recordsFiltered' => count($rules),
87 'draw' => AAM_Core_Request::request('draw'),
88 'data' => array(),
89 );
90
91 foreach($rules as $id => $rule) {
92 $response['data'][] = array(
93 $id,
94 $rule['uri'],
95 $rule['type'],
96 $rule['action'],
97 'edit,delete'
98 );
99 }
100
101 return $response;
102 }
103
104 /**
105 * Check inheritance status
106 *
107 * Check if menu settings are overwritten
108 *
109 * @return boolean
110 *
111 * @access protected
112 */
113 protected function isOverwritten() {
114 $object = AAM_Backend_Subject::getInstance()->getObject('uri');
115
116 return $object->isOverwritten();
117 }
118
119 /**
120 * Register Menu feature
121 *
122 * @return void
123 *
124 * @access public
125 */
126 public static function register() {
127 AAM_Backend_Feature::registerFeature((object) array(
128 'uid' => 'uri',
129 'position' => 55,
130 'title' => __('URI Access', AAM_KEY) . '<span class="badge">NEW</span>',
131 'capability' => 'aam_manage_uri',
132 'type' => 'main',
133 'subjects' => array(
134 AAM_Core_Subject_Role::UID,
135 AAM_Core_Subject_User::UID,
136 AAM_Core_Subject_Visitor::UID,
137 AAM_Core_Subject_Default::UID
138 ),
139 'option' => 'core.settings.backendAccessControl,core.settings.frontendAccessControl',
140 'view' => __CLASS__
141 ));
142 }
143
144 }