]> git.mxchange.org Git - friendica.git/blob - src/Module/Maintenance.php
e7dc5a075d9ff11528d3264c82f3204cc0327e02
[friendica.git] / src / Module / Maintenance.php
1 <?php
2
3 namespace Friendica\Module;
4
5 use Friendica\BaseModule;
6 use Friendica\Core\L10n;
7 use Friendica\Core\Renderer;
8 use Friendica\Core\System;
9 use Friendica\Util\Strings;
10
11 /**
12  * Shows the maintenance reason
13  * or redirects to the alternate location
14  */
15 class Maintenance extends BaseModule
16 {
17         public static function content()
18         {
19                 $config = self::getApp()->getConfig();
20
21                 $reason = $config->get('system', 'maintenance_reason');
22
23                 if ((substr(Strings::normaliseLink($reason), 0, 7) === 'http://') ||
24                         (substr(Strings::normaliseLink($reason), 0, 8) === 'https://')) {
25                         System::externalRedirect($reason, 307);
26                 }
27
28                 header('HTTP/1.1 503 Service Temporarily Unavailable');
29                 header('Status: 503 Service Temporarily Unavailable');
30                 header('Retry-After: 600');
31
32                 return Renderer::replaceMacros(Renderer::getMarkupTemplate('maintenance.tpl'), [
33                         '$sysdown' => L10n::t('System down for maintenance'),
34                         '$reason' => $reason
35                 ]);
36         }
37 }