From 64d64610d25658de4af0062e208881583ef86f4f Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Mon, 18 Aug 2014 09:40:42 +0200 Subject: [PATCH] Add a note about overwritewebroot when using system cron If the current webroot is non-empty but the webroot from the config is, and system cron is used, the URL generator fails to build valid URLs. So we notify the admin to set it up correctly. Fix #9995 --- settings/admin.php | 15 +++++++++------ settings/templates/admin.php | 19 ++++++++++++++++++- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/settings/admin.php b/settings/admin.php index 9d631bbf98c..cf37726189b 100755 --- a/settings/admin.php +++ b/settings/admin.php @@ -19,6 +19,7 @@ $htaccessworking=OC_Util::isHtaccessWorking(); $entries=OC_Log_Owncloud::getEntries(3); $entriesremain = count(OC_Log_Owncloud::getEntries(4)) > 3; +$config = \OC::$server->getConfig(); // Should we display sendmail as an option? $tmpl->assign('sendmail_is_available', (bool) findBinaryPath('sendmail')); @@ -71,14 +72,16 @@ $tmpl->assign('groups', $groups); // Check if connected using HTTPS -if (OC_Request::serverProtocol() === 'https') { - $connectedHTTPS = true; -} else { - $connectedHTTPS = false; -} -$tmpl->assign('isConnectedViaHTTPS', $connectedHTTPS); +$tmpl->assign('isConnectedViaHTTPS', OC_Request::serverProtocol() === 'https'); $tmpl->assign('enforceHTTPSEnabled', OC_Config::getValue( "forcessl", false)); +// If the current webroot is non-empty but the webroot from the config is, +// and system cron is used, the URL generator fails to build valid URLs. +$shouldSuggestOverwriteWebroot = $config->getAppValue('core', 'backgroundjobs_mode', 'ajax') === 'cron' && + \OC::$WEBROOT && \OC::$WEBROOT !== '/' && + !$config->getSystemValue('overwritewebroot', ''); +$tmpl->assign('suggestedOverwriteWebroot', ($shouldSuggestOverwriteWebroot) ? \OC::$WEBROOT : ''); + $tmpl->assign('allowLinks', OC_Appconfig::getValue('core', 'shareapi_allow_links', 'yes')); $tmpl->assign('enforceLinkPassword', \OCP\Util::isPublicLinkPasswordRequired()); $tmpl->assign('allowPublicUpload', OC_Appconfig::getValue('core', 'shareapi_allow_public_upload', 'yes')); diff --git a/settings/templates/admin.php b/settings/templates/admin.php index 773f337eaf0..1f3701778ab 100644 --- a/settings/templates/admin.php +++ b/settings/templates/admin.php @@ -1,8 +1,12 @@ - * This file is licensed under the Affero General Public License version 3 or later. * See the COPYING-README file. */ +/** + * @var array $_ + */ $levels = array('Debug', 'Info', 'Warning', 'Error', 'Fatal'); $levelLabels = array( $l->t( 'Everything (fatal issues, errors, warnings, info, debug)' ), @@ -192,6 +196,19 @@ if (!$_['internetconnectionworking']) { +
+

t('URL generation in notification emails'));?>

+ + + t('If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the "overwritewebroot" option in your config.php file to the webroot path of your installation (Suggested: "%s")', $_['suggestedOverwriteWebroot'])); ?> + + +
+