]> source.dussan.org Git - nextcloud-server.git/commitdiff
Allow empty strings in getAbsoluteURL 12553/head
authorJoas Schilling <coding@schilljs.com>
Tue, 20 Nov 2018 12:28:07 +0000 (13:28 +0100)
committerJoas Schilling <coding@schilljs.com>
Tue, 20 Nov 2018 12:36:16 +0000 (13:36 +0100)
Signed-off-by: Joas Schilling <coding@schilljs.com>
lib/private/URLGenerator.php
tests/lib/UrlGeneratorTest.php

index f4a83138e4c5ad4cbbc4b3cc20060dbc581d16c1..167690f3a6e36c6fbb60cda1d88cead9ecab0136 100644 (file)
@@ -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));
                }
 
index cc93febd53d261a01dbd68af969e7621106c26e6..9a8e588a22951394fd86adfa942d68f42eae8b70 100644 (file)
@@ -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'],