1: <?php
2:
3: /**
4: * Pre-transform that changes deprecated name attribute to ID if necessary
5: */
6: class HTMLPurifier_AttrTransform_Name extends HTMLPurifier_AttrTransform
7: {
8:
9: /**
10: * @param array $attr
11: * @param HTMLPurifier_Config $config
12: * @param HTMLPurifier_Context $context
13: * @return array
14: */
15: public function transform($attr, $config, $context)
16: {
17: // Abort early if we're using relaxed definition of name
18: if ($config->get('HTML.Attr.Name.UseCDATA')) {
19: return $attr;
20: }
21: if (!isset($attr['name'])) {
22: return $attr;
23: }
24: $id = $this->confiscateAttr($attr, 'name');
25: if (isset($attr['id'])) {
26: return $attr;
27: }
28: $attr['id'] = $id;
29: return $attr;
30: }
31: }
32:
33: // vim: et sw=4 sts=4
34: