function _filterFile(&$file, $input) { $config = $file->getConfig(); // Setup file filter $fileFilter = new Moxiecode_BasicFileFilter(); //$fileFilter->setDebugMode(true); $fileFilter->setIncludeDirectoryPattern($config['filesystem.include_directory_pattern']); $fileFilter->setExcludeDirectoryPattern($config['filesystem.exclude_directory_pattern']); $fileFilter->setIncludeFilePattern($config['filesystem.include_file_pattern']); $fileFilter->setExcludeFilePattern($config['filesystem.exclude_file_pattern']); $fileFilter->setIncludeExtensions($config['filesystem.extensions']); if (isset($input["only_dirs"]) && checkBool($input["only_dirs"])) { $fileFilter->setOnlyDirs(true); } return $fileFilter->accept($file) > 0; }
/** * Handles a file instance while looping an tree of directories. * * @param MCE_File $file File object reference * @param int $level Current level of tree parse * @return int State of what to do next can be CONTINUE, ABORT or ABORTFOLDER. */ function handle($file, $level) { if ($file->isDirectory() || !is_array($this->_config)) { if ($level == 0) { return parent::handle($file, $level); } else { $parentFile = $file->getParentFile(); } $this->_config = $parentFile->getConfig(); } $filter = new Moxiecode_BasicFileFilter(); $filter->setIncludeFilePattern($this->_config['filesystem.include_file_pattern']); $filter->setExcludeFilePattern($this->_config['filesystem.exclude_file_pattern']); $filter->setIncludeDirectoryPattern($this->_config['filesystem.include_directory_pattern']); $filter->setExcludeDirectoryPattern($this->_config['filesystem.exclude_directory_pattern']); $filter->setOnlyDirs($this->_onlyDirs); if (!$filter->accept($file)) { return $this->ABORT_FOLDER; } return parent::handle($file, $level); }