diff options
Diffstat (limited to 'includes/file.inc')
-rw-r--r-- | includes/file.inc | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/includes/file.inc b/includes/file.inc index a6702cac8..b24076b1f 100644 --- a/includes/file.inc +++ b/includes/file.inc @@ -602,8 +602,10 @@ function file_download() { /** - * Finds all files that match a given mask in a given - * directory. + * Finds all files that match a given mask in a given directory. + * Directories and files beginning with a period are excluded; this + * prevents hidden files and directories (such as SVN working directories) + * from being scanned. * * @param $dir * The base directory for the scan. @@ -637,7 +639,7 @@ function file_scan_directory($dir, $mask, $nomask = array('.', '..', 'CVS'), $ca if (is_dir($dir) && $handle = opendir($dir)) { while ($file = readdir($handle)) { - if (!in_array($file, $nomask)) { + if (!in_array($file, $nomask) && $file[0] != '.') { if (is_dir("$dir/$file") && $recurse) { $files = array_merge($files, file_scan_directory("$dir/$file", $mask, $nomask, $callback, $recurse, $key, $min_depth, $depth + 1)); } |