summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaindropsSys <raindrops@equestria.dev>2024-03-24 13:42:39 +0100
committerRaindropsSys <raindrops@equestria.dev>2024-03-24 13:42:39 +0100
commita51979ad60074db84af78a06d30fcb888ccb0b03 (patch)
treed7a4c570c251db50b50c49cc8219203bd60d7240
parent96eb5745754824a2a75698af4b60cc0a84c890ea (diff)
downloadpluralconnect-a51979ad60074db84af78a06d30fcb888ccb0b03.tar.gz
pluralconnect-a51979ad60074db84af78a06d30fcb888ccb0b03.tar.bz2
pluralconnect-a51979ad60074db84af78a06d30fcb888ccb0b03.zip
Updated 3 files and added includes/external/next/index.php (automated)
-rw-r--r--.idea/deployment.xml9
-rw-r--r--.idea/discord.xml5
-rw-r--r--includes/external/next/index.php115
-rw-r--r--includes/fragments/dashboard.inc6
4 files changed, 133 insertions, 2 deletions
diff --git a/.idea/deployment.xml b/.idea/deployment.xml
index 0a2a236..df08611 100644
--- a/.idea/deployment.xml
+++ b/.idea/deployment.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
- <component name="PublishConfigData" autoUpload="Always" serverName="bridlewood" confirmBeforeDeletion="false" autoUploadExternalChanges="true">
+ <component name="PublishConfigData" autoUpload="Always" serverName="watson" confirmBeforeDeletion="false" autoUploadExternalChanges="true">
<option name="confirmBeforeDeletion" value="false" />
<serverData>
<paths name="bridlewood">
@@ -18,6 +18,13 @@
</excludedPaths>
</serverdata>
</paths>
+ <paths name="watson">
+ <serverdata>
+ <mappings>
+ <mapping deploy="/opt/peh" local="$PROJECT_DIR$" web="/" />
+ </mappings>
+ </serverdata>
+ </paths>
</serverData>
<option name="myAutoUpload" value="ALWAYS" />
</component>
diff --git a/.idea/discord.xml b/.idea/discord.xml
index d8e9561..3aef922 100644
--- a/.idea/discord.xml
+++ b/.idea/discord.xml
@@ -3,5 +3,10 @@
<component name="DiscordProjectSettings">
<option name="show" value="PROJECT_FILES" />
<option name="description" value="" />
+ <option name="theme" value="material" />
+ <option name="button1Title" value="" />
+ <option name="button1Url" value="" />
+ <option name="button2Title" value="" />
+ <option name="button2Url" value="" />
</component>
</project> \ No newline at end of file
diff --git a/includes/external/next/index.php b/includes/external/next/index.php
new file mode 100644
index 0000000..5e96fb7
--- /dev/null
+++ b/includes/external/next/index.php
@@ -0,0 +1,115 @@
+<?php
+
+$_SERVER['DOCUMENT_ROOT'] = "../../..";
+
+$ntfy = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/app.json"), true)["ntfy"];
+require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/util/functions.inc";
+$pairs = [];
+
+$pairs2 = [
+ ["lqolg"],
+ ["tfbob"],
+ ["zajrk"],
+ ["ktrdb"],
+ ["hpwyq"],
+ ["qbzxm"],
+ ["qraku"],
+ ["mhnqy"],
+ ["ztfjz"],
+ ["ufadt"],
+ ["ckqsw"]
+];
+
+$special = ["ckqsw"];
+
+// --------------------
+
+function getRelativeDay($offset) {
+ if ($offset === 0) return "Today";
+ if ($offset === 1) return "Tomorrow";
+ return "On " . date('l', time() + ($offset * 86400)) . " (in $offset days, " . date('j M', time() + ($offset * 86400)) . ")";
+}
+
+$members = array_map(function ($i) {
+ $system = "gdapd";
+ $i["_lastFronted"] = -1;
+ $id = $i["id"];
+ $memberData = $i;
+
+ $fronters = array_map(function ($item) {
+ return $item["id"];
+ }, json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/$system/fronters.json"), true)["members"]);
+
+ if (in_array($id, $fronters)) {
+ $i["_lastFronted"] = time();
+ } else {
+ $switches = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/$system/switches.json"), true);
+
+ $thisMember = array_filter($switches, function ($item) use ($memberData) {
+ return in_array($memberData["id"], $item["members"]);
+ });
+
+ $thisMember = array_values($thisMember);
+ $frontingEnd = null;
+
+ if (count($thisMember) > 0) {
+ $thisIndex = array_search($thisMember[0], $switches);
+
+ $frontingStart = $thisMember[0];
+ $frontingEnd = $switches[$thisIndex - 1];
+ }
+
+ if ($frontingEnd !== null && isset($frontingStart)) {
+ $i["_lastFronted"] = strtotime($frontingEnd["timestamp"]);
+ }
+ }
+
+ return $i;
+}, array_values(array_filter(scoreOrderGlobal(), function ($i) {
+ return $i["_system"] === "gdapd";
+})));
+
+$requested = [];
+foreach ([...$pairs, ...$pairs2] as $pair) {
+ array_push($requested, ...$pair);
+}
+
+$fronters = array_map(function ($i) {
+ return $i["id"];
+}, json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/gdapd/fronters.json"), true)["members"]);
+
+$requested = array_values(array_filter(array_reverse(array_unique($requested)), function ($i) use ($fronters) {
+ return !in_array($i, $fronters);
+}));
+
+$i = 0;
+$list = [$requested[$i]];
+while (in_array($list[count($list) - 1], $special)) {
+ $i++;
+ $list[] = $requested[$i];
+}
+
+if (count($list) > 1) {
+ $str = implode(" or ", array_map(function ($i) {
+ return (getMemberWithoutSystem($i)["display_name"] ?? getMemberWithoutSystem($i)["name"]);
+ }, $list)) . " is fronting today.";
+} elseif (count($list) > 0) {
+ $str = (getMemberWithoutSystem($list[0])["display_name"] ?? getMemberWithoutSystem($list[0])["name"]) . " is fronting today.";
+} else {
+ $str = "We couldn't tell who will front today, sorry.";
+}
+
+$context = stream_context_create([
+ 'http' => [
+ 'method' => 'POST',
+ 'header' =>
+ "Content-Type: text/plain\r\n" .
+ "Title: " . formatPonypush("🎠 Pony fronting today") . "\r\n" .
+ "Priority: high\r\n" .
+ "Tags: schedule\r\n" .
+ "Authorization: Basic " . base64_encode($ntfy["user"] . ":" . $ntfy["password"]),
+ 'content' => formatPonypush($str)
+ ]
+]);
+
+file_get_contents('https://' . $ntfy["server"] . '/main', false, $context);
diff --git a/includes/fragments/dashboard.inc b/includes/fragments/dashboard.inc
index 3cf8d6f..29b5b84 100644
--- a/includes/fragments/dashboard.inc
+++ b/includes/fragments/dashboard.inc
@@ -24,6 +24,10 @@ global $use2023UI;
<b>GPU acceleration is turned off or not supported.</b> A lot of visual effects on this website rely on GPU acceleration, which is currently disabled on your browser, meaning the website's overall look will be affected. Please enable GPU acceleration in your browser settings.
</div>
+ <div class="alert alert-warning">
+ <b>Ponycule's user-space pages are going away.</b> Starting in April 2024, we will be discontinuing all the Ponycule public pages to better focus on making Ponycule a central hub for plural integrations with other services. If you need access to all your content, you may request a backup to the administrators.
+ </div>
+
<style>
.day-gradient {
background-image: linear-gradient(180deg, rgba(7,15,36,1) 0%, rgba(36,56,83,1) 14%, rgba(165,126,57,1) 28%, rgba(37,109,201,1) 42%, rgba(47,165,208,1) 57%, rgba(252,120,15,1) 71%, rgba(38,66,97,1) 85%, rgba(7,15,36,1) 100%);
@@ -240,4 +244,4 @@ global $use2023UI;
</div>
</div>
</div>
-<?php require_once $_SERVER['DOCUMENT_ROOT'] . '/includes/components/footer.inc'; ?> \ No newline at end of file
+<?php require_once $_SERVER['DOCUMENT_ROOT'] . '/includes/components/footer.inc'; ?>