Merge pull request #3247 from annando/issue-3242-b

If the maintenance reason is a url, then redirect to this address
This commit is contained in:
Tobias Diekershoff 2017-03-20 07:20:23 +01:00 committed by GitHub
commit 3021254f85
2 changed files with 21 additions and 3 deletions

View file

@ -3,12 +3,21 @@
use \Friendica\Core\Config; use \Friendica\Core\Config;
function maintenance_content(App $a) { function maintenance_content(App $a) {
$reason = Config::get('system', 'maintenance_reason');
if (substr(normalise_link($reason), 0, 7) == 'http://') {
header("HTTP/1.1 307 Temporary Redirect");
header("Location:".$reason);
return;
}
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') '$reason' => $reason
)); ));
} }

View file

@ -49,5 +49,14 @@ if ($reason != '') {
} }
echo "Usage:\n\n"; echo "Usage:\n\n";
echo "\tphp {$argv[0]} [1] [Maintenance reason]\tSet the system in maintenance mode\n"; echo "\tphp {$argv[0]} [1] [Maintenance reason|redirection url]\n";
echo "\tphp {$argv[0]} 0 \tSet the system in normal mode\n\n"; echo "\t\tSet the system in maintenance mode\n\n";
echo "\t\tIf the optionally entered maintenance reason is an url\n";
echo "\t\tthe visitor is redirected to that page.\n";
echo "\n";
echo "\t\tExamples:\n";
echo "\t\t\tphp {$argv[0]} 1 System upgrade\n";
echo "\t\t\tphp {$argv[0]} 1 http://domain.tld/downtime\n";
echo "\n";
echo "\tphp {$argv[0]} 0\n";
echo "\t\tSet the system in normal mode\n\n";