root/afridex/plugins/Flutter/purifier_lib/HTMLPurifier/EntityLookup.php

Revision 21, 1.3 kB (checked in by admin, 18 years ago)
Line 
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
Note: See TracBrowser for help on using the browser.