Merge pull request #7354 from nextcloud/refacor-update-page-print
Refactor method to check if update is needed
This commit is contained in:
commit
c7d9e5fd63
|
@ -27,6 +27,7 @@
|
||||||
namespace OCA\DAV\Connector\Sabre;
|
namespace OCA\DAV\Connector\Sabre;
|
||||||
|
|
||||||
use OCP\IConfig;
|
use OCP\IConfig;
|
||||||
|
use OCP\Util;
|
||||||
use Sabre\DAV\Exception\ServiceUnavailable;
|
use Sabre\DAV\Exception\ServiceUnavailable;
|
||||||
use Sabre\DAV\ServerPlugin;
|
use Sabre\DAV\ServerPlugin;
|
||||||
|
|
||||||
|
@ -80,7 +81,7 @@ class MaintenancePlugin extends ServerPlugin {
|
||||||
if ($this->config->getSystemValue('maintenance', false)) {
|
if ($this->config->getSystemValue('maintenance', false)) {
|
||||||
throw new ServiceUnavailable('System in maintenance mode.');
|
throw new ServiceUnavailable('System in maintenance mode.');
|
||||||
}
|
}
|
||||||
if (\OC::checkUpgrade(false)) {
|
if (Util::needUpgrade()) {
|
||||||
throw new ServiceUnavailable('Upgrade needed');
|
throw new ServiceUnavailable('Upgrade needed');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -39,6 +39,7 @@ use OC\Installer;
|
||||||
use OC\Updater;
|
use OC\Updater;
|
||||||
use OCP\IConfig;
|
use OCP\IConfig;
|
||||||
use OCP\ILogger;
|
use OCP\ILogger;
|
||||||
|
use OCP\Util;
|
||||||
use Symfony\Component\Console\Command\Command;
|
use Symfony\Component\Console\Command\Command;
|
||||||
use Symfony\Component\Console\Helper\ProgressBar;
|
use Symfony\Component\Console\Helper\ProgressBar;
|
||||||
use Symfony\Component\Console\Input\InputInterface;
|
use Symfony\Component\Console\Input\InputInterface;
|
||||||
|
@ -87,7 +88,7 @@ class Upgrade extends Command {
|
||||||
*/
|
*/
|
||||||
protected function execute(InputInterface $input, OutputInterface $output) {
|
protected function execute(InputInterface $input, OutputInterface $output) {
|
||||||
|
|
||||||
if(\OC::checkUpgrade(false)) {
|
if(Util::needUpgrade()) {
|
||||||
if (OutputInterface::VERBOSITY_NORMAL < $output->getVerbosity()) {
|
if (OutputInterface::VERBOSITY_NORMAL < $output->getVerbosity()) {
|
||||||
// Prepend each line with a little timestamp
|
// Prepend each line with a little timestamp
|
||||||
$timestampFormatter = new TimestampFormatter($this->config, $output->getFormatter());
|
$timestampFormatter = new TimestampFormatter($this->config, $output->getFormatter());
|
||||||
|
|
|
@ -98,7 +98,7 @@ class FeedBackHandler {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (OC::checkUpgrade(false)) {
|
if (\OCP\Util::needUpgrade()) {
|
||||||
|
|
||||||
$config = \OC::$server->getSystemConfig();
|
$config = \OC::$server->getSystemConfig();
|
||||||
if ($config->getValue('upgrade.disable-web', false)) {
|
if ($config->getValue('upgrade.disable-web', false)) {
|
||||||
|
|
51
lib/base.php
51
lib/base.php
|
@ -236,7 +236,7 @@ class OC {
|
||||||
// Check if config is writable
|
// Check if config is writable
|
||||||
$configFileWritable = is_writable($configFilePath);
|
$configFileWritable = is_writable($configFilePath);
|
||||||
if (!$configFileWritable && !OC_Helper::isReadOnlyConfigEnabled()
|
if (!$configFileWritable && !OC_Helper::isReadOnlyConfigEnabled()
|
||||||
|| !$configFileWritable && self::checkUpgrade(false)) {
|
|| !$configFileWritable && \OCP\Util::needUpgrade()) {
|
||||||
|
|
||||||
$urlGenerator = \OC::$server->getURLGenerator();
|
$urlGenerator = \OC::$server->getURLGenerator();
|
||||||
|
|
||||||
|
@ -289,38 +289,16 @@ class OC {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Checks if the version requires an update and shows
|
|
||||||
* @param bool $showTemplate Whether an update screen should get shown
|
|
||||||
* @return bool|void
|
|
||||||
*/
|
|
||||||
public static function checkUpgrade($showTemplate = true) {
|
|
||||||
if (\OCP\Util::needUpgrade()) {
|
|
||||||
if (function_exists('opcache_reset')) {
|
|
||||||
opcache_reset();
|
|
||||||
}
|
|
||||||
$systemConfig = \OC::$server->getSystemConfig();
|
|
||||||
if ($showTemplate && !$systemConfig->getValue('maintenance', false)) {
|
|
||||||
self::printUpgradePage();
|
|
||||||
exit();
|
|
||||||
} else {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Prints the upgrade page
|
* Prints the upgrade page
|
||||||
|
*
|
||||||
|
* @param \OC\SystemConfig $systemConfig
|
||||||
*/
|
*/
|
||||||
private static function printUpgradePage() {
|
private static function printUpgradePage(\OC\SystemConfig $systemConfig) {
|
||||||
$systemConfig = \OC::$server->getSystemConfig();
|
|
||||||
|
|
||||||
$disableWebUpdater = $systemConfig->getValue('upgrade.disable-web', false);
|
$disableWebUpdater = $systemConfig->getValue('upgrade.disable-web', false);
|
||||||
$tooBig = false;
|
$tooBig = false;
|
||||||
if (!$disableWebUpdater) {
|
if (!$disableWebUpdater) {
|
||||||
$apps = \OC::$server->getAppManager();
|
$apps = \OC::$server->getAppManager();
|
||||||
$tooBig = false;
|
|
||||||
if ($apps->isInstalled('user_ldap')) {
|
if ($apps->isInstalled('user_ldap')) {
|
||||||
$qb = \OC::$server->getDatabaseConnection()->getQueryBuilder();
|
$qb = \OC::$server->getDatabaseConnection()->getQueryBuilder();
|
||||||
|
|
||||||
|
@ -724,7 +702,7 @@ class OC {
|
||||||
);
|
);
|
||||||
|
|
||||||
//setup extra user backends
|
//setup extra user backends
|
||||||
if (!self::checkUpgrade(false)) {
|
if (!\OCP\Util::needUpgrade()) {
|
||||||
OC_User::setupBackends();
|
OC_User::setupBackends();
|
||||||
} else {
|
} else {
|
||||||
// Run upgrades in incognito mode
|
// Run upgrades in incognito mode
|
||||||
|
@ -807,7 +785,7 @@ class OC {
|
||||||
*/
|
*/
|
||||||
public static function registerCleanupHooks() {
|
public static function registerCleanupHooks() {
|
||||||
//don't try to do this before we are properly setup
|
//don't try to do this before we are properly setup
|
||||||
if (\OC::$server->getSystemConfig()->getValue('installed', false) && !self::checkUpgrade(false)) {
|
if (\OC::$server->getSystemConfig()->getValue('installed', false) && !\OCP\Util::needUpgrade()) {
|
||||||
|
|
||||||
// NOTE: This will be replaced to use OCP
|
// NOTE: This will be replaced to use OCP
|
||||||
$userSession = self::$server->getUserSession();
|
$userSession = self::$server->getUserSession();
|
||||||
|
@ -925,7 +903,7 @@ class OC {
|
||||||
if (!$systemConfig->getValue('installed', false)) {
|
if (!$systemConfig->getValue('installed', false)) {
|
||||||
\OC::$server->getSession()->clear();
|
\OC::$server->getSession()->clear();
|
||||||
$setupHelper = new OC\Setup(
|
$setupHelper = new OC\Setup(
|
||||||
\OC::$server->getSystemConfig(),
|
$systemConfig,
|
||||||
\OC::$server->getIniWrapper(),
|
\OC::$server->getIniWrapper(),
|
||||||
\OC::$server->getL10N('lib'),
|
\OC::$server->getL10N('lib'),
|
||||||
\OC::$server->query(\OCP\Defaults::class),
|
\OC::$server->query(\OCP\Defaults::class),
|
||||||
|
@ -945,7 +923,16 @@ class OC {
|
||||||
}
|
}
|
||||||
if (substr($requestPath, -3) !== '.js') { // we need these files during the upgrade
|
if (substr($requestPath, -3) !== '.js') { // we need these files during the upgrade
|
||||||
self::checkMaintenanceMode();
|
self::checkMaintenanceMode();
|
||||||
self::checkUpgrade();
|
|
||||||
|
if (\OCP\Util::needUpgrade()) {
|
||||||
|
if (function_exists('opcache_reset')) {
|
||||||
|
opcache_reset();
|
||||||
|
}
|
||||||
|
if (!$systemConfig->getValue('maintenance', false)) {
|
||||||
|
self::printUpgradePage($systemConfig);
|
||||||
|
exit();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// emergency app disabling
|
// emergency app disabling
|
||||||
|
@ -968,7 +955,7 @@ class OC {
|
||||||
OC_App::loadApps(['authentication']);
|
OC_App::loadApps(['authentication']);
|
||||||
|
|
||||||
// Load minimum set of apps
|
// Load minimum set of apps
|
||||||
if (!self::checkUpgrade(false)
|
if (!\OCP\Util::needUpgrade()
|
||||||
&& !$systemConfig->getValue('maintenance', false)) {
|
&& !$systemConfig->getValue('maintenance', false)) {
|
||||||
// For logged-in users: Load everything
|
// For logged-in users: Load everything
|
||||||
if(\OC::$server->getUserSession()->isLoggedIn()) {
|
if(\OC::$server->getUserSession()->isLoggedIn()) {
|
||||||
|
@ -982,7 +969,7 @@ class OC {
|
||||||
|
|
||||||
if (!self::$CLI) {
|
if (!self::$CLI) {
|
||||||
try {
|
try {
|
||||||
if (!$systemConfig->getValue('maintenance', false) && !self::checkUpgrade(false)) {
|
if (!$systemConfig->getValue('maintenance', false) && !\OCP\Util::needUpgrade()) {
|
||||||
OC_App::loadApps(array('filesystem', 'logging'));
|
OC_App::loadApps(array('filesystem', 'logging'));
|
||||||
OC_App::loadApps();
|
OC_App::loadApps();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue