From 6e1c064fc9ab59df6f07e4f7127de5d4602e83ea Mon Sep 17 00:00:00 2001 From: szaimen Date: Thu, 3 Mar 2022 18:08:08 +0100 Subject: [PATCH] improve overwrite cli url setup check Signed-off-by: szaimen --- .../lib/Controller/CheckSetupController.php | 15 +++++++-------- core/js/setupchecks.js | 2 +- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/apps/settings/lib/Controller/CheckSetupController.php b/apps/settings/lib/Controller/CheckSetupController.php index 1809a47ff44e6..a6e054821f1e7 100644 --- a/apps/settings/lib/Controller/CheckSetupController.php +++ b/apps/settings/lib/Controller/CheckSetupController.php @@ -614,15 +614,14 @@ protected function hasWorkingFileLocking(): bool { } protected function getSuggestedOverwriteCliURL(): string { - $suggestedOverwriteCliUrl = ''; - if ($this->config->getSystemValue('overwrite.cli.url', '') === '') { - $suggestedOverwriteCliUrl = $this->request->getServerProtocol() . '://' . $this->request->getInsecureServerHost() . \OC::$WEBROOT; - if (!$this->config->getSystemValue('config_is_read_only', false)) { - // Set the overwrite URL when it was not set yet. - $this->config->setSystemValue('overwrite.cli.url', $suggestedOverwriteCliUrl); - $suggestedOverwriteCliUrl = ''; - } + $currentOverwriteCliUrl = $this->config->getSystemValue('overwrite.cli.url', ''); + $suggestedOverwriteCliUrl = $this->request->getServerProtocol() . '://' . $this->request->getInsecureServerHost() . \OC::$WEBROOT; + + // Check correctness by checking if it is a valid URL + if (filter_var($currentOverwriteCliUrl, FILTER_VALIDATE_URL)) { + $suggestedOverwriteCliUrl = ''; } + return $suggestedOverwriteCliUrl; } diff --git a/core/js/setupchecks.js b/core/js/setupchecks.js index 95d8c6cbdc299..fa67528de5d4d 100644 --- a/core/js/setupchecks.js +++ b/core/js/setupchecks.js @@ -225,7 +225,7 @@ } if (data.suggestedOverwriteCliURL !== '') { messages.push({ - msg: t('core', 'If your installation is not installed at the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the "overwrite.cli.url" option in your config.php file to the webroot path of your installation (suggestion: "{suggestedOverwriteCliURL}")', {suggestedOverwriteCliURL: data.suggestedOverwriteCliURL}), + msg: t('core', 'Please make sure to set the "overwrite.cli.url" option in your config.php file to the URL that your users mainly use to access this Nextcloud. Suggestion: "{suggestedOverwriteCliURL}". Otherwise there might be problems with the URL generation via cron. (It is possible though that the suggested URL is not the URL that your users mainly use to access this Nextcloud. Best is to double check this in any case.)', {suggestedOverwriteCliURL: data.suggestedOverwriteCliURL}), type: OC.SetupChecks.MESSAGE_TYPE_WARNING }); }