PATH:
home
/
lab2454c
/
caimegroup.com
/
wp-content
/
plugins
/
mailpoet
/
vendor-prefixed
/
symfony
/
finder
/
Iterator
<?php namespace MailPoetVendor\Symfony\Component\Finder\Iterator; if (!defined('ABSPATH')) exit; class ExcludeDirectoryFilterIterator extends \FilterIterator implements \RecursiveIterator { private $iterator; private $isRecursive; private $excludedDirs = []; private $excludedPattern; public function __construct(\Iterator $iterator, array $directories) { $this->iterator = $iterator; $this->isRecursive = $iterator instanceof \RecursiveIterator; $patterns = []; foreach ($directories as $directory) { $directory = \rtrim($directory, '/'); if (!$this->isRecursive || \str_contains($directory, '/')) { $patterns[] = \preg_quote($directory, '#'); } else { $this->excludedDirs[$directory] = \true; } } if ($patterns) { $this->excludedPattern = '#(?:^|/)(?:' . \implode('|', $patterns) . ')(?:/|$)#'; } parent::__construct($iterator); } #[\ReturnTypeWillChange] public function accept() { if ($this->isRecursive && isset($this->excludedDirs[$this->getFilename()]) && $this->isDir()) { return \false; } if ($this->excludedPattern) { $path = $this->isDir() ? $this->current()->getRelativePathname() : $this->current()->getRelativePath(); $path = \str_replace('\\', '/', $path); return !\preg_match($this->excludedPattern, $path); } return \true; } #[\ReturnTypeWillChange] public function hasChildren() { return $this->isRecursive && $this->iterator->hasChildren(); } #[\ReturnTypeWillChange] public function getChildren() { $children = new self($this->iterator->getChildren(), []); $children->excludedDirs = $this->excludedDirs; $children->excludedPattern = $this->excludedPattern; return $children; } }
[-] ExcludeDirectoryFilterIterator.php
[edit]
[-] LazyIterator.php
[edit]
[-] SizeRangeFilterIterator.php
[edit]
[-] SortableIterator.php
[edit]
[-] index.php
[edit]
[+]
..
[-] FilenameFilterIterator.php
[edit]
[-] PathFilterIterator.php
[edit]
[-] CustomFilterIterator.php
[edit]
[-] MultiplePcreFilterIterator.php
[edit]
[-] FileTypeFilterIterator.php
[edit]
[-] DateRangeFilterIterator.php
[edit]
[-] DepthRangeFilterIterator.php
[edit]
[-] FilecontentFilterIterator.php
[edit]
[-] RecursiveDirectoryIterator.php
[edit]