1: <?php
2:
3: /**
4: * Decorator which enables CSS properties to be disabled for specific elements.
5: */
6: class HTMLPurifier_AttrDef_CSS_DenyElementDecorator extends HTMLPurifier_AttrDef
7: {
8: /**
9: * @type HTMLPurifier_AttrDef
10: */
11: public $def;
12: /**
13: * @type string
14: */
15: public $element;
16:
17: /**
18: * @param HTMLPurifier_AttrDef $def Definition to wrap
19: * @param string $element Element to deny
20: */
21: public function __construct($def, $element)
22: {
23: $this->def = $def;
24: $this->element = $element;
25: }
26:
27: /**
28: * Checks if CurrentToken is set and equal to $this->element
29: * @param string $string
30: * @param HTMLPurifier_Config $config
31: * @param HTMLPurifier_Context $context
32: * @return bool|string
33: */
34: public function validate($string, $config, $context)
35: {
36: $token = $context->get('CurrentToken', true);
37: if ($token && $token->name == $this->element) {
38: return false;
39: }
40: return $this->def->validate($string, $config, $context);
41: }
42: }
43:
44: // vim: et sw=4 sts=4
45: