|
- <?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
|