Example #1
0
 /**
  * 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 \FilesystemIterator) {
             $innerIterator->next();
             $innerIterator->rewind();
         }
         $iterator = $iterator->getInnerIterator();
     }
     parent::rewind();
 }
Example #2
0
 /**
  * @inheritDoc
  */
 public function __construct(Iterator $iterator, array $ignore)
 {
     $this->ignore = $ignore;
     parent::__construct($iterator);
 }
Example #3
0
 /**
  * FilenameFilter constructor.
  * @param Iterator $iterator
  * @param string $search
  */
 public function __construct(Iterator $iterator, $search)
 {
     $this->iterator = $iterator;
     $this->search = str_replace('*', '', $search);
     parent::__construct($iterator);
 }