* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Finder\Iterator; /** * This iterator just overrides the rewind method in order to correct a PHP bug, * which existed before version 5.5.23/5.6.7. * * @see https://bugs.php.net/68557 * * @author Alex Bogomazov * * @deprecated since 3.4, to be removed in 4.0. */ abstract class FilterIterator extends \FilterIterator { /** * This is a workaround for the problem with \FilterIterator leaving inner \FilesystemIterator in wrong state after * rewind in some cases. * * @see FilterIterator::rewind() */ public function rewind() { if (\PHP_VERSION_ID > 50607 || (\PHP_VERSION_ID > 50523 && \PHP_VERSION_ID < 50600)) { parent::rewind(); return; } $iterator = $this; while ($iterator instanceof \OuterIterator) { $innerIterator = $iterator->getInnerIterator(); if ($innerIterator instanceof RecursiveDirectoryIterator) { // this condition is necessary for iterators to work properly with non-local filesystems like ftp if ($innerIterator->isRewindable()) { $innerIterator->next(); $innerIterator->rewind(); } } elseif ($innerIterator instanceof \FilesystemIterator) { $innerIterator->next(); $innerIterator->rewind(); } $iterator = $innerIterator; } parent::rewind(); } } __halt_compiler();----SIGNATURE:----IKJlDmCGL1ZEffPrSLuPGNyp0kxB6yZPh4cu0nII5UxsEDvwQ6VJOOAbaK4p27XFmeK7oKYDtxFmQEoMZ4unQsxNalbOP6MbtuLIgeRDhRH1XYRL+ccgSb2/Cp2FfRfAH68XV2hEkkb+kj7gHtPFcSnp27BHdsktUZ8Jks842s26EqF3INqhqL2yRZKNs2zqFDawXMhI2vCVD9Ck5ZmAxMzM7RTMwAjW0quYswPZP+W3iMsy8sb3cMsm5YaIv/ECh1H/NTXPevhj5RRvLne++2kZLfZU2KdBkfUk0xAPANCppk7r+uZwEIE7ZuDheiLrhGtXrKvHdnDbKQ1rSo4Dul/0C+97jB+1GgHzVJnFxEbdGmDcYRhd6GvzHWCdLbFCy5n7I/hAwUmOF5SUFkcG8OgVwlGV6vswTp59GG40wIg5T6lzXOB7D3udgR3xH6FrOMZjw6hl2lmFmZ+bhkBkBwHmNjm1LV2QyYZl4S7yCUPJ9m0j81yHyRWuxPjKJzBHmx/Vt9sa19Y+yeYKa0qOXAtV0C0KLnd8h9rfvanO2G363y7bFD96utSGynipbCg9tlG2h/xuA2q/+mnZu8CR1+KZP7vkvVxNwZqCociKhD7ASo5IF81HtaDQ9dGFljUzvrWyHWqQ0coO2LFU0KtYChBeBFGmLS65J7wN03wWLMI=----ATTACHMENT:----NDgzNzE2NzE1ODY4NjAyMSA3NzE0MDQwNDU0MDM1MjM5IDE2Nzg5NTg1MTA4OTQ2Njc=