diff options
Diffstat (limited to 'etc')
-rw-r--r-- | etc/inc/util.inc | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/etc/inc/util.inc b/etc/inc/util.inc index 0cc2692..988ddff 100644 --- a/etc/inc/util.inc +++ b/etc/inc/util.inc @@ -1331,23 +1331,24 @@ function update_filter_reload_status($text) { file_put_contents("{$g['varrun_path']}/filter_reload_status", $text); } -/****f* util/return_dir_as_array +/****** util/return_dir_as_array * NAME * return_dir_as_array - Return a directory's contents as an array. * INPUTS - * $dir - string containing the path to the desired directory. + * $dir - string containing the path to the desired directory. + * $filter_regex - string containing a regular expression to filter file names. Default empty. * RESULT * $dir_array - array containing the directory's contents. This array will be empty if the path specified is invalid. ******/ -function return_dir_as_array($dir) { +function return_dir_as_array($dir, $filter_regex = '') { $dir_array = array(); if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { - $canadd = 0; - if($file == ".") $canadd = 1; - if($file == "..") $canadd = 1; - if($canadd == 0) + if (($file == ".") || ($file == "..")) + continue; + + if (empty($filter_regex) || preg_match($filter_regex, $file)) array_push($dir_array, $file); } closedir($dh); |