]> git.mxchange.org Git - friendica.git/blobdiff - mod/maintenance.php
Ops, one more left ...
[friendica.git] / mod / maintenance.php
index 02de29108f892fb3ea85c4b9b3c2b1206af97969..8727e4afb9f11f96c4efb25de694db22c7020e02 100644 (file)
@@ -1,8 +1,27 @@
 <?php
-if(! function_exists('maintenance_content')) {
-function maintenance_content(&$a) {
-       return replace_macros(get_markup_template('maintenance.tpl'), array(
-               '$sysdown' => t('System down for maintenance')
-       ));
-}
+/**
+ * @file mod/maintenance.php
+ */
+use Friendica\App;
+use Friendica\Core\Config;
+use Friendica\Core\L10n;
+
+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'), [
+               '$sysdown' => L10n::t('System down for maintenance'),
+               '$reason' => $reason
+       ]);
 }