1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- <?php
- /**
- * Object that provides entity lookup table from entity name to character
- */
- class HTMLPurifier_EntityLookup {
- /**
- * Assoc array of entity name to character represented.
- */
- public $table;
- /**
- * Sets up the entity lookup table from the serialized file contents.
- * @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 Optional prototype of custom lookup table to overload with.
- */
- 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
|