X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModule%2FMaintenance.php;h=67f65b8e3962fbdc5392b653918e6230ba7d60ce;hb=be8251ef0ca39376745dd0ab298208fb41395cce;hp=e7dc5a075d9ff11528d3264c82f3204cc0327e02;hpb=62fd5375dca4c10b35f40c995b06c3e4ad62fc0f;p=friendica.git diff --git a/src/Module/Maintenance.php b/src/Module/Maintenance.php index e7dc5a075d..67f65b8e39 100644 --- a/src/Module/Maintenance.php +++ b/src/Module/Maintenance.php @@ -1,11 +1,31 @@ . + * + */ namespace Friendica\Module; use Friendica\BaseModule; -use Friendica\Core\L10n; use Friendica\Core\Renderer; use Friendica\Core\System; +use Friendica\DI; +use Friendica\Network\HTTPException; use Friendica\Util\Strings; /** @@ -14,24 +34,27 @@ use Friendica\Util\Strings; */ class Maintenance extends BaseModule { - public static function content() + protected function content(array $request = []): string { - $config = self::getApp()->getConfig(); - - $reason = $config->get('system', 'maintenance_reason'); + $reason = DI::config()->get('system', 'maintenance_reason') ?? ''; if ((substr(Strings::normaliseLink($reason), 0, 7) === 'http://') || (substr(Strings::normaliseLink($reason), 0, 8) === 'https://')) { System::externalRedirect($reason, 307); } - header('HTTP/1.1 503 Service Temporarily Unavailable'); - header('Status: 503 Service Temporarily Unavailable'); - header('Retry-After: 600'); + $exception = new HTTPException\ServiceUnavailableException($reason); + + header($_SERVER['SERVER_PROTOCOL'] . ' ' . $exception->getCode() . ' ' . DI::l10n()->t('System down for maintenance')); + + $tpl = Renderer::getMarkupTemplate('exception.tpl'); - return Renderer::replaceMacros(Renderer::getMarkupTemplate('maintenance.tpl'), [ - '$sysdown' => L10n::t('System down for maintenance'), - '$reason' => $reason + return Renderer::replaceMacros($tpl, [ + '$title' => DI::l10n()->t('System down for maintenance'), + '$message' => DI::l10n()->t('This Friendica node is currently in maintenance mode, either automatically because it is self-updating or manually by the node administrator. This condition should be temporary, please come back in a few minutes.'), + '$thrown' => $reason, + '$stack_trace' => '', + '$trace' => '', ]); } }