Block install without CAN_INSTALL file
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
This commit is contained in:
parent
7641a1589f
commit
7e7146db7f
5 changed files with 35 additions and 0 deletions
0
config/CAN_INSTALL
Normal file
0
config/CAN_INSTALL
Normal file
|
@ -62,6 +62,11 @@ class SetupController {
|
|||
$post['dbpass'] = $post['dbpassword'];
|
||||
}
|
||||
|
||||
if (!is_file(\OC::$configDir.'/CAN_INSTALL')) {
|
||||
$this->displaySetupForbidden();
|
||||
return;
|
||||
}
|
||||
|
||||
if(isset($post['install']) AND $post['install']=='true') {
|
||||
// We have to launch the installation process :
|
||||
$e = $this->setupHelper->install($post);
|
||||
|
@ -79,6 +84,10 @@ class SetupController {
|
|||
}
|
||||
}
|
||||
|
||||
private function displaySetupForbidden() {
|
||||
\OC_Template::printGuestPage('', 'installation_forbidden');
|
||||
}
|
||||
|
||||
public function display($post) {
|
||||
$defaults = array(
|
||||
'adminlogin' => '',
|
||||
|
@ -101,6 +110,13 @@ class SetupController {
|
|||
unlink($this->autoConfigFile);
|
||||
}
|
||||
\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');
|
||||
}
|
||||
}
|
||||
|
||||
\OC_Util::redirectToDefaultPage();
|
||||
}
|
||||
|
||||
|
|
6
core/templates/installation_forbidden.php
Normal file
6
core/templates/installation_forbidden.php
Normal file
|
@ -0,0 +1,6 @@
|
|||
<div class="error">
|
||||
<h2><?php p($l->t('Error')) ?></h2>
|
||||
<p>
|
||||
<?php p($l->t('It looks like you are trying to reinstall your Nextcloud. However the file CAN_INSTALL is missing from your config directory. Please create the file CAN_INSTALL in your config folder to continue.')) ?>
|
||||
</p>
|
||||
</div>
|
6
core/templates/installation_incomplete.php
Normal file
6
core/templates/installation_incomplete.php
Normal file
|
@ -0,0 +1,6 @@
|
|||
<div class="error">
|
||||
<h2><?php p($l->t('Error')) ?></h2>
|
||||
<p>
|
||||
<?php p($l->t('Could not remove CAN_INSTALL from the config folder. Please remove this file manually.')) ?>
|
||||
</p>
|
||||
</div>
|
|
@ -111,6 +111,13 @@ class Updater extends BasicEmitter {
|
|||
$this->emit('\OC\Updater', 'maintenanceEnabled');
|
||||
}
|
||||
|
||||
// Clear CAN_INSTALL file if not on git
|
||||
if (\OC_Util::getChannel() !== 'git' && is_file(\OC::$configDir.'/CAN_INSTALL')) {
|
||||
if (!unlink(\OC::$configDir . '/CAN_INSTALL')) {
|
||||
$this->log->error('Could not cleanup CAN_INSTALL from your config folder. Please remove this file manually.');
|
||||
}
|
||||
}
|
||||
|
||||
$installedVersion = $this->config->getSystemValue('version', '0.0.0');
|
||||
$currentVersion = implode('.', \OCP\Util::getVersion());
|
||||
|
||||
|
|
Loading…
Reference in a new issue