summaryrefslogtreecommitdiff
path: root/lib/htmlpurifier/library/HTMLPurifier/AttrTransform
diff options
context:
space:
mode:
Diffstat (limited to 'lib/htmlpurifier/library/HTMLPurifier/AttrTransform')
-rw-r--r--lib/htmlpurifier/library/HTMLPurifier/AttrTransform/Nofollow.php8
-rw-r--r--lib/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetBlank.php38
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