File indexing completed on 2024-12-22 05:36:22
0001 <?php 0002 0003 /** 0004 * This is in almost every respect equivalent to an array except 0005 * that it keeps track of which keys were accessed. 0006 * 0007 * @warning For the sake of backwards compatibility with early versions 0008 * of PHP 5, you must not use the $hash[$key] syntax; if you do 0009 * our version of offsetGet is never called. 0010 */ 0011 class HTMLPurifier_StringHash extends ArrayObject 0012 { 0013 /** 0014 * @type array 0015 */ 0016 protected $accessed = array(); 0017 0018 /** 0019 * Retrieves a value, and logs the access. 0020 * @param mixed $index 0021 * @return mixed 0022 */ 0023 public function offsetGet($index) 0024 { 0025 $this->accessed[$index] = true; 0026 return parent::offsetGet($index); 0027 } 0028 0029 /** 0030 * Returns a lookup array of all array indexes that have been accessed. 0031 * @return array in form array($index => true). 0032 */ 0033 public function getAccessed() 0034 { 0035 return $this->accessed; 0036 } 0037 0038 /** 0039 * Resets the access array. 0040 */ 0041 public function resetAccessed() 0042 { 0043 $this->accessed = array(); 0044 } 0045 } 0046 0047 // vim: et sw=4 sts=4