From f6259ad36c8644be8895c9779755df7b3b2d006c Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Mon, 11 Dec 2006 16:45:17 +0000 Subject: - Patch #91592 by ChrisKennedy: avoid scanning hidden files and directories. --- includes/file.inc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'includes') 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)); } -- cgit v1.2.3