summaryrefslogtreecommitdiffstats
path: root/web
diff options
context:
space:
mode:
authorLukas Fleischer <lfleischer@archlinux.org>2015-06-11 14:26:47 +0200
committerLukas Fleischer <lfleischer@archlinux.org>2015-06-11 14:32:21 +0200
commita45b5073cac989da084f1bdb44cac71b6c6a61a8 (patch)
tree94ac53a96efa457befb6606dcce22797359fae1d /web
parent2164750f1e951c6985b3f9c29663bf94d16553e7 (diff)
downloadaurweb-a45b5073cac989da084f1bdb44cac71b6c6a61a8.tar.xz
Implement a maintenance mode
Add support for a maintenance mode that disables both the website and the SSH interface and can be enabled easily using a configuration option. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
Diffstat (limited to 'web')
-rw-r--r--web/html/503.php15
-rw-r--r--web/html/index.php6
2 files changed, 21 insertions, 0 deletions
diff --git a/web/html/503.php b/web/html/503.php
new file mode 100644
index 0000000..80eb436
--- /dev/null
+++ b/web/html/503.php
@@ -0,0 +1,15 @@
+<?php
+
+set_include_path(get_include_path() . PATH_SEPARATOR . '../lib');
+
+html_header( __("Service Unavailable") );
+?>
+
+<div id="error-page" class="box 503">
+ <h2>503 - <?= __("Service Unavailable") ?></h2>
+ <p><?= __("Don't panic! This site is down due to maintenance. We will be back soon.") ?></p>
+</div>
+
+<?php
+html_footer(AURWEB_VERSION);
+
diff --git a/web/html/index.php b/web/html/index.php
index 0275d0a..27f81c8 100644
--- a/web/html/index.php
+++ b/web/html/index.php
@@ -7,6 +7,12 @@ include_once("pkgfuncs.inc.php");
$path = $_SERVER['PATH_INFO'];
$tokens = explode('/', $path);
+if (config_get_bool('options', 'enable-maintenance') && (empty($tokens[1]) || ($tokens[1] != "css" && $tokens[1] != "images"))) {
+ header("HTTP/1.0 503 Service Unavailable");
+ include "./503.php";
+ return;
+}
+
if (!empty($tokens[1]) && '/' . $tokens[1] == get_pkg_route()) {
if (!empty($tokens[2])) {
/* TODO: Create a proper data structure to pass variables from