aboutsummaryrefslogtreecommitdiffhomepage
path: root/inc/3rdparty/htmlpurifier/HTMLPurifier/URIFilter/DisableExternal.php
diff options
context:
space:
mode:
authorNicolas LÅ“uillet <nicolas.loeuillet@gmail.com>2014-02-21 15:43:14 +0100
committerNicolas LÅ“uillet <nicolas.loeuillet@gmail.com>2014-02-21 15:43:14 +0100
commitd4949327efa15b492cab1bef3fe074290a328a17 (patch)
treee89e0322bb1f1b06d663fd10fdded21bac867e5d /inc/3rdparty/htmlpurifier/HTMLPurifier/URIFilter/DisableExternal.php
parentc9bd17a1007bb78e5de0775efca01df0fb515031 (diff)
downloadwallabag-d4949327efa15b492cab1bef3fe074290a328a17.tar.gz
wallabag-d4949327efa15b492cab1bef3fe074290a328a17.tar.zst
wallabag-d4949327efa15b492cab1bef3fe074290a328a17.zip
[add] HTML Purifier added to clean code
Diffstat (limited to 'inc/3rdparty/htmlpurifier/HTMLPurifier/URIFilter/DisableExternal.php')
-rw-r--r--inc/3rdparty/htmlpurifier/HTMLPurifier/URIFilter/DisableExternal.php54
1 files changed, 54 insertions, 0 deletions
diff --git a/inc/3rdparty/htmlpurifier/HTMLPurifier/URIFilter/DisableExternal.php b/inc/3rdparty/htmlpurifier/HTMLPurifier/URIFilter/DisableExternal.php
new file mode 100644
index 00000000..52e12977
--- /dev/null
+++ b/inc/3rdparty/htmlpurifier/HTMLPurifier/URIFilter/DisableExternal.php
@@ -0,0 +1,54 @@
1<?php
2
3class HTMLPurifier_URIFilter_DisableExternal extends HTMLPurifier_URIFilter
4{
5 /**
6 * @type string
7 */
8 public $name = 'DisableExternal';
9
10 /**
11 * @type array
12 */
13 protected $ourHostParts = false;
14
15 /**
16 * @param HTMLPurifier_Config $config
17 * @return void
18 */
19 public function prepare($config)
20 {
21 $our_host = $config->getDefinition('URI')->host;
22 if ($our_host !== null) {
23 $this->ourHostParts = array_reverse(explode('.', $our_host));
24 }
25 }
26
27 /**
28 * @param HTMLPurifier_URI $uri Reference
29 * @param HTMLPurifier_Config $config
30 * @param HTMLPurifier_Context $context
31 * @return bool
32 */
33 public function filter(&$uri, $config, $context)
34 {
35 if (is_null($uri->host)) {
36 return true;
37 }
38 if ($this->ourHostParts === false) {
39 return false;
40 }
41 $host_parts = array_reverse(explode('.', $uri->host));
42 foreach ($this->ourHostParts as $i => $x) {
43 if (!isset($host_parts[$i])) {
44 return false;
45 }
46 if ($host_parts[$i] != $this->ourHostParts[$i]) {
47 return false;
48 }
49 }
50 return true;
51 }
52}
53
54// vim: et sw=4 sts=4