diff options
| -rw-r--r-- | phpBB/phpbb/extension/finder.php | 3 | ||||
| -rw-r--r-- | phpBB/phpbb/extension/recursive_filter_iterator.php | 32 | 
2 files changed, 34 insertions, 1 deletions
diff --git a/phpBB/phpbb/extension/finder.php b/phpBB/phpbb/extension/finder.php index c9c16ae6d5..fd19436c16 100644 --- a/phpBB/phpbb/extension/finder.php +++ b/phpBB/phpbb/extension/finder.php @@ -475,7 +475,8 @@ class finder  			}  			$directory_pattern = '#' . $directory_pattern . '#'; -			$iterator = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($path), \RecursiveIteratorIterator::SELF_FIRST); +			$iterator = new \phpbb\extension\recursive_filter_iterator(new \RecursiveDirectoryIterator($path)); +			$iterator = new \RecursiveIteratorIterator($iterator, \RecursiveIteratorIterator::SELF_FIRST);  			foreach ($iterator as $file_info)  			{  				$filename = $file_info->getFilename(); diff --git a/phpBB/phpbb/extension/recursive_filter_iterator.php b/phpBB/phpbb/extension/recursive_filter_iterator.php new file mode 100644 index 0000000000..c2515ecbab --- /dev/null +++ b/phpBB/phpbb/extension/recursive_filter_iterator.php @@ -0,0 +1,32 @@ +<?php +/** +* +* @package extension +* @copyright (c) 2014 phpBB Group +* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 +* +*/ + +namespace phpbb\extension; + +/** +* Class recursive_filter_iterator +* +* This Filter ignores .svn and .git directories. +* When searching for php classes and template files of extensions +* we don't need to look inside these directories. +* +* @package phpbb\extension +*/ +class recursive_filter_iterator extends \RecursiveFilterIterator +{ +	public static $ignore_folders = array( +		'.svn', +		'.git', +	); + +	public function accept() +	{ +		return !in_array($this->current()->getFilename(), self::$ignore_folders); +	} +}  | 
