summaryrefslogtreecommitdiffstats
path: root/lib/base.php
diff options
context:
space:
mode:
authorMichael Gapczynski <mtgap@owncloud.com>2013-01-03 21:32:33 -0500
committerMichael Gapczynski <mtgap@owncloud.com>2013-01-03 21:32:33 -0500
commit75058370795fda4f06f589ee970edf94dc0ddf88 (patch)
tree9843807302eb565e6d7125e857117bdca7cd216c /lib/base.php
parenta52aa69ffe5f6d00de7855c9a376f347c03b99f7 (diff)
downloadnextcloud-server-75058370795fda4f06f589ee970edf94dc0ddf88.tar.gz
nextcloud-server-75058370795fda4f06f589ee970edf94dc0ddf88.zip
Basic update progress of database update only
Diffstat (limited to 'lib/base.php')
-rw-r--r--lib/base.php49
1 files changed, 12 insertions, 37 deletions
diff --git a/lib/base.php b/lib/base.php
index eaef984df34..ec08ccc67be 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -229,8 +229,10 @@ class OC
}
public static function checkMaintenanceMode() {
- if (OC_Config::getValue('maintenance', false)) {
+ // Allow ajax update script to execute without being stopped
+ if (OC_Config::getValue('maintenance', false) && OC::$SUBURI != '/core/ajax/update.php') {
$tmpl = new OC_Template('', 'error', 'guest');
+ $tmpl->assign('errors', array(1 => array('error' => 'ownCloud is in maintenance mode')));
$tmpl->printPage();
exit();
}
@@ -241,9 +243,12 @@ class OC
$installedVersion = OC_Config::getValue('version', '0.0.0');
$currentVersion = implode('.', OC_Util::getVersion());
if (version_compare($currentVersion, $installedVersion, '>')) {
- if ($showTemplate) {
+ if ($showTemplate && !OC_Config::getValue('maintenance', false)) {
+ OC_Config::setValue('maintenance', true);
OC_Log::write('core', 'starting upgrade from ' . $installedVersion . ' to ' . $currentVersion, OC_Log::DEBUG);
- $tmpl = new OC_Template('', 'error', 'guest');
+ $tmpl = new OC_Template('', 'update', 'guest');
+ $tmpl->assign('current', $currentVersion);
+ $tmpl->assign('installed', $installedVersion);
$tmpl->printPage();
exit();
} else {
@@ -254,33 +259,6 @@ class OC
}
}
- public static function doUpgrade() {
- if (self::checkUpgrade(false)) {
- OC_Config::setValue('maintenance', true);
- // Check if the .htaccess is existing - this is needed for upgrades from really old ownCloud versions
- if (isset($_SERVER['SERVER_SOFTWARE']) && strstr($_SERVER['SERVER_SOFTWARE'], 'Apache')) {
- if (!OC_Util::ishtaccessworking()) {
- if (!file_exists(OC::$SERVERROOT . '/data/.htaccess')) {
- OC_Setup::protectDataDirectory();
- }
- }
- }
- $result = OC_DB::updateDbFromStructure(OC::$SERVERROOT . '/db_structure.xml');
- if (!$result) {
- echo 'Error while upgrading the database';
- die();
- }
- $minimizerCSS = new OC_Minimizer_CSS();
- $minimizerCSS->clearCache();
- $minimizerJS = new OC_Minimizer_JS();
- $minimizerJS->clearCache();
- OC_Config::setValue('version', implode('.', OC_Util::getVersion()));
- OC_App::checkAppsRequirements();
- // load all apps to also upgrade enabled apps
- OC_App::loadApps();
- }
- }
-
public static function initTemplateEngine()
{
// Add the stuff we need always
@@ -297,12 +275,6 @@ class OC
OC_Util::addScript('search', 'result');
OC_Util::addScript('router');
- if (OC_Config::getValue('installed', false)) {
- if (OC_Appconfig::getValue('core', 'backgroundjobs_mode', 'ajax') == 'ajax') {
- OC_Util::addScript('backgroundjobs');
- }
- }
-
OC_Util::addStyle("styles");
OC_Util::addStyle("multiselect");
OC_Util::addStyle("jquery-ui-1.8.16.custom");
@@ -433,7 +405,7 @@ class OC
self::initSession();
self::initTemplateEngine();
self::checkMaintenanceMode();
- self::checkUpgrade();
+ self::checkUpgrade();
$errors = OC_Util::checkServer();
if (count($errors) > 0) {
@@ -508,6 +480,9 @@ class OC
if (OC_Util::issetlocaleworking() == false) {
OC_Log::write('core', 'setting locate to en_US.UTF-8 failed. Support is probably not installed on your system', OC_Log::ERROR);
}
+ if (OC_Appconfig::getValue('core', 'backgroundjobs_mode', 'ajax') == 'ajax') {
+ OC_Util::addScript('backgroundjobs');
+ }
}
/**