diff options
Diffstat (limited to 'inc/3rdparty/htmlpurifier/HTMLPurifier/PropertyListIterator.php')
-rw-r--r-- | inc/3rdparty/htmlpurifier/HTMLPurifier/PropertyListIterator.php | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/inc/3rdparty/htmlpurifier/HTMLPurifier/PropertyListIterator.php b/inc/3rdparty/htmlpurifier/HTMLPurifier/PropertyListIterator.php new file mode 100644 index 00000000..1e707e2a --- /dev/null +++ b/inc/3rdparty/htmlpurifier/HTMLPurifier/PropertyListIterator.php | |||
@@ -0,0 +1,42 @@ | |||
1 | <?php | ||
2 | |||
3 | /** | ||
4 | * Property list iterator. Do not instantiate this class directly. | ||
5 | */ | ||
6 | class HTMLPurifier_PropertyListIterator extends FilterIterator | ||
7 | { | ||
8 | |||
9 | /** | ||
10 | * @type int | ||
11 | */ | ||
12 | protected $l; | ||
13 | /** | ||
14 | * @type string | ||
15 | */ | ||
16 | protected $filter; | ||
17 | |||
18 | /** | ||
19 | * @param Iterator $iterator Array of data to iterate over | ||
20 | * @param string $filter Optional prefix to only allow values of | ||
21 | */ | ||
22 | public function __construct(Iterator $iterator, $filter = null) | ||
23 | { | ||
24 | parent::__construct($iterator); | ||
25 | $this->l = strlen($filter); | ||
26 | $this->filter = $filter; | ||
27 | } | ||
28 | |||
29 | /** | ||
30 | * @return bool | ||
31 | */ | ||
32 | public function accept() | ||
33 | { | ||
34 | $key = $this->getInnerIterator()->key(); | ||
35 | if (strncmp($key, $this->filter, $this->l) !== 0) { | ||
36 | return false; | ||
37 | } | ||
38 | return true; | ||
39 | } | ||
40 | } | ||
41 | |||
42 | // vim: et sw=4 sts=4 | ||