Yaffs site version 1.1
[yaffs-website] / vendor / ezyang / htmlpurifier / library / HTMLPurifier / StringHash.php
1 <?php
2
3 /**
4  * This is in almost every respect equivalent to an array except
5  * that it keeps track of which keys were accessed.
6  *
7  * @warning For the sake of backwards compatibility with early versions
8  *     of PHP 5, you must not use the $hash[$key] syntax; if you do
9  *     our version of offsetGet is never called.
10  */
11 class HTMLPurifier_StringHash extends ArrayObject
12 {
13     /**
14      * @type array
15      */
16     protected $accessed = array();
17
18     /**
19      * Retrieves a value, and logs the access.
20      * @param mixed $index
21      * @return mixed
22      */
23     public function offsetGet($index)
24     {
25         $this->accessed[$index] = true;
26         return parent::offsetGet($index);
27     }
28
29     /**
30      * Returns a lookup array of all array indexes that have been accessed.
31      * @return array in form array($index => true).
32      */
33     public function getAccessed()
34     {
35         return $this->accessed;
36     }
37
38     /**
39      * Resets the access array.
40      */
41     public function resetAccessed()
42     {
43         $this->accessed = array();
44     }
45 }
46
47 // vim: et sw=4 sts=4