function webfm_searchFiles::searchFilesRecur in Web File Manager 5.2
Same name and namespace in other branches
- 5 webfm.module \webfm_searchFiles::searchFilesRecur()
1 call to webfm_searchFiles::searchFilesRecur()
File
- ./
webfm.module, line 1719
Class
- webfm_searchFiles
- Class to search for files matching a regexp pattern
Code
function searchFilesRecur($dir, $searchpattern) {
$dir = rtrim($dir, '/');
//hide filesys root by not returning full path
$full_dir = file_directory_path() . $dir;
$handle = @opendir($full_dir);
while ($file = @readdir($handle)) {
if (@is_dir($full_dir . "/" . $file) && $file != "." && $file != "..") {
$this
->searchFilesRecur($dir . "/" . $file, $searchpattern);
}
else {
if (ereg(strtolower($searchpattern), strtolower($file)) && !ereg($this->hidefilepattern, $file)) {
//return files in db (role level permission)
if ($frec = webfm_get_file_record('', $full_dir . "/" . $file)) {
$this
->build_file_list($file, $dir, $frec->fid);
}
else {
if ($this->uid == 1) {
//admins can search files not in db
$this
->build_file_list($file, $dir, 0);
}
}
}
}
}
@closedir($handle);
}