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
This commit is contained in:
Joas Schilling 2014-10-13 11:18:24 +02:00 committed by Thomas Müller
parent baffe5353f
commit 0407bc0978
3 changed files with 12 additions and 1 deletions

View file

@ -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``.
*/

View 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()));

View 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
? ''