]> source.dussan.org Git - nextcloud-server.git/commitdiff
Add a note about overwritewebroot when using system cron
authorJoas Schilling <nickvergessen@gmx.de>
Mon, 18 Aug 2014 07:40:42 +0000 (09:40 +0200)
committerJoas Schilling <nickvergessen@gmx.de>
Mon, 18 Aug 2014 09:10:22 +0000 (11:10 +0200)
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
settings/templates/admin.php

index 9d631bbf98cbe637e20f2a53fc6ae1e31f0d0dde..cf37726189b8284697410372abb96f33279fcb9b 100755 (executable)
@@ -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'));
index 773f337eaf0d1a8d7d11fca15cf6d14360bd2b51..1f3701778ab8d18b062a40d99e104e629f0727b0 100644 (file)
@@ -1,8 +1,12 @@
-<?php /**
+<?php
+/**
  * Copyright (c) 2011, Robin Appelman <icewind1991@gmail.com>
  * 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']) {
        </div>
 <?php
 }
+
+if ($_['suggestedOverwriteWebroot']) {
+       ?>
+       <div class="section">
+               <h2><?php p($l->t('URL generation in notification emails'));?></h2>
+
+               <span class="connectionwarning">
+               <?php p($l->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'])); ?>
+       </span>
+
+       </div>
+<?php
+}
 ?>
 
 <?php foreach ($_['forms'] as $form) {