PluginProbe ʕ •ᴥ•ʔ
Advanced Access Manager – Access Governance for WordPress / 5.9
Advanced Access Manager – Access Governance for WordPress v5.9
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.php
advanced-access-manager / Application / Core Last commit date
Api 7 years ago ConfigPress 7 years ago Object 7 years ago Policy 7 years ago Subject 7 years ago API.php 7 years ago Cache.php 7 years ago Compatibility.php 7 years ago Config.php 7 years ago ConfigPress.php 7 years ago Console.php 7 years ago Exporter.php 7 years ago Gateway.php 7 years ago Importer.php 7 years ago JwtAuth.php 7 years ago Login.php 7 years ago Media.php 7 years ago Object.php 7 years ago Request.php 7 years ago Server.php 7 years ago Subject.php 7 years ago
Object.php
224 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 * Abstract object class
12 *
13 * @package AAM
14 * @author Vasyl Martyniuk <vasyl@vasyltech.com>
15 */
16 abstract class AAM_Core_Object {
17
18 /**
19 * Subject
20 *
21 * @var AAM_Core_Subject
22 *
23 * @access private
24 */
25 private $_subject = null;
26
27 /**
28 * Object options
29 *
30 * @var array
31 *
32 * @access private
33 */
34 private $_option = array();
35
36 /**
37 * Inheritance indicator
38 *
39 * @var null|string
40 *
41 * @access private
42 */
43 private $_inherited = null;
44
45 /**
46 * Overwritten indicator
47 *
48 * If settings for specific object were detected befor inheritance mechanism
49 * kicked off, then it it considered overwritten
50 *
51 * @var boolean
52 *
53 * @access private
54 */
55 private $_overwritten = false;
56
57 /**
58 * Constructor
59 *
60 * @param AAM_Core_Subject $subject
61 *
62 * @return void
63 *
64 * @access public
65 */
66 public function __construct(AAM_Core_Subject $subject) {
67 $this->setSubject($subject);
68 }
69
70 /**
71 * Read object option
72 *
73 * @return void
74 *
75 * @access public
76 */
77 public function initialize() {}
78
79 /**
80 * Set current subject
81 *
82 * Either it is User or Role
83 *
84 * @param AAM_Core_Subject $subject
85 *
86 * @return void
87 *
88 * @access public
89 */
90 public function setSubject(AAM_Core_Subject $subject) {
91 $this->_subject = $subject;
92 }
93
94 /**
95 * Get Subject
96 *
97 * @return AAM_Core_Subject
98 *
99 * @access public
100 */
101 public function getSubject() {
102 return $this->_subject;
103 }
104
105 /**
106 * Set Object options
107 *
108 * @param mixed $option
109 *
110 * @return void
111 *
112 * @access public
113 */
114 public function setOption($option) {
115 $this->_option = (is_array($option) ? $option : array());
116 }
117
118 /**
119 * Get Object options
120 *
121 * @return mixed
122 *
123 * @access public
124 */
125 public function getOption() {
126 return $this->_option;
127 }
128
129 /**
130 *
131 * @param type $external
132 * @return type
133 */
134 public function mergeOption($external) {
135 return $external;
136 }
137
138 /**
139 * Update single option item
140 *
141 * @param string $item
142 * @param mixed $value
143 *
144 * @return boolean Always true
145 *
146 * @access public
147 */
148 public function updateOptionItem($item, $value) {
149 $option = $this->getOption();
150 $option[$item] = $value;
151 $this->setOption($option);
152
153 return true;
154 }
155
156 /**
157 * Set Inherited flag
158 *
159 * @param string $inherited
160 *
161 * @return void
162 */
163 public function setInherited($inherited) {
164 $this->_inherited = $inherited;
165 }
166
167 /**
168 * Get Inherited flag
169 *
170 * @return null|string
171 *
172 * @access public
173 */
174 public function getInherited() {
175 return $this->_inherited;
176 }
177
178 /**
179 * Set overwritten flat
180 *
181 * @param boolean $overwritten
182 *
183 * @return void
184 *
185 * @access public
186 */
187 public function setOverwritten($overwritten = true) {
188 $this->_overwritten = $overwritten;
189 }
190
191 /**
192 * Check if options are overwritten
193 *
194 * @return boolean
195 *
196 * @access public
197 */
198 public function isOverwritten() {
199 return $this->_overwritten;
200 }
201
202 /**
203 * Check if access is allowed
204 *
205 * @return bool
206 *
207 * @access public
208 */
209 public function allowed() {
210 return !call_user_func_array(array($this, 'has'), func_get_args());
211 }
212
213 /**
214 * Check if access is denied
215 *
216 * @return boolean
217 *
218 * @access public
219 */
220 public function denied() {
221 return call_user_func_array(array($this, 'has'), func_get_args());
222 }
223
224 }