ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
TargetBlank.php
Go to the documentation of this file.
1<?php
2
3// must be called POST validation
4
11{
15 private $parser;
16
17 public function __construct()
18 {
19 $this->parser = new HTMLPurifier_URIParser();
20 }
21
28 public function transform($attr, $config, $context)
29 {
30 if (!isset($attr['href'])) {
31 return $attr;
32 }
33
34 // XXX Kind of inefficient
35 $url = $this->parser->parse($attr['href']);
36 $scheme = $url->getSchemeObj($config, $context);
37
38 if ($scheme->browsable && !$url->isBenign($config, $context)) {
39 $attr['target'] = '_blank';
40 }
41 return $attr;
42 }
43}
44
45// vim: et sw=4 sts=4
Adds target="blank" to all outbound links.
Definition: TargetBlank.php:11
transform($attr, $config, $context)
Definition: TargetBlank.php:28
$parser
@type HTMLPurifier_URIParser
Definition: TargetBlank.php:15
Processes an entire attribute array for corrections needing multiple values.
Parses a URI into the components and fragment identifier as specified by RFC 3986.
Definition: URIParser.php:8
$url
Definition: shib_logout.php:72