diff --git a/system/functions.php b/system/functions.php index 38a95fae..ff3404da 100644 --- a/system/functions.php +++ b/system/functions.php @@ -1032,7 +1032,7 @@ function getTopPlayers($limit = 5) { return $players; } -function deleteDirectory($dir) { +function deleteDirectory($dir, $ignore = array(), $contentOnly = false) { if(!file_exists($dir)) { return true; } @@ -1042,15 +1042,19 @@ function deleteDirectory($dir) { } foreach(scandir($dir, 0) as $item) { - if($item === '.' || $item === '..') { + if($item === '.' || $item === '..' || in_array($item, $ignore, true)) { continue; } - if(!deleteDirectory($dir . DIRECTORY_SEPARATOR . $item)) { + if(!in_array($item, $ignore, true) && !deleteDirectory($dir . DIRECTORY_SEPARATOR . $item)) { return false; } } + if($contentOnly) { + return true; + } + return rmdir($dir); }