Browse Source

[Cache] Move 'purge' function to implementations

The purge function is cache specific and thus belongs
to the specific implementation.
logmanoriginal 7 years ago
parent
commit
9ac678aac5
4 changed files with 23 additions and 23 deletions
  1. 20 0
      caches/FileCache.php
  2. 2 2
      index.php
  3. 0 21
      lib/Cache.php
  4. 1 0
      lib/CacheInterface.php

+ 20 - 0
caches/FileCache.php

@@ -34,6 +34,26 @@ class FileCache extends CacheAbstract {
 		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 ?
 	* Note : Cache name is based on request information, then cache must be prepare before use

+ 2 - 2
index.php

@@ -84,8 +84,6 @@ if(!file_exists($whitelist_file)){
 	$whitelist_selection = explode("\n", file_get_contents($whitelist_file));
 }
 
-Cache::purge();
-
 try {
 
 	Bridge::setDir(__DIR__ . '/bridges/');
@@ -120,6 +118,8 @@ try {
 		$bridge = Bridge::create($bridge);
 
 		$cache = Cache::create('FileCache');
+		$cache->purgeCache();
+
 		$bridge->setCache($cache);
 
 		$noproxy = filter_input(INPUT_GET, '_noproxy', FILTER_VALIDATE_BOOLEAN);

+ 0 - 21
lib/Cache.php

@@ -50,25 +50,4 @@ class Cache {
 	static public function isValidNameCache($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());
-				}
-			}
-		}
-	}
-
 }

+ 1 - 0
lib/CacheInterface.php

@@ -3,4 +3,5 @@ interface CacheInterface {
 	public function loadData();
 	public function saveData($datas);
 	public function getTime();
+	public function purgeCache();
 }