| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 | 
							- <?php
 
- /**
 
-  * Definition that uses different definitions depending on context.
 
-  *
 
-  * The del and ins tags are notable because they allow different types of
 
-  * elements depending on whether or not they're in a block or inline context.
 
-  * Chameleon allows this behavior to happen by using two different
 
-  * definitions depending on context.  While this somewhat generalized,
 
-  * it is specifically intended for those two tags.
 
-  */
 
- class HTMLPurifier_ChildDef_Chameleon extends HTMLPurifier_ChildDef
 
- {
 
-     /**
 
-      * Instance of the definition object to use when inline. Usually stricter.
 
-      * @type HTMLPurifier_ChildDef_Optional
 
-      */
 
-     public $inline;
 
-     /**
 
-      * Instance of the definition object to use when block.
 
-      * @type HTMLPurifier_ChildDef_Optional
 
-      */
 
-     public $block;
 
-     /**
 
-      * @type string
 
-      */
 
-     public $type = 'chameleon';
 
-     /**
 
-      * @param array $inline List of elements to allow when inline.
 
-      * @param array $block List of elements to allow when block.
 
-      */
 
-     public function __construct($inline, $block)
 
-     {
 
-         $this->inline = new HTMLPurifier_ChildDef_Optional($inline);
 
-         $this->block = new HTMLPurifier_ChildDef_Optional($block);
 
-         $this->elements = $this->block->elements;
 
-     }
 
-     /**
 
-      * @param HTMLPurifier_Node[] $children
 
-      * @param HTMLPurifier_Config $config
 
-      * @param HTMLPurifier_Context $context
 
-      * @return bool
 
-      */
 
-     public function validateChildren($children, $config, $context)
 
-     {
 
-         if ($context->get('IsInline') === false) {
 
-             return $this->block->validateChildren(
 
-                 $children,
 
-                 $config,
 
-                 $context
 
-             );
 
-         } else {
 
-             return $this->inline->validateChildren(
 
-                 $children,
 
-                 $config,
 
-                 $context
 
-             );
 
-         }
 
-     }
 
- }
 
- // vim: et sw=4 sts=4
 
 
  |