ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
DisableExternal.php
Go to the documentation of this file.
1<?php
2
4{
8 public $name = 'DisableExternal';
9
13 protected $ourHostParts = false;
14
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
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
Chainable filters for custom URI processing.
Definition: URIFilter.php:29
$x
Definition: example_009.php:98