|
|
@@ -337,27 +337,49 @@ class OC { |
|
|
|
*/ |
|
|
|
private static function printUpgradePage() { |
|
|
|
$systemConfig = \OC::$server->getSystemConfig(); |
|
|
|
|
|
|
|
$disableWebUpdater = $systemConfig->getValue('upgrade.disable-web', false); |
|
|
|
$tooBig = false; |
|
|
|
if (!$disableWebUpdater) { |
|
|
|
// count users |
|
|
|
$stats = \OC::$server->getUserManager()->countUsers(); |
|
|
|
$totalUsers = array_sum($stats); |
|
|
|
$tooBig = ($totalUsers > 50); |
|
|
|
} |
|
|
|
if ($disableWebUpdater || $tooBig) { |
|
|
|
// send http status 503 |
|
|
|
header('HTTP/1.1 503 Service Temporarily Unavailable'); |
|
|
|
header('Status: 503 Service Temporarily Unavailable'); |
|
|
|
header('Retry-After: 120'); |
|
|
|
|
|
|
|
// render error page |
|
|
|
$template = new OC_Template('', 'update.use-cli', 'guest'); |
|
|
|
$template->assign('productName', 'ownCloud'); // for now |
|
|
|
$template->assign('version', OC_Util::getVersionString()); |
|
|
|
$template->assign('tooBig', $tooBig); |
|
|
|
|
|
|
|
$template->printPage(); |
|
|
|
die(); |
|
|
|
} |
|
|
|
|
|
|
|
// check whether this is a core update or apps update |
|
|
|
$installedVersion = $systemConfig->getValue('version', '0.0.0'); |
|
|
|
$currentVersion = implode('.', \OCP\Util::getVersion()); |
|
|
|
|
|
|
|
// if not a core upgrade, then it's apps upgrade |
|
|
|
$isAppsOnlyUpgrade = (version_compare($currentVersion, $installedVersion, '=')); |
|
|
|
|
|
|
|
$oldTheme = $systemConfig->getValue('theme'); |
|
|
|
$systemConfig->setValue('theme', ''); |
|
|
|
\OCP\Util::addScript('config'); // needed for web root |
|
|
|
\OCP\Util::addScript('update'); |
|
|
|
\OCP\Util::addStyle('update'); |
|
|
|
|
|
|
|
// check whether this is a core update or apps update |
|
|
|
$installedVersion = $systemConfig->getValue('version', '0.0.0'); |
|
|
|
$currentVersion = implode('.', \OCP\Util::getVersion()); |
|
|
|
|
|
|
|
$appManager = \OC::$server->getAppManager(); |
|
|
|
|
|
|
|
$tmpl = new OC_Template('', 'update.admin', 'guest'); |
|
|
|
$tmpl->assign('version', OC_Util::getVersionString()); |
|
|
|
|
|
|
|
// if not a core upgrade, then it's apps upgrade |
|
|
|
if (version_compare($currentVersion, $installedVersion, '=')) { |
|
|
|
$tmpl->assign('isAppsOnlyUpgrade', true); |
|
|
|
} else { |
|
|
|
$tmpl->assign('isAppsOnlyUpgrade', false); |
|
|
|
} |
|
|
|
$tmpl->assign('isAppsOnlyUpgrade', $isAppsOnlyUpgrade); |
|
|
|
|
|
|
|
// get third party apps |
|
|
|
$ocVersion = \OCP\Util::getVersion(); |
|
|
@@ -423,7 +445,7 @@ class OC { |
|
|
|
} |
|
|
|
|
|
|
|
public static function loadAppClassPaths() { |
|
|
|
foreach (OC_APP::getEnabledApps() as $app) { |
|
|
|
foreach (OC_App::getEnabledApps() as $app) { |
|
|
|
$appPath = OC_App::getAppPath($app); |
|
|
|
if ($appPath === false) { |
|
|
|
continue; |