ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
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
Processes an entire attribute array for corrections needing multiple values.
transform($attr, $config, $context)
Definition: TargetBlank.php:28
Adds target="blank" to all outbound links.
Definition: TargetBlank.php:10
Parses a URI into the components and fragment identifier as specified by RFC 3986.
Definition: URIParser.php:7
$url