[ Index ] |
PHP Cross Reference of vtigercrm-6.1.0 |
[Summary view] [Print] [Text view]
1 <?php 2 3 /** 4 * Definition that uses different definitions depending on context. 5 * 6 * The del and ins tags are notable because they allow different types of 7 * elements depending on whether or not they're in a block or inline context. 8 * Chameleon allows this behavior to happen by using two different 9 * definitions depending on context. While this somewhat generalized, 10 * it is specifically intended for those two tags. 11 */ 12 class HTMLPurifier_ChildDef_Chameleon extends HTMLPurifier_ChildDef 13 { 14 15 /** 16 * Instance of the definition object to use when inline. Usually stricter. 17 */ 18 public $inline; 19 20 /** 21 * Instance of the definition object to use when block. 22 */ 23 public $block; 24 25 public $type = 'chameleon'; 26 27 /** 28 * @param $inline List of elements to allow when inline. 29 * @param $block List of elements to allow when block. 30 */ 31 public function __construct($inline, $block) { 32 $this->inline = new HTMLPurifier_ChildDef_Optional($inline); 33 $this->block = new HTMLPurifier_ChildDef_Optional($block); 34 $this->elements = $this->block->elements; 35 } 36 37 public function validateChildren($tokens_of_children, $config, $context) { 38 if ($context->get('IsInline') === false) { 39 return $this->block->validateChildren( 40 $tokens_of_children, $config, $context); 41 } else { 42 return $this->inline->validateChildren( 43 $tokens_of_children, $config, $context); 44 } 45 } 46 } 47 48 // vim: et sw=4 sts=4
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:08:37 2014 | Cross-referenced by PHPXref 0.7.1 |