aboutsummaryrefslogtreecommitdiffstats
path: root/library/HTMLPurifier/AttrTransform/Nofollow.php
diff options
context:
space:
mode:
Diffstat (limited to 'library/HTMLPurifier/AttrTransform/Nofollow.php')
-rw-r--r--library/HTMLPurifier/AttrTransform/Nofollow.php52
1 files changed, 0 insertions, 52 deletions
diff --git a/library/HTMLPurifier/AttrTransform/Nofollow.php b/library/HTMLPurifier/AttrTransform/Nofollow.php
deleted file mode 100644
index 1057ebee1..000000000
--- a/library/HTMLPurifier/AttrTransform/Nofollow.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-
-// must be called POST validation
-
-/**
- * Adds rel="nofollow" to all outbound links. This transform is
- * only attached if Attr.Nofollow is TRUE.
- */
-class HTMLPurifier_AttrTransform_Nofollow extends HTMLPurifier_AttrTransform
-{
- /**
- * @type HTMLPurifier_URIParser
- */
- private $parser;
-
- public function __construct()
- {
- $this->parser = new HTMLPurifier_URIParser();
- }
-
- /**
- * @param array $attr
- * @param HTMLPurifier_Config $config
- * @param HTMLPurifier_Context $context
- * @return array
- */
- 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->isLocal($config, $context)) {
- if (isset($attr['rel'])) {
- $rels = explode(' ', $attr['rel']);
- if (!in_array('nofollow', $rels)) {
- $rels[] = 'nofollow';
- }
- $attr['rel'] = implode(' ', $rels);
- } else {
- $attr['rel'] = 'nofollow';
- }
- }
- return $attr;
- }
-}
-
-// vim: et sw=4 sts=4