diff options
Diffstat (limited to 'app.php')
-rw-r--r-- | app.php | 28 |
1 files changed, 28 insertions, 0 deletions
@@ -0,0 +1,28 @@ +<?php + +if (str_ends_with($_GET['_'], "/")) { + $pagename = substr($_GET['_'], 0, strlen($_GET['_']) - 1); +} else { + $pagename = $_GET['_']; +} + +$toplevel = explode("/", $pagename)[0]; + +if (in_array($toplevel, ["editor", "icons", "species", "uploads"])) { + $filename = explode("/", $pagename)[1]; + if (file_exists($_SERVER['DOCUMENT_ROOT'] . "/assets/" . $toplevel . "/" . $filename)) { + header("Location: /assets/" . $toplevel . "/" . $filename) and die(); + } else { + header("Location: /?error=File not found") and die(); + } +} elseif ($toplevel === "") { + require_once $_SERVER['DOCUMENT_ROOT'] . "/pages/home.php"; +} else { + if (file_exists($_SERVER['DOCUMENT_ROOT'] . "/pages/" . $toplevel . ".php")) { + require_once $_SERVER['DOCUMENT_ROOT'] . "/pages/" . $toplevel . ".php"; + } else if ($toplevel === "cloudburst" || $toplevel === "raindrops") { + require_once $_SERVER['DOCUMENT_ROOT'] . "/pages/page.php"; + } else { + header("Location: /?error=Page not found: " . strip_tags($pagename)) and die(); + } +}
\ No newline at end of file |