Updated Drupal to 8.6. This goes with the following updates because it's possible...
[yaffs-website] / vendor / symfony / finder / Iterator / PathFilterIterator.php
1 <?php
2
3 /*
4  * This file is part of the Symfony package.
5  *
6  * (c) Fabien Potencier <fabien@symfony.com>
7  *
8  * For the full copyright and license information, please view the LICENSE
9  * file that was distributed with this source code.
10  */
11
12 namespace Symfony\Component\Finder\Iterator;
13
14 /**
15  * PathFilterIterator filters files by path patterns (e.g. some/special/dir).
16  *
17  * @author Fabien Potencier  <fabien@symfony.com>
18  * @author Włodzimierz Gajda <gajdaw@gajdaw.pl>
19  */
20 class PathFilterIterator extends MultiplePcreFilterIterator
21 {
22     /**
23      * Filters the iterator values.
24      *
25      * @return bool true if the value should be kept, false otherwise
26      */
27     public function accept()
28     {
29         $filename = $this->current()->getRelativePathname();
30
31         if ('\\' === \DIRECTORY_SEPARATOR) {
32             $filename = str_replace('\\', '/', $filename);
33         }
34
35         return $this->isAccepted($filename);
36     }
37
38     /**
39      * Converts strings to regexp.
40      *
41      * PCRE patterns are left unchanged.
42      *
43      * Default conversion:
44      *     'lorem/ipsum/dolor' ==>  'lorem\/ipsum\/dolor/'
45      *
46      * Use only / as directory separator (on Windows also).
47      *
48      * @param string $str Pattern: regexp or dirname
49      *
50      * @return string regexp corresponding to a given string or regexp
51      */
52     protected function toRegex($str)
53     {
54         return $this->isRegex($str) ? $str : '/'.preg_quote($str, '/').'/';
55     }
56 }