X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModule%2FMaintenance.php;h=67f65b8e3962fbdc5392b653918e6230ba7d60ce;hb=39a5bfc0c0ea3777b63adb57a7d6cb4b40a70e86;hp=d426ff4131f30375ffccb45f9b6da92195680da7;hpb=ab8997f9db910ba70c592bf106a7f5fc41a55b2d;p=friendica.git diff --git a/src/Module/Maintenance.php b/src/Module/Maintenance.php index d426ff4131..67f65b8e39 100644 --- a/src/Module/Maintenance.php +++ b/src/Module/Maintenance.php @@ -1,8 +1,28 @@ . + * + */ namespace Friendica\Module; use Friendica\BaseModule; +use Friendica\Core\Renderer; use Friendica\Core\System; use Friendica\DI; use Friendica\Network\HTTPException; @@ -14,9 +34,9 @@ use Friendica\Util\Strings; */ class Maintenance extends BaseModule { - public static function content(array $parameters = []) + protected function content(array $request = []): string { - $reason = DI::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://')) { @@ -24,7 +44,17 @@ class Maintenance extends BaseModule } $exception = new HTTPException\ServiceUnavailableException($reason); - $exception->httpdesc = DI::l10n()->t('System down for maintenance'); - throw $exception; + + header($_SERVER['SERVER_PROTOCOL'] . ' ' . $exception->getCode() . ' ' . DI::l10n()->t('System down for maintenance')); + + $tpl = Renderer::getMarkupTemplate('exception.tpl'); + + 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' => '', + ]); } }