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