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
title
Description
Body
title
Description
Body
title
Description
Body
title
Body