summaryrefslogtreecommitdiff
path: root/pages
diff options
context:
space:
mode:
Diffstat (limited to 'pages')
-rw-r--r--pages/api/overage.php47
-rw-r--r--pages/api/schedule.php69
-rw-r--r--pages/rules.inc12
3 files changed, 124 insertions, 4 deletions
diff --git a/pages/api/overage.php b/pages/api/overage.php
new file mode 100644
index 0000000..aef4ac6
--- /dev/null
+++ b/pages/api/overage.php
@@ -0,0 +1,47 @@
+<?php
+
+require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/util/session.inc"; global $isLoggedIn; global $_PROFILE;
+require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/util/functions.inc";
+if (!$isLoggedIn) header("Location: /-/login") and die();
+
+header("Content-Type: application/json");
+
+$obj = [
+ "raindrops" => null,
+ "cloudburst" => null
+];
+
+foreach (["raindrops", "cloudburst"] as $userName) {
+ $allowNsfw = null;
+ $fronters = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/" . ($userName === "raindrops" ? "gdapd" : "ynmuc") . "/fronters.json"), true);
+
+ if (count($fronters["members"]) > 0) {
+ $id = $fronters["members"][0]["id"];
+
+ if (file_exists($_SERVER['DOCUMENT_ROOT'] . "/includes/data/metadata/" . $id . ".json")) {
+ $info = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/metadata/" . $id . ".json"), true);
+
+ if (isset($info["birth"]["age"]) && $info["birth"]["age"] < 15 && $info["birth"]["age"] > 0) {
+ $allowNsfw = false;
+ } else if (isset($info["birth"]["year"]) && $info["birth"]["year"] > 1900) {
+ if (!isset($info["birth"]["date"])) $info["birth"]["date"] = "01-01";
+
+ $age = (int)date('Y') - $info["birth"]["year"] + (strtotime(date('Y') . "-" . $info["birth"]["date"]) <= time() ? 0 : -1);
+
+ if ($age < 15) {
+ $allowNsfw = false;
+ } else {
+ $allowNsfw = true;
+ }
+ } else if ((!isset($info["birth"]["age"]) || $info["birth"]["age"] === 0) && (!isset($info["birth"]["year"]) || $info["birth"]["year"] > 1900)) {
+ $allowNsfw = false;
+ } else {
+ $allowNsfw = true;
+ }
+ }
+ }
+
+ $obj[$userName] = $allowNsfw;
+}
+
+die(json_encode($obj, JSON_PRETTY_PRINT)); \ No newline at end of file
diff --git a/pages/api/schedule.php b/pages/api/schedule.php
new file mode 100644
index 0000000..489e28f
--- /dev/null
+++ b/pages/api/schedule.php
@@ -0,0 +1,69 @@
+<?php
+
+require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/util/session.inc"; global $isLoggedIn; global $_PROFILE;
+require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/util/functions.inc";
+if (!$isLoggedIn) header("Location: /-/login") and die();
+
+header("Content-Type: application/json");
+
+$obj = [
+ "today" => [],
+ "tomorrow" => []
+];
+
+$raindrops = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/planner/gdapd.json"), true);
+$cloudburst = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/planner/ynmuc.json"), true);
+
+if (isset($raindrops[date('Y-m-d', time())]) || isset($cloudburst[date('Y-m-d', time())])) {
+ $rd = $raindrops[date('Y-m-d', time())];
+ $cb = $cloudburst[date('Y-m-d', time())];
+ $longest = max(count($rd), count($cb));
+
+ for ($x = 0; $x < $longest; $x++) {
+ $item = [];
+ $item["raindrops"] = null;
+ $item["cloudburst"] = null;
+
+ if (isset($rd[$x])) {
+ $item["raindrops"] = array_map(function ($i) { return getMemberWithoutSystem($i)["display_name"] ?? getMemberWithoutSystem($i)["name"]; }, array_filter($rd[$x], function ($i) { return isset($i); }));
+ } else if (isset($obj["today"][$x - 1]["raindrops"])) {
+ $item["raindrops"] = $obj["today"][$x - 1]["raindrops"];
+ }
+
+ if (isset($cb[$x])) {
+ $item["cloudburst"] = array_map(function ($i) { return getMemberWithoutSystem($i)["display_name"] ?? getMemberWithoutSystem($i)["name"]; }, array_filter($cb[$x], function ($i) { return isset($i); }));
+ } else if (isset($obj["today"][$x - 1]["cloudburst"])) {
+ $item["cloudburst"] = $obj["today"][$x - 1]["cloudburst"];
+ }
+
+ $obj["today"][] = $item;
+ }
+}
+
+if (isset($raindrops[date('Y-m-d', time() + 86400)]) || isset($cloudburst[date('Y-m-d', time() + 86400)])) {
+ $rd = $raindrops[date('Y-m-d', time() + 86400)];
+ $cb = $cloudburst[date('Y-m-d', time() + 86400)];
+ $longest = max(count($rd), count($cb));
+
+ for ($x = 0; $x < $longest; $x++) {
+ $item = [];
+ $item["raindrops"] = null;
+ $item["cloudburst"] = null;
+
+ if (isset($rd[$x])) {
+ $item["raindrops"] = array_map(function ($i) { return getMemberWithoutSystem($i)["display_name"] ?? getMemberWithoutSystem($i)["name"]; }, array_filter($rd[$x], function ($i) { return isset($i); }));
+ } else if (isset($obj["today"][$x - 1]["raindrops"])) {
+ $item["raindrops"] = $obj["today"][$x - 1]["raindrops"];
+ }
+
+ if (isset($cb[$x])) {
+ $item["cloudburst"] = array_map(function ($i) { return getMemberWithoutSystem($i)["display_name"] ?? getMemberWithoutSystem($i)["name"]; }, array_filter($cb[$x], function ($i) { return isset($i); }));
+ } else if (isset($obj["today"][$x - 1]["cloudburst"])) {
+ $item["cloudburst"] = $obj["today"][$x - 1]["cloudburst"];
+ }
+
+ $obj["tomorrow"][] = $item;
+ }
+}
+
+die(json_encode($obj, JSON_PRETTY_PRINT)); \ No newline at end of file
diff --git a/pages/rules.inc b/pages/rules.inc
index 23447f2..0c57819 100644
--- a/pages/rules.inc
+++ b/pages/rules.inc
@@ -1,5 +1,9 @@
<?php
+if (time() >= 1682985600) {
+ peh_error("Page not found: rules", 404);
+}
+
require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/util/functions.inc";
require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/init.inc"; global $title; global $isLoggedIn; global $lang; global $pages;
require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/util/Parsedown.php"; $Parsedown = new Parsedown();
@@ -44,14 +48,16 @@ $cache = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/da
?>
-<?php if (!isset($cache["content"])): ob_start(); ?>
-
<br>
<div class="container">
<div id="page-content">
<h2>Rules</h2>
<p><a onclick="event.target.blur();" href="#" data-bs-toggle="modal" data-bs-target="#editor">Edit rules</a></p>
+ <div class="alert alert-warning">
+ The rules system will be removed on May 2<sup>nd</sup> 2023 at midnight UTC. This page will not be accessible anymore. If there is any data you want to keep, ask Raindrops System for a copy of the rules database.
+ </div>
+
<?php
$rules = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/rules/rules.json"), true);
@@ -279,7 +285,5 @@ $cache = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/da
filter: invert(1);
}
</style>
-<?php $cache["content"] = ob_get_contents(); ob_end_clean(); endif;
-echo($cache["content"]); file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/cache/rules.json", json_encode($cache)); ?>
<?php require_once $_SERVER['DOCUMENT_ROOT'] . '/includes/components/footer.inc'; ?>