PSR-2 reformatting PHPDoc corrections
[htmlpurifier.git] / library / HTMLPurifier / AttrTransform / NameSync.php
blob36079b786ffe381d92384200622b02f546b0cc70
1 <?php
3 /**
4 * Post-transform that performs validation to the name attribute; if
5 * it is present with an equivalent id attribute, it is passed through;
6 * otherwise validation is performed.
7 */
8 class HTMLPurifier_AttrTransform_NameSync extends HTMLPurifier_AttrTransform
11 public function __construct()
13 $this->idDef = new HTMLPurifier_AttrDef_HTML_ID();
16 /**
17 * @param array $attr
18 * @param HTMLPurifier_Config $config
19 * @param HTMLPurifier_Context $context
20 * @return array
22 public function transform($attr, $config, $context)
24 if (!isset($attr['name'])) {
25 return $attr;
27 $name = $attr['name'];
28 if (isset($attr['id']) && $attr['id'] === $name) {
29 return $attr;
31 $result = $this->idDef->validate($name, $config, $context);
32 if ($result === false) {
33 unset($attr['name']);
34 } else {
35 $attr['name'] = $result;
37 return $attr;
41 // vim: et sw=4 sts=4