add OC_Cache::clear
This commit is contained in:
parent
10eef49c3c
commit
e11bf460e0
2 changed files with 26 additions and 4 deletions
|
@ -37,4 +37,11 @@ class OC_Cache {
|
||||||
return self::$cache->remove($key);
|
return self::$cache->remove($key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static public function clear() {
|
||||||
|
if (!self::$cache) {
|
||||||
|
self::init();
|
||||||
|
}
|
||||||
|
return self::$cache->clear();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
23
lib/cache/file.php
vendored
23
lib/cache/file.php
vendored
|
@ -7,7 +7,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
class OC_Cache_File extends OC_Cache {
|
class OC_Cache_File{
|
||||||
protected function getStorage() {
|
protected function getStorage() {
|
||||||
if(OC_User::isLoggedIn()){
|
if(OC_User::isLoggedIn()){
|
||||||
$subdir = 'cache';
|
$subdir = 'cache';
|
||||||
|
@ -24,7 +24,7 @@ class OC_Cache_File extends OC_Cache {
|
||||||
|
|
||||||
public function get($key) {
|
public function get($key) {
|
||||||
$storage = $this->getStorage();
|
$storage = $this->getStorage();
|
||||||
if ($storage->is_file($key)) {
|
if ($storage and $storage->is_file($key)) {
|
||||||
$mtime = $storage->filemtime($key);
|
$mtime = $storage->filemtime($key);
|
||||||
if ($mtime < time()) {
|
if ($mtime < time()) {
|
||||||
$storage->unlink($key);
|
$storage->unlink($key);
|
||||||
|
@ -35,9 +35,9 @@ class OC_Cache_File extends OC_Cache {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function set($key, $value, $ttl) {
|
public function set($key, $value, $ttl=0) {
|
||||||
$storage = $this->getStorage();
|
$storage = $this->getStorage();
|
||||||
if ($storage->file_put_contents($key, $value)) {
|
if ($storage and $storage->file_put_contents($key, $value)) {
|
||||||
return $storage->touch($key, time() + $ttl);
|
return $storage->touch($key, time() + $ttl);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -45,6 +45,21 @@ class OC_Cache_File extends OC_Cache {
|
||||||
|
|
||||||
public function remove($key) {
|
public function remove($key) {
|
||||||
$storage = $this->getStorage();
|
$storage = $this->getStorage();
|
||||||
|
if(!$storage){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
return $storage->unlink($key);
|
return $storage->unlink($key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function clear(){
|
||||||
|
$storage = $this->getStorage();
|
||||||
|
if($storage and $storage->is_dir('/')){
|
||||||
|
$dh=$storage->opendir('/');
|
||||||
|
while($file=readdir($dh)){
|
||||||
|
if($file!='.' and $file!='..'){
|
||||||
|
$storage->unlink('/'.$file);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue