1<?php
2
3/**
4 * Dummy AttrDef that mimics another AttrDef, BUT it generates clones
5 * with make.
6 */
7class 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