diff options
-rw-r--r-- | core/Command/Maintenance/Install.php | 3 | ||||
-rw-r--r-- | core/Controller/SetupController.php | 8 | ||||
-rw-r--r-- | lib/private/Setup.php | 17 |
3 files changed, 23 insertions, 5 deletions
diff --git a/core/Command/Maintenance/Install.php b/core/Command/Maintenance/Install.php index c445f2c2f46..d53cd867b06 100644 --- a/core/Command/Maintenance/Install.php +++ b/core/Command/Maintenance/Install.php @@ -107,6 +107,9 @@ class Install extends Command { $this->printErrors($output, $errors); return 1; } + if ($setupHelper->shouldRemoveCanInstallFile()) { + $output->writeln('<warn>Could not remove CAN_INSTALL from the config folder. Please remove this file manually.</warn>'); + } $output->writeln("Nextcloud was successfully installed"); return 0; } diff --git a/core/Controller/SetupController.php b/core/Controller/SetupController.php index ab8b1973bf2..cdab39edf84 100644 --- a/core/Controller/SetupController.php +++ b/core/Controller/SetupController.php @@ -59,7 +59,7 @@ class SetupController { $post['dbpass'] = $post['dbpassword']; } - if (!is_file(\OC::$configDir.'/CAN_INSTALL')) { + if (!$this->setupHelper->canInstallFileExists()) { $this->displaySetupForbidden(); return; } @@ -107,10 +107,8 @@ class SetupController { } \OC::$server->getIntegrityCodeChecker()->runInstanceVerification(); - if (\OC_Util::getChannel() !== 'git' && is_file(\OC::$configDir.'/CAN_INSTALL')) { - if (!unlink(\OC::$configDir.'/CAN_INSTALL')) { - \OC_Template::printGuestPage('', 'installation_incomplete'); - } + if ($this->setupHelper->shouldRemoveCanInstallFile()) { + \OC_Template::printGuestPage('', 'installation_incomplete'); } header('Location: ' . \OC::$server->getURLGenerator()->getAbsoluteURL('index.php/core/apps/recommended')); diff --git a/lib/private/Setup.php b/lib/private/Setup.php index 7b08fb2f66f..e84a5e4987a 100644 --- a/lib/private/Setup.php +++ b/lib/private/Setup.php @@ -419,6 +419,9 @@ class Setup { //and we are done $config->setSystemValue('installed', true); + if (self::shouldRemoveCanInstallFile()) { + unlink(\OC::$configDir.'/CAN_INSTALL'); + } $bootstrapCoordinator = \OC::$server->query(\OC\AppFramework\Bootstrap\Coordinator::class); $bootstrapCoordinator->runInitialRegistration(); @@ -596,4 +599,18 @@ class Setup { 'channel' => (string)$OC_Channel, ]; } + + /** + * @return bool + */ + public function shouldRemoveCanInstallFile() { + return \OC_Util::getChannel() !== 'git' && is_file(\OC::$configDir.'/CAN_INSTALL'); + } + + /** + * @return bool + */ + public function canInstallFileExists() { + return is_file(\OC::$configDir.'/CAN_INSTALL'); + } } |