1<?php
2
3/**
4 * Property list iterator. Do not instantiate this class directly.
5 */
6class 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
43