From c1d4a90cd118f37580538782ea9ded38f5899d34 Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Fri, 19 Sep 2008 07:17:58 +0000 Subject: - Patch #309821 by Rob Loach: automatically put sites in maintenance mode when updates are being run. --- update.php | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'update.php') diff --git a/update.php b/update.php index d4cf70933..e899e4349 100644 --- a/update.php +++ b/update.php @@ -285,6 +285,13 @@ function update_script_selection_form() { function update_batch() { global $base_url; + // During the update, toggle site maintenance so that schema changes + // don't effect visiting users. + $site_offline = variable_get('site_offline', FALSE); + if ($site_offline == FALSE) { + variable_set('site_offline', TRUE); + } + $operations = array(); // Set the installed version so updates start at the correct place. foreach ($_POST['start'] as $module => $version) { @@ -308,6 +315,12 @@ function update_batch() { ); batch_set($batch); batch_process($base_url . '/update.php?op=results', $base_url . '/update.php'); + + // Now that the update is done, we can disable site maintenance if + // it was previously turned off. + if ($site_offline == FALSE) { + variable_set('site_offline', FALSE); + } } function update_finished($success, $results, $operations) { -- cgit v1.2.3