diff options
Diffstat (limited to 'engine/classes')
| -rw-r--r-- | engine/classes/ElggFileCache.php | 19 | 
1 files changed, 16 insertions, 3 deletions
| diff --git a/engine/classes/ElggFileCache.php b/engine/classes/ElggFileCache.php index 8304372dc..34178d452 100644 --- a/engine/classes/ElggFileCache.php +++ b/engine/classes/ElggFileCache.php @@ -161,12 +161,25 @@ class ElggFileCache extends ElggCache {  	}  	/** -	 * This was probably meant to delete everything? +	 * Delete all files in the directory of this file cache  	 *  	 * @return void  	 */  	public function clear() { -		// @todo writeme +		$dir = $this->getVariable("cache_path"); + +		$exclude = array(".", ".."); + +		$files = scandir($dir); +		if (!$files) { +			return; +		} + +		foreach ($files as $f) { +			if (!in_array($f, $exclude)) { +				unlink($dir . $f); +			} +		}  	}  	/** @@ -184,7 +197,7 @@ class ElggFileCache extends ElggCache {  			return;  		} -		$exclude = array(".",".."); +		$exclude = array(".", "..");  		$files = scandir($dir);  		if (!$files) { | 
