Ejemplo n.º 1
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);
 }