diff options
Diffstat (limited to 'library/HTMLPurifier/AttrTransform/Nofollow.php')
-rw-r--r-- | library/HTMLPurifier/AttrTransform/Nofollow.php | 52 |
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 |