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