PluginProbe ʕ •ᴥ•ʔ
Advanced Access Manager – Access Governance for WordPress / 5.11
Advanced Access Manager – Access Governance for WordPress v5.11
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 6 years ago Capability.php 6 years ago LoginRedirect.php 6 years ago LogoutRedirect.php 6 years ago Menu.php 6 years ago Metabox.php 6 years ago Policy.php 6 years ago Post.php 6 years ago Redirect.php 6 years ago Route.php 6 years ago Toolbar.php 6 years ago Uri.php 6 years ago Visibility.php 6 years ago
Cache.php
101 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 * Is cache enabled?
20 *
21 * @var boolean
22 *
23 * @access protected
24 */
25 protected $enabled = true;
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 // Determine if cache is enabled
40 $status = AAM_Core_Config::get('core.cache.status', 'enabled');
41
42 if (AAM::isAAM() || ($status !== 'enabled')) {
43 $this->enabled = false;
44 }
45 }
46
47 /**
48 *
49 * @param type $type
50 * @param type $id
51 * @param type $value
52 */
53 public function add($type, $id, $value) {
54 $option = $this->getOption();
55
56 $limit = AAM_Core_Config::get('core.cache.limit', 1000);
57 if (isset($option[$type][$id]) && (count($option[$type][$id]) >= $limit)) {
58 array_shift($option[$type][$id]);
59 }
60
61 $option[$type][$id] = $value;
62 $this->setOption($option);
63 }
64
65 /**
66 * Get cache
67 *
68 * @param string $type
69 * @param string|int $id
70 * @param mixed $default
71 *
72 * @return mixed
73 *
74 * @access public
75 */
76 public function get($type, $id = 0, $default = array()) {
77 $option = $this->getOption();
78
79 return (isset($option[$type][$id]) ? $option[$type][$id] : $default);
80 }
81
82 /**
83 * Save cache
84 *
85 * @return bool
86 *
87 * @access public
88 */
89 public function save() {
90 return true;
91 }
92
93 /**
94 *
95 * @return type
96 */
97 public function reset() {
98 return $this->getSubject()->deleteOption('cache');
99 }
100
101 }