PluginProbe ʕ •ᴥ•ʔ
Advanced Access Manager – Access Governance for WordPress / 4.3
Advanced Access Manager – Access Governance for WordPress v4.3
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 / Cache.php
advanced-access-manager / Application / Core Last commit date
Object 9 years ago Subject 9 years ago API.php 9 years ago Cache.php 9 years ago Compatibility.php 9 years ago Config.php 9 years ago ConfigPress.php 9 years ago Console.php 9 years ago Media.php 9 years ago Object.php 9 years ago Request.php 9 years ago Subject.php 9 years ago
Cache.php
136 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 Core Cache
12 *
13 * @package AAM
14 * @author Vasyl Martyniuk <vasyl@vasyltech.com>
15 */
16 class AAM_Core_Cache {
17
18 /**
19 * DB Cache option
20 */
21 const CACHE_OPTION = 'cache';
22
23 /**
24 * Core config
25 *
26 * @var array
27 *
28 * @access protected
29 */
30 protected static $cache = false;
31
32 /**
33 * Update cache flag
34 *
35 * @var boolean
36 *
37 * @access protected
38 */
39 protected static $updated = false;
40
41 /**
42 * Get cached option
43 *
44 * @param string $option
45 *
46 * @return mixed
47 *
48 * @access public
49 */
50 public static function get($option) {
51 return (isset(self::$cache[$option]) ? self::$cache[$option] : null);
52 }
53
54 /**
55 * Set cache option
56 *
57 * @param string $subject
58 * @param string $option
59 * @param mixed $data
60 *
61 * @return void
62 *
63 * @access public
64 */
65 public static function set($subject, $option, $data) {
66 if (!isset(self::$cache[$option]) || (self::$cache[$option] != $data)) {
67 self::$cache[$option] = $data;
68 self::$updated = true;
69 }
70 }
71
72 /**
73 *
74 * @param type $option
75 * @return type
76 */
77 public static function has($option) {
78 return (isset(self::$cache[$option]));
79 }
80
81 /**
82 * Clear cache
83 *
84 * @return void
85 *
86 * @access public
87 * @global WPDB $wpdb
88 */
89 public static function clear() {
90 global $wpdb;
91
92 //clear visitor cache
93 $oquery = "DELETE FROM {$wpdb->options} WHERE `option_name` = %s";
94 $wpdb->query($wpdb->prepare($oquery, 'aam_visitor_cache' ));
95
96 $mquery = "DELETE FROM {$wpdb->usermeta} WHERE `meta_key` = %s";
97 $wpdb->query($wpdb->prepare($mquery, $wpdb->prefix . 'aam_cache' ));
98
99 self::$cache = false;
100
101 //clear updated flag
102 self::$updated = false;
103 }
104
105 /**
106 * Save cache
107 *
108 * Save aam cache but only if changes deleted
109 *
110 * @return void
111 *
112 * @access public
113 */
114 public static function save() {
115 if (self::$updated) {
116 AAM::getUser()->updateOption(self::$cache, self::CACHE_OPTION);
117 }
118 }
119
120 /**
121 * Bootstrap cache
122 *
123 * Do not load cache if user is on AAM page
124 *
125 * @return void
126 *
127 * @access public
128 */
129 public static function bootstrap() {
130 if (!AAM::isAAM()) {
131 self::$cache = AAM::getUser()->readOption(self::CACHE_OPTION);
132 add_action('shutdown', 'AAM_Core_Cache::save');
133 }
134 }
135
136 }