/** * 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); }