]> git.mxchange.org Git - friendica.git/blob - src/Module/Maintenance.php
35a6df629532d07ef9c486d835f53d1760f626a9
[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\System;
8 use Friendica\DI;
9 use Friendica\Network\HTTPException;
10 use Friendica\Util\Strings;
11
12 /**
13  * Shows the maintenance reason
14  * or redirects to the alternate location
15  */
16 class Maintenance extends BaseModule
17 {
18         public static function content(array $parameters = [])
19         {
20                 $config = DI::app()->getConfig();
21
22                 $reason = $config->get('system', 'maintenance_reason');
23
24                 if ((substr(Strings::normaliseLink($reason), 0, 7) === 'http://') ||
25                         (substr(Strings::normaliseLink($reason), 0, 8) === 'https://')) {
26                         System::externalRedirect($reason, 307);
27                 }
28
29                 $exception = new HTTPException\ServiceUnavailableException($reason);
30                 $exception->httpdesc = L10n::t('System down for maintenance');
31                 throw $exception;
32         }
33 }