diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2013-11-24 14:02:51 -0800 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2013-11-24 14:02:51 -0800 |
commit | 45db67d1744a278c5a00d6432e03de36514eb26f (patch) | |
tree | 5b4bbe2b2e57be792365a74d9a80c634220837a7 | |
parent | aef34618de995316d60d699cbb9c6fb697658d12 (diff) | |
parent | 229630f14c64c4a0889f567fc8ac2159a63cbb90 (diff) | |
download | nextcloud-server-45db67d1744a278c5a00d6432e03de36514eb26f.tar.gz nextcloud-server-45db67d1744a278c5a00d6432e03de36514eb26f.zip |
Merge pull request #6018 from owncloud/fix_overwritehost
fix overwrite host support and make the code a bit more readable
-rwxr-xr-x | lib/private/request.php | 3 | ||||
-rw-r--r-- | tests/lib/request.php | 26 |
2 files changed, 28 insertions, 1 deletions
diff --git a/lib/private/request.php b/lib/private/request.php index df33217f95d..d11e5b16cfe 100755 --- a/lib/private/request.php +++ b/lib/private/request.php @@ -9,6 +9,7 @@ class OC_Request { /** * @brief Check overwrite condition + * @param string $type * @returns bool */ private static function isOverwriteCondition($type = '') { @@ -99,7 +100,7 @@ class OC_Request { public static function scriptName() { $name = $_SERVER['SCRIPT_NAME']; if (OC_Config::getValue('overwritewebroot', '') !== '' and self::isOverwriteCondition()) { - $serverroot = str_replace("\\", '/', substr(__DIR__, 0, -4)); + $serverroot = str_replace("\\", '/', substr(__DIR__, 0, -strlen('lib/private/'))); $suburi = str_replace("\\", "/", substr(realpath($_SERVER["SCRIPT_FILENAME"]), strlen($serverroot))); $name = OC_Config::getValue('overwritewebroot', '') . $suburi; } diff --git a/tests/lib/request.php b/tests/lib/request.php new file mode 100644 index 00000000000..2b2094a612d --- /dev/null +++ b/tests/lib/request.php @@ -0,0 +1,26 @@ +<?php +/** + * Copyright (c) 2013 Thomas Müller <thomas.mueller@tmit.eu> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +class Test_Request extends PHPUnit_Framework_TestCase { + + public function setUp() { + OC_Config::setValue('overwritewebroot', '/domain.tld/ownCloud'); + } + + public function tearDown() { + OC_Config::setValue('overwritewebroot', ''); + } + + public function testScriptNameOverWrite() { + $_SERVER['REMOTE_ADDR'] = '10.0.0.1'; + $_SERVER["SCRIPT_FILENAME"] = __FILE__; + + $scriptName = OC_Request::scriptName(); + $this->assertEquals('/domain.tld/ownCloud/tests/lib/request.php', $scriptName); + } +} |