summaryrefslogtreecommitdiff
path: root/includes/short.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/short.php')
-rw-r--r--includes/short.php47
1 files changed, 47 insertions, 0 deletions
diff --git a/includes/short.php b/includes/short.php
new file mode 100644
index 0000000..dec0e09
--- /dev/null
+++ b/includes/short.php
@@ -0,0 +1,47 @@
+<?php
+
+require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/functions.php";
+require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/bitset.php";
+require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/score.php";
+
+global $toplevel;
+
+header("Content-Type: text/plain");
+$members = scoreOrderGlobal();
+$list = [
+ "rd" => "/raindrops",
+ "cb" => "/cloudburst",
+ "minty" => "/cloudy"
+];
+
+foreach ($members as $member) {
+ for ($i = 1; $i < strlen($member["name"]); $i++) {
+ $part = substr($member["name"], 0, $i);
+
+ if (in_array($part, array_keys($list))) {
+ $list[$part] = false;
+ } else {
+ $list[$part] = "/" . $member["name"];
+ }
+ }
+
+ foreach ($member["proxy_tags"] as $proxy) {
+ $system = $member["_system"] === "gdapd" ? "rd" : "cb";
+ $list[$system . preg_replace("/[^a-z]/m", "", $proxy["prefix"])] = "/" . $member["name"];
+ }
+
+ $list[$member["id"]] = "/" . $member["name"];
+ $list[$member["uuid"]] = "/" . $member["name"];
+}
+
+$list["minty"] = "/cloudy";
+
+if (in_array($toplevel, array_keys($list)) && $list[$toplevel]) {
+ if ($toplevel !== "unknown") {
+ header("Location: " . $list[$toplevel]);
+ } else {
+ header("Location: /?error=Page not found: " . strip_tags($toplevel)) and die();
+ }
+} else {
+ header("Location: /?error=Page not found: " . strip_tags($toplevel)) and die();
+} \ No newline at end of file