summaryrefslogtreecommitdiffstats
path: root/core/ajax/update.php
diff options
context:
space:
mode:
Diffstat (limited to 'core/ajax/update.php')
-rw-r--r--core/ajax/update.php9
1 files changed, 7 insertions, 2 deletions
diff --git a/core/ajax/update.php b/core/ajax/update.php
index 6015a901eb7..db00da02239 100644
--- a/core/ajax/update.php
+++ b/core/ajax/update.php
@@ -5,11 +5,15 @@ require_once '../../lib/base.php';
if (OC::checkUpgrade(false)) {
\OC_DB::enableCaching(false);
+ OC_Config::setValue('maintenance', true);
+ $installedVersion = OC_Config::getValue('version', '0.0.0');
+ $currentVersion = implode('.', OC_Util::getVersion());
+ OC_Log::write('core', 'starting upgrade from ' . $installedVersion . ' to ' . $currentVersion, OC_Log::WARN);
$updateEventSource = new OC_EventSource();
$watcher = new UpdateWatcher($updateEventSource);
OC_Hook::connect('update', 'success', $watcher, 'success');
OC_Hook::connect('update', 'error', $watcher, 'error');
- OC_Hook::connect('update', 'error', $watcher, 'failure');
+ OC_Hook::connect('update', 'failure', $watcher, 'failure');
$watcher->success('Turned on maintenance mode');
try {
$result = OC_DB::updateDbFromStructure(OC::$SERVERROOT.'/db_structure.xml');
@@ -99,6 +103,7 @@ class UpdateWatcher {
OC_Util::obEnd();
$this->eventSource->send('failure', $message);
$this->eventSource->close();
+ OC_Config::setValue('maintenance', false);
die();
}
@@ -108,4 +113,4 @@ class UpdateWatcher {
$this->eventSource->close();
}
-}
+} \ No newline at end of file