1: <?php
2:
3: /**
4: * Dummy AttrDef that mimics another AttrDef, BUT it generates clones
5: * with make.
6: */
7: class HTMLPurifier_AttrDef_Clone extends HTMLPurifier_AttrDef
8: {
9: /**
10: * What we're cloning.
11: * @type HTMLPurifier_AttrDef
12: */
13: protected $clone;
14:
15: /**
16: * @param HTMLPurifier_AttrDef $clone
17: */
18: public function __construct($clone)
19: {
20: $this->clone = $clone;
21: }
22:
23: /**
24: * @param string $v
25: * @param HTMLPurifier_Config $config
26: * @param HTMLPurifier_Context $context
27: * @return bool|string
28: */
29: public function validate($v, $config, $context)
30: {
31: return $this->clone->validate($v, $config, $context);
32: }
33:
34: /**
35: * @param string $string
36: * @return HTMLPurifier_AttrDef
37: */
38: public function make($string)
39: {
40: return clone $this->clone;
41: }
42: }
43:
44: // vim: et sw=4 sts=4
45: