PluginProbe ʕ •ᴥ•ʔ
Advanced Access Manager – Access Governance for WordPress / 5.4
Advanced Access Manager – Access Governance for WordPress v5.4
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 / Cache.php
advanced-access-manager / Application / Core / Object Last commit date
Cache.php 7 years ago Capability.php 7 years ago LoginRedirect.php 7 years ago LogoutRedirect.php 7 years ago Menu.php 7 years ago Metabox.php 7 years ago Post.php 7 years ago Redirect.php 7 years ago Route.php 7 years ago Toolbar.php 7 years ago Visibility.php 7 years ago
Cache.php
121 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 * AAM cache object
12 *
13 * @package AAM
14 * @author Vasyl Martyniuk <vasyl@vasyltech.com>
15 */
16 class AAM_Core_Object_Cache extends AAM_Core_Object {
17
18 /**
19 * Cache updated flag
20 *
21 * @var boolean
22 *
23 * @access protected
24 */
25 protected $updated = false;
26
27 /**
28 * Constructor
29 *
30 * @param AAM_Core_Subject $subject
31 *
32 * @return void
33 *
34 * @access public
35 */
36 public function __construct(AAM_Core_Subject $subject) {
37 parent::__construct($subject);
38
39 if (!AAM::isAAM()
40 && (AAM_Core_Config::get('core.cache.status', 'enabled') == 'enabled')) {
41 // Register shutdown hook
42 add_action('shutdown', array($this, 'save'));
43
44 // Just get the cache from current subject level. Do not trigger
45 // inheritance chain!
46 $this->setOption($this->getSubject()->readOption('cache'));
47 }
48 }
49
50 /**
51 *
52 * @param type $type
53 * @param type $id
54 * @param type $value
55 */
56 public function add($type, $id, $value) {
57 $option = $this->getOption();
58 $option[$type][$id] = $value;
59 $this->setOption($option);
60
61 $this->updated = true;
62 }
63
64 /**
65 * Get cache
66 *
67 * @param string $type
68 * @param string|int $id
69 * @param mixed $default
70 *
71 * @return mixed
72 *
73 * @access public
74 */
75 public function get($type, $id = 0, $default = array()) {
76 $option = $this->getOption();
77
78 return (isset($option[$type][$id]) ? $option[$type][$id] : $default);
79 }
80
81 /**
82 * Save cache
83 *
84 * @return bool
85 *
86 * @access public
87 */
88 public function save() {
89 if ($this->updated) {
90 $this->getSubject()->updateOption($this->getOption(), 'cache');
91 }
92
93 return true;
94 }
95
96 /**
97 *
98 * @return type
99 */
100 public function reset() {
101 return $this->getSubject()->deleteOption('cache');
102 }
103
104 /**
105 * Read object from parent subject
106 *
107 * @return mixed
108 *
109 * @access public
110 */
111 public function inheritFromParent(){
112 if ($subject = $this->getParent()){
113 $option = $subject->getObject('cache')->getOption();
114 } else {
115 $option = array();
116 }
117
118 return $option;
119 }
120
121 }