diff options
| author | Simon McFarlane <simon@piston.pw> | 2015-06-01 16:08:19 -0700 |
|---|---|---|
| committer | Simon McFarlane <simon@piston.pw> | 2015-06-01 16:08:19 -0700 |
| commit | 209bc5400144e448e95a68e01d842c6fab53ae71 (patch) | |
| tree | ab4cc6ad241e8daccb546514330d3a5f2906e846 /inc/cache.php | |
| parent | d1c1e5a589f30d640f5eb6303e7059105a6297f8 (diff) | |
| parent | 7ab9cc43d101ed002bce392beefe1c435ab2d5b1 (diff) | |
Merge pull request #18 from lainchan/vichan-merge
Merge with the latest upstream vichan
Diffstat (limited to 'inc/cache.php')
| -rw-r--r-- | inc/cache.php | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/inc/cache.php b/inc/cache.php index d1200919..852aefa2 100644 --- a/inc/cache.php +++ b/inc/cache.php @@ -50,6 +50,17 @@ class Cache { case 'php': $data = isset(self::$cache[$key]) ? self::$cache[$key] : false; break; + case 'fs': + $key = str_replace('/', '::', $key); + $key = str_replace("\0", '', $key); + if (!file_exists('tmp/cache/'.$key)) { + $data = false; + } + else { + $data = file_get_contents('tmp/cache/'.$key); + $data = json_decode($data, true); + } + break; case 'redis': if (!self::$cache) self::init(); @@ -87,6 +98,11 @@ class Cache { case 'xcache': xcache_set($key, $value, $expires); break; + case 'fs': + $key = str_replace('/', '::', $key); + $key = str_replace("\0", '', $key); + file_put_contents('tmp/cache/'.$key, json_encode($value)); + break; case 'php': self::$cache[$key] = $value; break; @@ -113,6 +129,11 @@ class Cache { case 'xcache': xcache_unset($key); break; + case 'fs': + $key = str_replace('/', '::', $key); + $key = str_replace("\0", '', $key); + @unlink('tmp/cache/'.$key); + break; case 'php': unset(self::$cache[$key]); break; @@ -134,6 +155,12 @@ class Cache { case 'php': self::$cache = array(); break; + case 'fs': + $files = glob('tmp/cache/*'); + foreach ($files as $file) { + unlink($file); + } + break; case 'redis': if (!self::$cache) self::init(); |
