/** * @param array $directories * @param array $excludes * @param array $suffixes * @return array * @since Method available since Release 1.7.0 */ protected function findFiles(array $directories, array $excludes, array $suffixes) { $files = array(); $finder = new Symfony\Component\Finder\Finder(); $iterate = FALSE; try { foreach ($directories as $directory) { if (!is_file($directory)) { $finder->in($directory); $iterate = TRUE; } else { $files[] = realpath($directory); } } foreach ($excludes as $exclude) { $finder->exclude($exclude); } foreach ($suffixes as $suffix) { $finder->name('*' . $suffix); } } catch (Exception $e) { $this->showError($e->getMessage() . "\n"); exit(1); } if ($iterate) { foreach ($finder as $file) { $files[] = $file->getRealpath(); } } return $files; }