56 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
<?php
 | 
						|
 | 
						|
/**
 | 
						|
 * Super-class for definition datatype objects, implements serialization
 | 
						|
 * functions for the class.
 | 
						|
 */
 | 
						|
abstract class HTMLPurifier_Definition
 | 
						|
{
 | 
						|
 | 
						|
    /**
 | 
						|
     * Has setup() been called yet?
 | 
						|
     * @type bool
 | 
						|
     */
 | 
						|
    public $setup = false;
 | 
						|
 | 
						|
    /**
 | 
						|
     * If true, write out the final definition object to the cache after
 | 
						|
     * setup.  This will be true only if all invocations to get a raw
 | 
						|
     * definition object are also optimized.  This does not cause file
 | 
						|
     * system thrashing because on subsequent calls the cached object
 | 
						|
     * is used and any writes to the raw definition object are short
 | 
						|
     * circuited.  See enduser-customize.html for the high-level
 | 
						|
     * picture.
 | 
						|
     * @type bool
 | 
						|
     */
 | 
						|
    public $optimized = null;
 | 
						|
 | 
						|
    /**
 | 
						|
     * What type of definition is it?
 | 
						|
     * @type string
 | 
						|
     */
 | 
						|
    public $type;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Sets up the definition object into the final form, something
 | 
						|
     * not done by the constructor
 | 
						|
     * @param HTMLPurifier_Config $config
 | 
						|
     */
 | 
						|
    abstract protected function doSetup($config);
 | 
						|
 | 
						|
    /**
 | 
						|
     * Setup function that aborts if already setup
 | 
						|
     * @param HTMLPurifier_Config $config
 | 
						|
     */
 | 
						|
    public function setup($config)
 | 
						|
    {
 | 
						|
        if ($this->setup) {
 | 
						|
            return;
 | 
						|
        }
 | 
						|
        $this->setup = true;
 | 
						|
        $this->doSetup($config);
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
// vim: et sw=4 sts=4
 |