|
|
|
|
@ -236,7 +236,7 @@ class OC { |
|
|
|
|
// Check if config is writable |
|
|
|
|
$configFileWritable = is_writable($configFilePath); |
|
|
|
|
if (!$configFileWritable && !OC_Helper::isReadOnlyConfigEnabled() |
|
|
|
|
|| !$configFileWritable && self::checkUpgrade(false)) { |
|
|
|
|
|| !$configFileWritable && \OCP\Util::needUpgrade()) { |
|
|
|
|
|
|
|
|
|
$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 |
|
|
|
|
* |
|
|
|
|
* @param \OC\SystemConfig $systemConfig |
|
|
|
|
*/ |
|
|
|
|
private static function printUpgradePage() { |
|
|
|
|
$systemConfig = \OC::$server->getSystemConfig(); |
|
|
|
|
|
|
|
|
|
private static function printUpgradePage(\OC\SystemConfig $systemConfig) { |
|
|
|
|
$disableWebUpdater = $systemConfig->getValue('upgrade.disable-web', false); |
|
|
|
|
$tooBig = false; |
|
|
|
|
if (!$disableWebUpdater) { |
|
|
|
|
$apps = \OC::$server->getAppManager(); |
|
|
|
|
$tooBig = false; |
|
|
|
|
if ($apps->isInstalled('user_ldap')) { |
|
|
|
|
$qb = \OC::$server->getDatabaseConnection()->getQueryBuilder(); |
|
|
|
|
|
|
|
|
|
@ -724,7 +702,7 @@ class OC { |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
//setup extra user backends |
|
|
|
|
if (!self::checkUpgrade(false)) { |
|
|
|
|
if (!\OCP\Util::needUpgrade()) { |
|
|
|
|
OC_User::setupBackends(); |
|
|
|
|
} else { |
|
|
|
|
// Run upgrades in incognito mode |
|
|
|
|
@ -807,7 +785,7 @@ class OC { |
|
|
|
|
*/ |
|
|
|
|
public static function registerCleanupHooks() { |
|
|
|
|
//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 |
|
|
|
|
$userSession = self::$server->getUserSession(); |
|
|
|
|
@ -925,7 +903,7 @@ class OC { |
|
|
|
|
if (!$systemConfig->getValue('installed', false)) { |
|
|
|
|
\OC::$server->getSession()->clear(); |
|
|
|
|
$setupHelper = new OC\Setup( |
|
|
|
|
\OC::$server->getSystemConfig(), |
|
|
|
|
$systemConfig, |
|
|
|
|
\OC::$server->getIniWrapper(), |
|
|
|
|
\OC::$server->getL10N('lib'), |
|
|
|
|
\OC::$server->query(\OCP\Defaults::class), |
|
|
|
|
@ -945,7 +923,16 @@ class OC { |
|
|
|
|
} |
|
|
|
|
if (substr($requestPath, -3) !== '.js') { // we need these files during the upgrade |
|
|
|
|
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 |
|
|
|
|
@ -968,7 +955,7 @@ class OC { |
|
|
|
|
OC_App::loadApps(['authentication']); |
|
|
|
|
|
|
|
|
|
// Load minimum set of apps |
|
|
|
|
if (!self::checkUpgrade(false) |
|
|
|
|
if (!\OCP\Util::needUpgrade() |
|
|
|
|
&& !$systemConfig->getValue('maintenance', false)) { |
|
|
|
|
// For logged-in users: Load everything |
|
|
|
|
if(\OC::$server->getUserSession()->isLoggedIn()) { |
|
|
|
|
@ -982,7 +969,7 @@ class OC { |
|
|
|
|
|
|
|
|
|
if (!self::$CLI) { |
|
|
|
|
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(); |
|
|
|
|
} |
|
|
|
|
|