/**
  * If no filter is given, read params from the global settings
  * @param $filter
  * @return unknown_type
  */
 function __construct($filter = false)
 {
     parent::__construct('filesystem');
     jimport('joomla.filesystem.file');
     jimport('joomla.filesystem.folder');
     if (!$filter) {
         $fileExts = explode("\n", trim($this->_jd_options->get('scan_file_patterns', '*'), "\n "));
         $excludedDirs = explode("\n", trim($this->_jd_options->get('scan_excluded_directories', JPATH_ROOT . DS . 'cache' . "\n" . JPATH_ROOT . DS . 'tmp'), "\n "));
         $excludedDirPatterns = explode("\n", trim($this->_jd_options->get('scan_excluded_directory_patterns', '.svn' . "\n" . '.CVS'), "\n "));
         $fileExts = str_replace(array("\r", "\n"), '', $fileExts);
         $excludedDirs = str_replace(array("\r", "\n"), '', $excludedDirs);
         $excludedDirPatterns = str_replace(array("\r", "\n"), '', $excludedDirPatterns);
         for ($i = 0, $count = count($excludedDirs); $i < $count; $i++) {
             $excludedDirs[$i] = JPath::clean(JPATH_ROOT . DS . $excludedDirs[$i]);
         }
         $filter = new JD_Filesystem_Filter($fileExts, $excludedDirs, array(), $excludedDirPatterns);
     }
     $this->filter = $filter;
     $this->_isReadFiles = null;
     $this->_filesScanned = 0;
     $this->_foldersScanned = 0;
 }
 function __construct()
 {
     parent::__construct();
     $this->_new_version = null;
 }