diff options
Diffstat (limited to 'lib/htmlpurifier/library/HTMLPurifier/AttrTransform')
-rw-r--r-- | lib/htmlpurifier/library/HTMLPurifier/AttrTransform/Nofollow.php | 8 | ||||
-rw-r--r-- | lib/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetBlank.php | 38 |
2 files changed, 2 insertions, 44 deletions
diff --git a/lib/htmlpurifier/library/HTMLPurifier/AttrTransform/Nofollow.php b/lib/htmlpurifier/library/HTMLPurifier/AttrTransform/Nofollow.php index f7fb1209b..573b42c9c 100644 --- a/lib/htmlpurifier/library/HTMLPurifier/AttrTransform/Nofollow.php +++ b/lib/htmlpurifier/library/HTMLPurifier/AttrTransform/Nofollow.php @@ -24,13 +24,9 @@ class HTMLPurifier_AttrTransform_Nofollow extends HTMLPurifier_AttrTransform $url = $this->parser->parse($attr['href']); $scheme = $url->getSchemeObj($config, $context); - if ($scheme->browsable && !$url->isLocal($config, $context)) { + if (!is_null($url->host) && $scheme !== false && $scheme->browsable) { if (isset($attr['rel'])) { - $rels = explode(' ', $attr); - if (!in_array('nofollow', $rels)) { - $rels[] = 'nofollow'; - } - $attr['rel'] = implode(' ', $rels); + $attr['rel'] .= ' nofollow'; } else { $attr['rel'] = 'nofollow'; } diff --git a/lib/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetBlank.php b/lib/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetBlank.php deleted file mode 100644 index a6502c749..000000000 --- a/lib/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetBlank.php +++ /dev/null @@ -1,38 +0,0 @@ -<?php - -// must be called POST validation - -/** - * Adds target="blank" to all outbound links. This transform is - * only attached if Attr.TargetBlank is TRUE. This works regardless - * of whether or not Attr.AllowedFrameTargets - */ -class HTMLPurifier_AttrTransform_TargetBlank extends HTMLPurifier_AttrTransform -{ - private $parser; - - public function __construct() { - $this->parser = new HTMLPurifier_URIParser(); - } - - public function transform($attr, $config, $context) { - - if (!isset($attr['href'])) { - return $attr; - } - - // XXX Kind of inefficient - $url = $this->parser->parse($attr['href']); - $scheme = $url->getSchemeObj($config, $context); - - if ($scheme->browsable && !$url->isBenign($config, $context)) { - $attr['target'] = 'blank'; - } - - return $attr; - - } - -} - -// vim: et sw=4 sts=4 |