Merge pull request #6018 from owncloud/fix_overwritehost

fix overwrite host support and make the code a bit more readable
This commit is contained in:
Thomas Müller 2013-11-24 14:02:51 -08:00
commit 45db67d174
2 changed files with 28 additions and 1 deletions

View File

@ -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;
}

26
tests/lib/request.php Normal file
View File

@ -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);
}
}