TwigRecursiveIterator.php in Upgrade Status 8.3
File
src/TwigRecursiveIterator.php
View source
<?php
namespace Drupal\upgrade_status;
use Drupal\Core\Site\Settings;
class TwigRecursiveIterator extends \RecursiveIteratorIterator {
public function __construct(string $directory) {
$exclude = Settings::get('file_scan_ignore_directories', []);
parent::__construct(new \RecursiveCallbackFilterIterator(new \RecursiveDirectoryIterator($directory, \RecursiveDirectoryIterator::SKIP_DOTS), function ($current) use ($exclude) {
$name = $current
->getFilename();
return $name[0] !== '.' && ($current
->isDir() && !in_array($name, $exclude, TRUE) || $current
->isFile() && substr($name, -10) === '.html.twig');
}), \RecursiveIteratorIterator::LEAVES_ONLY);
}
}