mirror of
				https://bitbucket.org/jsuto/piler.git
				synced 2025-11-04 04:32:28 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
/**
 | 
						|
 * Generic schema interchange format that can be converted to a runtime
 | 
						|
 * representation (HTMLPurifier_ConfigSchema) or HTML documentation. Members
 | 
						|
 * are completely validated.
 | 
						|
 */
 | 
						|
class HTMLPurifier_ConfigSchema_Interchange
 | 
						|
{
 | 
						|
 | 
						|
    /**
 | 
						|
     * Name of the application this schema is describing.
 | 
						|
     * @type string
 | 
						|
     */
 | 
						|
    public $name;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Array of Directive ID => array(directive info)
 | 
						|
     * @type HTMLPurifier_ConfigSchema_Interchange_Directive[]
 | 
						|
     */
 | 
						|
    public $directives = array();
 | 
						|
 | 
						|
    /**
 | 
						|
     * Adds a directive array to $directives
 | 
						|
     * @param HTMLPurifier_ConfigSchema_Interchange_Directive $directive
 | 
						|
     * @throws HTMLPurifier_ConfigSchema_Exception
 | 
						|
     */
 | 
						|
    public function addDirective($directive)
 | 
						|
    {
 | 
						|
        if (isset($this->directives[$i = $directive->id->toString()])) {
 | 
						|
            throw new HTMLPurifier_ConfigSchema_Exception("Cannot redefine directive '$i'");
 | 
						|
        }
 | 
						|
        $this->directives[$i] = $directive;
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Convenience function to perform standard validation. Throws exception
 | 
						|
     * on failed validation.
 | 
						|
     */
 | 
						|
    public function validate()
 | 
						|
    {
 | 
						|
        $validator = new HTMLPurifier_ConfigSchema_Validator();
 | 
						|
        return $validator->validate($this);
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
// vim: et sw=4 sts=4
 |