1
0
Fork 0
forked from blallo/rss-bridge

[Cache] Move 'purge' function to implementations

The purge function is cache specific and thus belongs
to the specific implementation.
This commit is contained in:
logmanoriginal 2016-10-07 22:33:45 +02:00
parent 51ff8de346
commit 9ac678aac5
4 changed files with 23 additions and 23 deletions

View file

@ -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

View file

@ -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);

View file

@ -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());
}
}
}
}
} }

View file

@ -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();
} }