]> source.dussan.org Git - nextcloud-server.git/commitdiff
Set overwritemailurl* configs on setup
authorJoas Schilling <nickvergessen@gmx.de>
Mon, 13 Oct 2014 09:18:24 +0000 (11:18 +0200)
committerThomas Müller <thomas.mueller@tmit.eu>
Tue, 14 Oct 2014 03:07:09 +0000 (05:07 +0200)
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

config/config.sample.php
lib/private/setup.php
lib/private/urlgenerator.php

index 02958ace0c2aad991a04d41b558d28de12c69ac1..0a21978ba2b2e9da08add6086c0b72ac3c3bde3f 100755 (executable)
@@ -329,6 +329,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``.
  */
index b1b3388f81bda31cc8a079ca8910927cad64b589..75dc1987ee6c3d91de55f1bad148dd313717d50c 100644 (file)
@@ -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()));
 
index f5ec9803edb14e4cb6e3834b131421b218fcd138..e50e9eed6af0a6832b859b8b004bbbad3b3823d9 100644 (file)
@@ -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
                        ? ''