From b8fcf6e9b3d492d19bbbdcd144428fef9bbf2324 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Tue, 20 Nov 2018 13:28:07 +0100 Subject: [PATCH] Allow empty strings in getAbsoluteURL Signed-off-by: Joas Schilling --- lib/private/URLGenerator.php | 4 ++-- tests/lib/UrlGeneratorTest.php | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/private/URLGenerator.php b/lib/private/URLGenerator.php index f4a83138e4..167690f3a6 100644 --- a/lib/private/URLGenerator.php +++ b/lib/private/URLGenerator.php @@ -237,13 +237,13 @@ class URLGenerator implements IURLGenerator { * @return string the absolute version of the url */ public function getAbsoluteURL(string $url): string { - $separator = $url[0] === '/' ? '' : '/'; + $separator = strpos($url, '/') === 0 ? '' : '/'; if (\OC::$CLI && !\defined('PHPUNIT_RUN')) { return rtrim($this->config->getSystemValue('overwrite.cli.url'), '/') . '/' . ltrim($url, '/'); } // The ownCloud web root can already be prepended. - if(substr($url, 0, \strlen(\OC::$WEBROOT)) === \OC::$WEBROOT) { + if(\OC::$WEBROOT !== '' && strpos($url, \OC::$WEBROOT) === 0) { $url = substr($url, \strlen(\OC::$WEBROOT)); } diff --git a/tests/lib/UrlGeneratorTest.php b/tests/lib/UrlGeneratorTest.php index cc93febd53..9a8e588a22 100644 --- a/tests/lib/UrlGeneratorTest.php +++ b/tests/lib/UrlGeneratorTest.php @@ -145,6 +145,8 @@ class UrlGeneratorTest extends \Test\TestCase { public function provideSubDirURLs() { return [ + ['', 'http://localhost/nextcloud/'], + ['/', 'http://localhost/nextcloud/'], ['index.php', 'http://localhost/nextcloud/index.php'], ['/index.php', 'http://localhost/nextcloud/index.php'], ['/apps/index.php', 'http://localhost/nextcloud/apps/index.php'],