summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
Diffstat (limited to 'etc')
-rw-r--r--etc/inc/util.inc15
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);
OpenPOWER on IntegriCloud