Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.11.x will end 14 Nov 2022 (12 months plus 6 months extension).
  • Bug fixes for security issues in 3.11.x will end 13 Nov 2023 (18 months plus 12 months extension).
  • PHP version: minimum PHP 7.3.0 Note: minimum PHP version has increased since Moodle 3.10. PHP 7.4.x is supported too.

Differences Between: [Versions 311 and 401] [Versions 311 and 402] [Versions 311 and 403]

   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