]> git.immae.eu Git - github/wallabag/wallabag.git/blame - inc/3rdparty/htmlpurifier/HTMLPurifier/URIFilter/DisableExternal.php
remove autoload section in composer.json
[github/wallabag/wallabag.git] / inc / 3rdparty / htmlpurifier / HTMLPurifier / URIFilter / DisableExternal.php
CommitLineData
d4949327
NL
1<?php\r
2\r
3class HTMLPurifier_URIFilter_DisableExternal extends HTMLPurifier_URIFilter\r
4{\r
5 /**\r
6 * @type string\r
7 */\r
8 public $name = 'DisableExternal';\r
9\r
10 /**\r
11 * @type array\r
12 */\r
13 protected $ourHostParts = false;\r
14\r
15 /**\r
16 * @param HTMLPurifier_Config $config\r
17 * @return void\r
18 */\r
19 public function prepare($config)\r
20 {\r
21 $our_host = $config->getDefinition('URI')->host;\r
22 if ($our_host !== null) {\r
23 $this->ourHostParts = array_reverse(explode('.', $our_host));\r
24 }\r
25 }\r
26\r
27 /**\r
28 * @param HTMLPurifier_URI $uri Reference\r
29 * @param HTMLPurifier_Config $config\r
30 * @param HTMLPurifier_Context $context\r
31 * @return bool\r
32 */\r
33 public function filter(&$uri, $config, $context)\r
34 {\r
35 if (is_null($uri->host)) {\r
36 return true;\r
37 }\r
38 if ($this->ourHostParts === false) {\r
39 return false;\r
40 }\r
41 $host_parts = array_reverse(explode('.', $uri->host));\r
42 foreach ($this->ourHostParts as $i => $x) {\r
43 if (!isset($host_parts[$i])) {\r
44 return false;\r
45 }\r
46 if ($host_parts[$i] != $this->ourHostParts[$i]) {\r
47 return false;\r
48 }\r
49 }\r
50 return true;\r
51 }\r
52}\r
53\r
54// vim: et sw=4 sts=4\r