diff --git a/inc/cachify_hdd.class.php b/inc/cachify_hdd.class.php index 46ba8102..bd763c8e 100644 --- a/inc/cachify_hdd.class.php +++ b/inc/cachify_hdd.class.php @@ -117,7 +117,8 @@ public static function delete_item($hash = '', $url) public static function clear_cache() { self::_clear_dir( - CACHIFY_CACHE_DIR + CACHIFY_CACHE_DIR, + true ); } @@ -227,15 +228,16 @@ private static function _create_file($file, $data) /** - * Clear directory recursively + * Clear directory * * @since 2.0 * @change 2.0.5 * - * @param string $dir Directory path + * @param string $dir Directory path + * @param boolean $recursive clear subdirectories */ - private static function _clear_dir($dir) { + private static function _clear_dir($dir, $recursive = false) { /* Remote training slash */ $dir = untrailingslashit($dir); @@ -261,15 +263,17 @@ private static function _clear_dir($dir) { $object = $dir. DIRECTORY_SEPARATOR .$object; /* Directory or file */ - if ( is_dir($object) ) { - self::_clear_dir($object); + if ( is_dir($object) && $recursive ) { + self::_clear_dir($object, $recursive); } else { unlink($object); } } /* Remove directory */ - @rmdir($dir); + if ( $recursive ) { + @rmdir($dir); + } /* CleanUp */ clearstatcache();