From 24ee60492b21b85c9bf1288e43c774d5cfa8243e Mon Sep 17 00:00:00 2001 From: Michael Date: Sun, 19 Mar 2017 19:03:09 +0000 Subject: [PATCH] If the maintenance reason is a url, then redirect to this address --- mod/maintenance.php | 11 ++++++++++- util/maintenance.php | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/mod/maintenance.php b/mod/maintenance.php index 98155b93ad..c4839de792 100644 --- a/mod/maintenance.php +++ b/mod/maintenance.php @@ -3,12 +3,21 @@ use \Friendica\Core\Config; 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('Status: 503 Service Temporarily Unavailable'); header('Retry-After: 600'); return replace_macros(get_markup_template('maintenance.tpl'), array( '$sysdown' => t('System down for maintenance'), - '$reason' => Config::get('system', 'maintenance_reason') + '$reason' => $reason )); } diff --git a/util/maintenance.php b/util/maintenance.php index b313783a7d..650dade700 100644 --- a/util/maintenance.php +++ b/util/maintenance.php @@ -49,5 +49,5 @@ if ($reason != '') { } 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]\tSet the system in maintenance mode\n"; echo "\tphp {$argv[0]} 0 \tSet the system in normal mode\n\n";