Blame view

vendor/ezyang/htmlpurifier/library/HTMLPurifier/EntityLookup.php 1.39 KB
abf1649b   andryeyev   Чистая установка ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
  <?php
  
  /**
   * Object that provides entity lookup table from entity name to character
   */
  class HTMLPurifier_EntityLookup
  {
      /**
       * Assoc array of entity name to character represented.
       * @type array
       */
      public $table;
  
      /**
       * Sets up the entity lookup table from the serialized file contents.
       * @param bool $file
       * @note The serialized contents are versioned, but were generated
       *       using the maintenance script generate_entity_file.php
       * @warning This is not in constructor to help enforce the Singleton
       */
      public function setup($file = false)
      {
          if (!$file) {
              $file = HTMLPURIFIER_PREFIX . '/HTMLPurifier/EntityLookup/entities.ser';
          }
          $this->table = unserialize(file_get_contents($file));
      }
  
      /**
       * Retrieves sole instance of the object.
       * @param bool|HTMLPurifier_EntityLookup $prototype Optional prototype of custom lookup table to overload with.
       * @return HTMLPurifier_EntityLookup
       */
      public static function instance($prototype = false)
      {
          // no references, since PHP doesn't copy unless modified
          static $instance = null;
          if ($prototype) {
              $instance = $prototype;
          } elseif (!$instance) {
              $instance = new HTMLPurifier_EntityLookup();
              $instance->setup();
          }
          return $instance;
      }
  }
  
  // vim: et sw=4 sts=4