Version 1
[yaffs-website] / vendor / ezyang / htmlpurifier / library / HTMLPurifier / AttrDef / CSS / DenyElementDecorator.php
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