]> git.wh0rd.org - tt-rss.git/blob - lib/htmlpurifier/library/HTMLPurifier/AttrTransform/NameSync.php
Revert "remove htmlpurifier"
[tt-rss.git] / lib / htmlpurifier / library / HTMLPurifier / AttrTransform / NameSync.php
1 <?php
2
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
9 {
10
11 public function __construct() {
12 $this->idDef = new HTMLPurifier_AttrDef_HTML_ID();
13 }
14
15 public function transform($attr, $config, $context) {
16 if (!isset($attr['name'])) return $attr;
17 $name = $attr['name'];
18 if (isset($attr['id']) && $attr['id'] === $name) return $attr;
19 $result = $this->idDef->validate($name, $config, $context);
20 if ($result === false) unset($attr['name']);
21 else $attr['name'] = $result;
22 return $attr;
23 }
24
25 }
26
27 // vim: et sw=4 sts=4