From 8e83e404fbb1d0dc770e5b41fa315a674541459a Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Sun, 21 Aug 2016 18:46:34 -0400 Subject: Add FileCache driver --- app/Core/Tool.php | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'app/Core/Tool.php') diff --git a/app/Core/Tool.php b/app/Core/Tool.php index bfa6c955..9b8820eb 100644 --- a/app/Core/Tool.php +++ b/app/Core/Tool.php @@ -3,6 +3,8 @@ namespace Kanboard\Core; use Pimple\Container; +use RecursiveDirectoryIterator; +use RecursiveIteratorIterator; /** * Tool class @@ -12,6 +14,32 @@ use Pimple\Container; */ class Tool { + /** + * Remove recursively a directory + * + * @static + * @access public + * @param string $directory + * @param bool $removeDirectory + */ + public static function removeAllFiles($directory, $removeDirectory = true) + { + $it = new RecursiveDirectoryIterator($directory, RecursiveDirectoryIterator::SKIP_DOTS); + $files = new RecursiveIteratorIterator($it, RecursiveIteratorIterator::CHILD_FIRST); + + foreach ($files as $file) { + if ($file->isDir()) { + rmdir($file->getRealPath()); + } else { + unlink($file->getRealPath()); + } + } + + if ($removeDirectory) { + rmdir($directory); + } + } + /** * Build dependency injection container from an array * -- cgit v1.2.3