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: #[\ReturnTypeWillChange]
33: public function accept()
34: {
35: $key = $this->getInnerIterator()->key();
36: if (strncmp($key, $this->filter, $this->l) !== 0) {
37: return false;
38: }
39: return true;
40: }
41: }
42:
43: // vim: et sw=4 sts=4
44: