diff options
author | Frederic Guillot <fred@kanboard.net> | 2016-08-21 18:46:34 -0400 |
---|---|---|
committer | Frederic Guillot <fred@kanboard.net> | 2016-08-21 18:46:34 -0400 |
commit | 8e83e404fbb1d0dc770e5b41fa315a674541459a (patch) | |
tree | 38186a4ef5818133489b41f85f200fa28bed2806 /app/Core/Tool.php | |
parent | 836e93546355e20f5a3cca0e2fd4e649264ce7ac (diff) |
Add FileCache driver
Diffstat (limited to 'app/Core/Tool.php')
-rw-r--r-- | app/Core/Tool.php | 28 |
1 files changed, 28 insertions, 0 deletions
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 @@ -13,6 +15,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 * * @static |