mirror of
https://github.com/RSS-Bridge/rss-bridge.git
synced 2024-11-29 06:38:51 +03:00
[Cache] Move 'purge' function to implementations
The purge function is cache specific and thus belongs to the specific implementation.
This commit is contained in:
parent
51ff8de346
commit
9ac678aac5
4 changed files with 23 additions and 23 deletions
|
@ -34,6 +34,26 @@ class FileCache extends CacheAbstract {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function purgeCache(){
|
||||||
|
$cacheTimeLimit = time() - 86400; // 86400 -> 24h
|
||||||
|
$cachePath = 'cache';
|
||||||
|
if(file_exists($cachePath)){
|
||||||
|
$cacheIterator = new RecursiveIteratorIterator(
|
||||||
|
new RecursiveDirectoryIterator($cachePath),
|
||||||
|
RecursiveIteratorIterator::CHILD_FIRST
|
||||||
|
);
|
||||||
|
|
||||||
|
foreach($cacheIterator as $cacheFile){
|
||||||
|
if(in_array($cacheFile->getBasename(), array('.', '..')))
|
||||||
|
continue;
|
||||||
|
elseif($cacheFile->isFile()){
|
||||||
|
if(filemtime($cacheFile->getPathname()) < $cacheTimeLimit)
|
||||||
|
unlink($cacheFile->getPathname());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cache is prepared ?
|
* Cache is prepared ?
|
||||||
* Note : Cache name is based on request information, then cache must be prepare before use
|
* Note : Cache name is based on request information, then cache must be prepare before use
|
||||||
|
|
|
@ -84,8 +84,6 @@ if(!file_exists($whitelist_file)){
|
||||||
$whitelist_selection = explode("\n", file_get_contents($whitelist_file));
|
$whitelist_selection = explode("\n", file_get_contents($whitelist_file));
|
||||||
}
|
}
|
||||||
|
|
||||||
Cache::purge();
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
Bridge::setDir(__DIR__ . '/bridges/');
|
Bridge::setDir(__DIR__ . '/bridges/');
|
||||||
|
@ -120,6 +118,8 @@ try {
|
||||||
$bridge = Bridge::create($bridge);
|
$bridge = Bridge::create($bridge);
|
||||||
|
|
||||||
$cache = Cache::create('FileCache');
|
$cache = Cache::create('FileCache');
|
||||||
|
$cache->purgeCache();
|
||||||
|
|
||||||
$bridge->setCache($cache);
|
$bridge->setCache($cache);
|
||||||
|
|
||||||
$noproxy = filter_input(INPUT_GET, '_noproxy', FILTER_VALIDATE_BOOLEAN);
|
$noproxy = filter_input(INPUT_GET, '_noproxy', FILTER_VALIDATE_BOOLEAN);
|
||||||
|
|
|
@ -50,25 +50,4 @@ class Cache {
|
||||||
static public function isValidNameCache($nameCache){
|
static public function isValidNameCache($nameCache){
|
||||||
return preg_match('@^[A-Z][a-zA-Z0-9-]*$@', $nameCache);
|
return preg_match('@^[A-Z][a-zA-Z0-9-]*$@', $nameCache);
|
||||||
}
|
}
|
||||||
|
|
||||||
static public function purge(){
|
|
||||||
$cacheTimeLimit = time() - 86400; // 86400 -> 24h
|
|
||||||
$cachePath = 'cache';
|
|
||||||
if(file_exists($cachePath)){
|
|
||||||
$cacheIterator = new RecursiveIteratorIterator(
|
|
||||||
new RecursiveDirectoryIterator($cachePath),
|
|
||||||
RecursiveIteratorIterator::CHILD_FIRST
|
|
||||||
);
|
|
||||||
|
|
||||||
foreach($cacheIterator as $cacheFile){
|
|
||||||
if(in_array($cacheFile->getBasename(), array('.', '..')))
|
|
||||||
continue;
|
|
||||||
elseif($cacheFile->isFile()){
|
|
||||||
if(filemtime($cacheFile->getPathname()) < $cacheTimeLimit)
|
|
||||||
unlink($cacheFile->getPathname());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,4 +3,5 @@ interface CacheInterface {
|
||||||
public function loadData();
|
public function loadData();
|
||||||
public function saveData($datas);
|
public function saveData($datas);
|
||||||
public function getTime();
|
public function getTime();
|
||||||
|
public function purgeCache();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue