PluginProbe ʕ •ᴥ•ʔ
Advanced Access Manager – Access Governance for WordPress / 5.3.5
Advanced Access Manager – Access Governance for WordPress v5.3.5
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 8 years ago ConfigPress 8 years ago Object 8 years ago Subject 8 years ago API.php 8 years ago Cache.php 8 years ago Compatibility.php 8 years ago Config.php 8 years ago ConfigPress.php 8 years ago Console.php 8 years ago Exporter.php 8 years ago Gateway.php 8 years ago Importer.php 8 years ago JwtAuth.php 8 years ago Login.php 8 years ago Media.php 8 years ago Object.php 8 years ago Request.php 8 years ago Server.php 8 years ago Subject.php 8 years ago
Object.php
206 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 * Set current subject
72 *
73 * Either it is User or Role
74 *
75 * @param AAM_Core_Subject $subject
76 *
77 * @return void
78 *
79 * @access public
80 */
81 public function setSubject(AAM_Core_Subject $subject) {
82 $this->_subject = $subject;
83 }
84
85 /**
86 * Get Subject
87 *
88 * @return AAM_Core_Subject
89 *
90 * @access public
91 */
92 public function getSubject() {
93 return $this->_subject;
94 }
95
96 /**
97 * Set Object options
98 *
99 * @param mixed $option
100 *
101 * @return void
102 *
103 * @access public
104 */
105 public function setOption($option) {
106 $this->_option = (is_array($option) ? $option : array());
107 }
108
109 /**
110 * Get Object options
111 *
112 * @return mixed
113 *
114 * @access public
115 */
116 public function getOption() {
117 return $this->_option;
118 }
119
120 /**
121 * Update single option item
122 *
123 * @param string $item
124 * @param mixed $value
125 *
126 * @return boolean Always true
127 *
128 * @access public
129 */
130 public function updateOptionItem($item, $value) {
131 $option = $this->getOption();
132 $option[$item] = $value;
133 $this->setOption($option);
134
135 return true;
136 }
137
138 /**
139 * Set Inherited flag
140 *
141 * @param string $inherited
142 *
143 * @return void
144 */
145 public function setInherited($inherited) {
146 $this->_inherited = $inherited;
147 }
148
149 /**
150 * Get Inherited flag
151 *
152 * @return null|string
153 *
154 * @access public
155 */
156 public function getInherited() {
157 return $this->_inherited;
158 }
159
160 /**
161 * Set overwritten flat
162 *
163 * @param boolean $overwritten
164 *
165 * @return void
166 *
167 * @access public
168 */
169 public function setOverwritten($overwritten = true) {
170 $this->_overwritten = $overwritten;
171 }
172
173 /**
174 * Check if options are overwritten
175 *
176 * @return boolean
177 *
178 * @access public
179 */
180 public function isOverwritten() {
181 return $this->_overwritten;
182 }
183
184 /**
185 * Check if access is allowed
186 *
187 * @return bool
188 *
189 * @access public
190 */
191 public function allowed() {
192 return !call_user_func_array(array($this, 'has'), func_get_args());
193 }
194
195 /**
196 * Check if access is denied
197 *
198 * @return boolean
199 *
200 * @access public
201 */
202 public function denied() {
203 return call_user_func_array(array($this, 'has'), func_get_args());
204 }
205
206 }