function update_structure($verbose, $action, $tables=null, $definition=null) {
global $a, $db;
+ if ($action)
+ set_config('system', 'maintenance', 1);
+
if (isset($a->config["system"]["db_charset"]))
$charset = $a->config["system"]["db_charset"];
else
}
}
+ if ($action)
+ set_config('system', 'maintenance', 0);
+
return $errors;
}
unset($db_host, $db_user, $db_pass, $db_data);
};
+ // Quit when in maintenance
+ if (get_config('system', 'maintenance', true))
+ return;
+
$a->start_process();
$mypid = getmypid();
while ($r = q("SELECT * FROM `workerqueue` WHERE `executed` = '0000-00-00 00:00:00' ORDER BY `priority`, `created` LIMIT 1")) {
+ // Quit when in maintenance
+ if (get_config('system', 'maintenance', true))
+ return;
+
// Constantly check the number of parallel database processes
if ($a->max_processes_reached())
return;
<?php
function maintenance_content(&$a) {
+ header('HTTP/1.1 503 Service Temporarily Unavailable');
+ header('Status: 503 Service Temporarily Unavailable');
+ header('Retry-After: 600');
+
return replace_macros(get_markup_template('maintenance.tpl'), array(
'$sysdown' => t('System down for maintenance')
));