summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Tanghus <thomas@tanghus.net>2012-06-05 20:21:06 +0200
committerThomas Tanghus <thomas@tanghus.net>2012-06-05 20:34:12 +0200
commit098beae751e5bf5995d3afc5b01ed6ca67676f64 (patch)
tree9fcbdbc7a2a370a6f820995d210acb365effcfee
parent9dbb07b806c3795d1910f6998c644977d06746e2 (diff)
downloadnextcloud-server-098beae751e5bf5995d3afc5b01ed6ca67676f64.tar.gz
nextcloud-server-098beae751e5bf5995d3afc5b01ed6ca67676f64.zip
Added hasKey() method to OC_Cache.
-rw-r--r--lib/cache.php7
-rw-r--r--lib/cache/file.php22
2 files changed, 22 insertions, 7 deletions
diff --git a/lib/cache.php b/lib/cache.php
index 36cec63aa57..70f11f35518 100644
--- a/lib/cache.php
+++ b/lib/cache.php
@@ -30,6 +30,13 @@ class OC_Cache {
return self::$cache->set($key, $value, $ttl);
}
+ static public function hasKey($key) {
+ if (!self::$cache) {
+ self::init();
+ }
+ return self::$cache->hasKey($key);
+ }
+
static public function remove($key) {
if (!self::$cache) {
self::init();
diff --git a/lib/cache/file.php b/lib/cache/file.php
index 1c97c5be4e2..348389e9ff4 100644
--- a/lib/cache/file.php
+++ b/lib/cache/file.php
@@ -23,13 +23,8 @@ class OC_Cache_File{
}
public function get($key) {
- $storage = $this->getStorage();
- if ($storage and $storage->is_file($key)) {
- $mtime = $storage->filemtime($key);
- if ($mtime < time()) {
- $storage->unlink($key);
- return null;
- }
+ if ($this->hasKey($key)) {
+ $storage = $this->getStorage();
return $storage->file_get_contents($key);
}
return null;
@@ -43,6 +38,19 @@ class OC_Cache_File{
return false;
}
+ public function hasKey($key) {
+ $storage = $this->getStorage();
+ if ($storage->is_file($key)) {
+ $mtime = $storage->filemtime($key);
+ if ($mtime < time()) {
+ $storage->unlink($key);
+ return false;
+ }
+ return true;
+ }
+ return false;
+ }
+
public function remove($key) {
$storage = $this->getStorage();
if(!$storage){