* * 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:----jkKcSvWb4PMOMKgGIcnRmDjRX/f7GQ2V88SQTPCSk1gBzlUlxVXLYEWRiGs3SfayiH1ctsInyuMqUkHUSpK8Ue4Cu52+Hp4LQpRHcRH843PjucBNXPL1yfwkxQyhmZpcyECEaoUyBcCSjtgGOjVmp9yKE4EGAe5RFqITfjPHn60jYAYKLpQMKmhsQI6pqQK3KdqOcscT0q5gI0/L1haujXHHW3lJauMIEbZ1DHlDxAnkB7KHxCWbp6Lam5Dg6ZNYUJonYZ4/k9qqjqezcvAHCx/N0yvQ7JTBPZQpaBY7Oh69+vzIVtsA78tvbdRNTuF6iDHDthENiXSiZdav/AqtiHvep4PXVinNsqaI2E/amHRKqesx45MAz+M814aDKWKSZRHRgyboAF68me/7vTodJKbOkgEh1LpSOBOMabs/E0aKkENeLxsh5VY6o3X++f5VI1lYNW38b/XRZoPtsBSSUbLzTuz+OFRa2OIakRtvOhjFtfIg9i92GUXPZlhGj6jOCwEHuKHbWFa5tlWg9NTAVBzQK49+NahO0GM1tpnC7kb0PoMlbdFJEyAsfv2IdBKUXtf+d02sySkeAzbIDeJslkHlJb9z9WRW9Y0lwW2PfTItj/pgvMLKS9QTGGj+ANIQNsFvGB3OtMt39RMvMLgnn9A3kL/8FSoc3c8aN6n/0OU=----ATTACHMENT:----MTEyNTUxNDgxNjgwMzcxNSA2MzQ0ODA4NzQ3MTY1MDQ0IDYzNjMzODIzMTc1NzE1NTE=