Merge pull request #3245 from annando/issue-3242
Issue 3242: Define a maintenance reason
This commit is contained in:
commit
65f809f5cb
4 changed files with 39 additions and 12 deletions
|
@ -144,7 +144,8 @@ function update_structure($verbose, $action, $tables=null, $definition=null) {
|
||||||
global $a, $db;
|
global $a, $db;
|
||||||
|
|
||||||
if ($action) {
|
if ($action) {
|
||||||
set_config('system', 'maintenance', 1);
|
Config::set('system', 'maintenance', 1);
|
||||||
|
Config::set('system', 'maintenance_reason', 'Database update');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($a->config["system"]["db_charset"])) {
|
if (isset($a->config["system"]["db_charset"])) {
|
||||||
|
@ -361,8 +362,10 @@ function update_structure($verbose, $action, $tables=null, $definition=null) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($action)
|
if ($action) {
|
||||||
set_config('system', 'maintenance', 0);
|
Config::set('system', 'maintenance', 0);
|
||||||
|
Config::set('system', 'maintenance_reason', '');
|
||||||
|
}
|
||||||
|
|
||||||
return $errors;
|
return $errors;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,14 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use \Friendica\Core\Config;
|
||||||
|
|
||||||
function maintenance_content(App $a) {
|
function maintenance_content(App $a) {
|
||||||
header('HTTP/1.1 503 Service Temporarily Unavailable');
|
header('HTTP/1.1 503 Service Temporarily Unavailable');
|
||||||
header('Status: 503 Service Temporarily Unavailable');
|
header('Status: 503 Service Temporarily Unavailable');
|
||||||
header('Retry-After: 600');
|
header('Retry-After: 600');
|
||||||
|
|
||||||
return replace_macros(get_markup_template('maintenance.tpl'), array(
|
return replace_macros(get_markup_template('maintenance.tpl'), array(
|
||||||
'$sysdown' => t('System down for maintenance')
|
'$sysdown' => t('System down for maintenance'),
|
||||||
|
'$reason' => Config::get('system', 'maintenance_reason')
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,17 +17,37 @@ unset($db_host, $db_user, $db_pass, $db_data);
|
||||||
Config::load();
|
Config::load();
|
||||||
|
|
||||||
$maint_mode = 1;
|
$maint_mode = 1;
|
||||||
if($argc > 1)
|
if ($argc > 1) {
|
||||||
$maint_mode = intval($argv[1]);
|
$maint_mode = intval($argv[1]);
|
||||||
set_config('system', 'maintenance', $maint_mode);
|
}
|
||||||
|
|
||||||
if($maint_mode)
|
Config::set('system', 'maintenance', $maint_mode);
|
||||||
|
|
||||||
|
if ($maint_mode AND ($argc > 2)) {
|
||||||
|
$reason_arr = $argv;
|
||||||
|
array_shift($reason_arr);
|
||||||
|
array_shift($reason_arr);
|
||||||
|
|
||||||
|
$reason = implode(' ', $reason_arr);
|
||||||
|
Config::set('system', 'maintenance_reason', $reason);
|
||||||
|
} else {
|
||||||
|
Config::set('system', 'maintenance_reason', '');
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($maint_mode) {
|
||||||
$mode_str = "maintenance mode";
|
$mode_str = "maintenance mode";
|
||||||
else
|
} else {
|
||||||
$mode_str = "normal mode";
|
$mode_str = "normal mode";
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "\n\tSystem set in $mode_str\n";
|
||||||
|
|
||||||
|
if ($reason != '') {
|
||||||
|
echo "\tMaintenance reason: $reason\n\n";
|
||||||
|
} else {
|
||||||
|
echo "\n";
|
||||||
|
}
|
||||||
|
|
||||||
echo "\n\tSystem set in $mode_str\n\n";
|
|
||||||
echo "Usage:\n\n";
|
echo "Usage:\n\n";
|
||||||
echo "\tphp {$argv[0]} [1]\tSet the system in maintenance mode\n";
|
echo "\tphp {$argv[0]} [1] [Maintenance reason]\tSet the system in maintenance mode\n";
|
||||||
echo "\tphp {$argv[0]} 0 \tSet the system in normal mode\n\n";
|
echo "\tphp {$argv[0]} 0 \tSet the system in normal mode\n\n";
|
||||||
|
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
|
|
||||||
<div id="maintenance-message">{{$sysdown}}</div>
|
<h1 id="maintenance-message">{{$sysdown}}</h1>
|
||||||
|
<div id="maintenance-reason">{{$reason}}</div>
|
||||||
|
|
Loading…
Reference in a new issue