| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | <?php/** * This is in almost every respect equivalent to an array except * that it keeps track of which keys were accessed. * * @warning For the sake of backwards compatibility with early versions *     of PHP 5, you must not use the $hash[$key] syntax; if you do *     our version of offsetGet is never called. */class HTMLPurifier_StringHash extends ArrayObject{    /**     * @type array     */    protected $accessed = array();    /**     * Retrieves a value, and logs the access.     * @param mixed $index     * @return mixed     */    public function offsetGet($index)    {        $this->accessed[$index] = true;        return parent::offsetGet($index);    }    /**     * Returns a lookup array of all array indexes that have been accessed.     * @return array in form array($index => true).     */    public function getAccessed()    {        return $this->accessed;    }    /**     * Resets the access array.     */    public function resetAccessed()    {        $this->accessed = array();    }}// vim: et sw=4 sts=4
 |