diff options
author | Morris Jobke <hey@morrisjobke.de> | 2014-07-07 19:36:41 +0200 |
---|---|---|
committer | Morris Jobke <hey@morrisjobke.de> | 2014-07-07 19:36:41 +0200 |
commit | b2377129b6b51685010fc80f1410c6152ee9b7e5 (patch) | |
tree | 95b478b31f52f28290c4f317b21b5318d7d3feb2 | |
parent | ed9b9ba671131e356938627e6344064f190f5313 (diff) | |
parent | bef093471933e434cafba69f1e50ad5308da6dd2 (diff) | |
download | nextcloud-server-b2377129b6b51685010fc80f1410c6152ee9b7e5.tar.gz nextcloud-server-b2377129b6b51685010fc80f1410c6152ee9b7e5.zip |
Merge pull request #9494 from owncloud/issue/9490
[issues/9490] \OC::$WEBROOT is invalid when called from cron.php
-rwxr-xr-x | config/config.sample.php | 8 | ||||
-rw-r--r-- | lib/base.php | 14 | ||||
-rwxr-xr-x | lib/private/request.php | 2 |
3 files changed, 16 insertions, 8 deletions
diff --git a/config/config.sample.php b/config/config.sample.php index e613609bcef..1bfae366fff 100755 --- a/config/config.sample.php +++ b/config/config.sample.php @@ -41,16 +41,16 @@ $CONFIG = array( /* Blacklist a specific file and disallow the upload of files with this name - WARNING: USE THIS ONLY IF YOU KNOW WHAT YOU ARE DOING. */ "blacklisted_files" => array('.htaccess'), -/* The automatic hostname detection of ownCloud can fail in certain reverse proxy situations. This option allows to manually override the automatic detection. You can also add a port. For example "www.example.com:88" */ +/* The automatic hostname detection of ownCloud can fail in certain reverse proxy and CLI/cron situations. This option allows to manually override the automatic detection. You can also add a port. For example "www.example.com:88" */ "overwritehost" => "", -/* The automatic protocol detection of ownCloud can fail in certain reverse proxy situations. This option allows to manually override the protocol detection. For example "https" */ +/* The automatic protocol detection of ownCloud can fail in certain reverse proxy and CLI/cron situations. This option allows to manually override the protocol detection. For example "https" */ "overwriteprotocol" => "", -/* The automatic webroot detection of ownCloud can fail in certain reverse proxy situations. This option allows to manually override the automatic detection. For example "/domain.tld/ownCloud". The value "/" can be used to remove the root. */ +/* The automatic webroot detection of ownCloud can fail in certain reverse proxy and CLI/cron situations. This option allows to manually override the automatic detection. For example "/domain.tld/ownCloud". The value "/" can be used to remove the root. */ "overwritewebroot" => "", -/* The automatic detection of ownCloud can fail in certain reverse proxy situations. This option allows to define a manually override condition as regular expression for the remote ip address. For example "^10\.0\.0\.[1-3]$" */ +/* The automatic detection of ownCloud can fail in certain reverse proxy and CLI/cron situations. This option allows to define a manually override condition as regular expression for the remote ip address. For example "^10\.0\.0\.[1-3]$" */ "overwritecondaddr" => "", /* A proxy to use to connect to the internet. For example "myproxy.org:88" */ diff --git a/lib/base.php b/lib/base.php index b526840a97d..840d9044711 100644 --- a/lib/base.php +++ b/lib/base.php @@ -117,10 +117,18 @@ class OC { } } - OC::$WEBROOT = substr($scriptName, 0, strlen($scriptName) - strlen(OC::$SUBURI)); + if (substr($scriptName, 0 - strlen(OC::$SUBURI)) === OC::$SUBURI) { + OC::$WEBROOT = substr($scriptName, 0, 0 - strlen(OC::$SUBURI)); - if (OC::$WEBROOT != '' and OC::$WEBROOT[0] !== '/') { - OC::$WEBROOT = '/' . OC::$WEBROOT; + if (OC::$WEBROOT != '' && OC::$WEBROOT[0] !== '/') { + OC::$WEBROOT = '/' . OC::$WEBROOT; + } + } else { + // The scriptName is not ending with OC::$SUBURI + // This most likely means that we are calling from CLI. + // However some cron jobs still need to generate + // a web URL, so we use overwritewebroot as a fallback. + OC::$WEBROOT = OC_Config::getValue('overwritewebroot', ''); } // search the 3rdparty folder diff --git a/lib/private/request.php b/lib/private/request.php index 619eae3e9b5..5fd5b3a7197 100755 --- a/lib/private/request.php +++ b/lib/private/request.php @@ -95,7 +95,7 @@ class OC_Request { * reverse proxies */ public static function serverHost() { - if(OC::$CLI) { + if (OC::$CLI && defined('PHPUNIT_RUN')) { return 'localhost'; } |