123456789101112131415161718192021222324252627282930313233343536373839 |
- <?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
- {
- protected $accessed = array();
- /**
- * Retrieves a value, and logs the access.
- */
- 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
|