diff options
author | Joas Schilling <nickvergessen@gmx.de> | 2014-10-13 11:18:24 +0200 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2014-10-14 05:07:09 +0200 |
commit | 0407bc097895355b90bc722e8b58afb27a40d538 (patch) | |
tree | 44634a277863ee776251b260a4fcdca7dd483d2b | |
parent | baffe5353f3fd57fd9ecb353ae81bf3164896f6f (diff) | |
download | nextcloud-server-0407bc097895355b90bc722e8b58afb27a40d538.tar.gz nextcloud-server-0407bc097895355b90bc722e8b58afb27a40d538.zip |
Set overwritemailurl* configs on setup
Correctly use overwritemailurl value when generating absolute urls in CLI
Fix #11500
Rename the config to *cli
Add overwrite.cli.url to the sample config
Revert separator fix, fixes unit test
-rwxr-xr-x | config/config.sample.php | 7 | ||||
-rw-r--r-- | lib/private/setup.php | 2 | ||||
-rw-r--r-- | lib/private/urlgenerator.php | 4 |
3 files changed, 12 insertions, 1 deletions
diff --git a/config/config.sample.php b/config/config.sample.php index 02958ace0c2..0a21978ba2b 100755 --- a/config/config.sample.php +++ b/config/config.sample.php @@ -330,6 +330,13 @@ $CONFIG = array( 'overwritecondaddr' => '', /** + * Use this configuration parameter to specify the base url for any urls which are + * generated within ownCloud using any kind of command line tools (cron or occ). + * The value should contain the full base URL: ``https://www.example.com/owncloud`` + */ +'overwrite.cli.url' => '', + +/** * The URL of your proxy server, for example ``proxy.example.com:8081``. */ 'proxy' => '', diff --git a/lib/private/setup.php b/lib/private/setup.php index b1b3388f81b..75dc1987ee6 100644 --- a/lib/private/setup.php +++ b/lib/private/setup.php @@ -86,7 +86,7 @@ class OC_Setup { //write the config file \OC::$server->getConfig()->setSystemValue('trusted_domains', $trustedDomains); \OC::$server->getConfig()->setSystemValue('datadirectory', $datadir); - \OC::$server->getConfig()->setSystemValue('overwritewebroot', OC::$WEBROOT); + \OC::$server->getConfig()->setSystemValue('overwrite.cli.url', \OC_Request::serverProtocol() . '://' . \OC_Request::serverHost() . OC::$WEBROOT); \OC::$server->getConfig()->setSystemValue('dbtype', $dbtype); \OC::$server->getConfig()->setSystemValue('version', implode('.', OC_Util::getVersion())); diff --git a/lib/private/urlgenerator.php b/lib/private/urlgenerator.php index f5ec9803edb..e50e9eed6af 100644 --- a/lib/private/urlgenerator.php +++ b/lib/private/urlgenerator.php @@ -162,6 +162,10 @@ class URLGenerator implements IURLGenerator { public function getAbsoluteURL($url) { $separator = $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. $webRoot = substr($url, 0, strlen(\OC::$WEBROOT)) === \OC::$WEBROOT ? '' |