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 / 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
226 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
81 /**
82 * Set current subject
83 *
84 * Either it is User or Role
85 *
86 * @param AAM_Core_Subject $subject
87 *
88 * @return void
89 *
90 * @access public
91 */
92 public function setSubject(AAM_Core_Subject $subject) {
93 $this->_subject = $subject;
94 }
95
96 /**
97 * Get Subject
98 *
99 * @return AAM_Core_Subject
100 *
101 * @access public
102 */
103 public function getSubject() {
104 return $this->_subject;
105 }
106
107 /**
108 * Set Object options
109 *
110 * @param mixed $option
111 *
112 * @return void
113 *
114 * @access public
115 */
116 public function setOption($option) {
117 $this->_option = (is_array($option) ? $option : array());
118 }
119
120 /**
121 * Get Object options
122 *
123 * @return mixed
124 *
125 * @access public
126 */
127 public function getOption() {
128 return $this->_option;
129 }
130
131 /**
132 *
133 * @param type $external
134 * @return type
135 */
136 public function mergeOption($external) {
137 return $external;
138 }
139
140 /**
141 * Update single option item
142 *
143 * @param string $item
144 * @param mixed $value
145 *
146 * @return boolean Always true
147 *
148 * @access public
149 */
150 public function updateOptionItem($item, $value) {
151 $option = $this->getOption();
152 $option[$item] = $value;
153 $this->setOption($option);
154
155 return true;
156 }
157
158 /**
159 * Set Inherited flag
160 *
161 * @param string $inherited
162 *
163 * @return void
164 */
165 public function setInherited($inherited) {
166 $this->_inherited = $inherited;
167 }
168
169 /**
170 * Get Inherited flag
171 *
172 * @return null|string
173 *
174 * @access public
175 */
176 public function getInherited() {
177 return $this->_inherited;
178 }
179
180 /**
181 * Set overwritten flat
182 *
183 * @param boolean $overwritten
184 *
185 * @return void
186 *
187 * @access public
188 */
189 public function setOverwritten($overwritten = true) {
190 $this->_overwritten = $overwritten;
191 }
192
193 /**
194 * Check if options are overwritten
195 *
196 * @return boolean
197 *
198 * @access public
199 */
200 public function isOverwritten() {
201 return $this->_overwritten;
202 }
203
204 /**
205 * Check if access is allowed
206 *
207 * @return bool
208 *
209 * @access public
210 */
211 public function allowed() {
212 return !call_user_func_array(array($this, 'has'), func_get_args());
213 }
214
215 /**
216 * Check if access is denied
217 *
218 * @return boolean
219 *
220 * @access public
221 */
222 public function denied() {
223 return call_user_func_array(array($this, 'has'), func_get_args());
224 }
225
226 }