ILIAS  Release_4_2_x_branch Revision 61807
 All Data Structures Namespaces Files Functions Variables Groups Pages
HTMLPurifier_AttrTransform_Nofollow Class Reference

Adds rel="nofollow" to all outbound links. More...

+ Inheritance diagram for HTMLPurifier_AttrTransform_Nofollow:
+ Collaboration diagram for HTMLPurifier_AttrTransform_Nofollow:

Public Member Functions

 __construct ()
 transform ($attr, $config, $context)
 Abstract: makes changes to the attributes dependent on multiple values.
- Public Member Functions inherited from HTMLPurifier_AttrTransform
 prependCSS (&$attr, $css)
 Prepends CSS properties to the style attribute, creating the attribute if it doesn't exist.
 confiscateAttr (&$attr, $key)
 Retrieves and removes an attribute.

Private Attributes

 $parser

Detailed Description

Adds rel="nofollow" to all outbound links.

This transform is only attached if Attr.Nofollow is TRUE.

Definition at line 9 of file Nofollow.php.

Constructor & Destructor Documentation

HTMLPurifier_AttrTransform_Nofollow::__construct ( )

Definition at line 13 of file Nofollow.php.

{
$this->parser = new HTMLPurifier_URIParser();
}

Member Function Documentation

HTMLPurifier_AttrTransform_Nofollow::transform (   $attr,
  $config,
  $context 
)

Abstract: makes changes to the attributes dependent on multiple values.

Parameters
$attrAssoc array of attributes, usually from HTMLPurifier_Token_Tag::$attr
$configMandatory HTMLPurifier_Config object.
$contextMandatory HTMLPurifier_Context object
Returns
Processed attribute array.

Reimplemented from HTMLPurifier_AttrTransform.

Definition at line 17 of file Nofollow.php.

References $config.

{
if (!isset($attr['href'])) {
return $attr;
}
// XXX Kind of inefficient
$url = $this->parser->parse($attr['href']);
$scheme = $url->getSchemeObj($config, $context);
if (!is_null($url->host) && $scheme !== false && $scheme->browsable) {
if (isset($attr['rel'])) {
$attr['rel'] .= ' nofollow';
} else {
$attr['rel'] = 'nofollow';
}
}
return $attr;
}

Field Documentation

HTMLPurifier_AttrTransform_Nofollow::$parser
private

Definition at line 11 of file Nofollow.php.


The documentation for this class was generated from the following file: