From e5f50fb2ee79d26fec2c14b5e4dff0b5e3b481fa Mon Sep 17 00:00:00 2001 From: RaindropsSys Date: Wed, 7 Jun 2023 17:01:59 +0200 Subject: Updated 11 files and added 3 files (automated) --- assets/species/human-plush.png | Bin 0 -> 2204 bytes assets/species/human-robot.png | Bin 0 -> 2204 bytes assets/species/human.png | Bin 0 -> 2204 bytes includes/fragments/metadata.inc | 2 ++ includes/jobs/PKFronters.php | 9 ++++++--- includes/jobs/PKMembers.php | 7 +++++-- includes/jobs/PKSwitches.php | 21 ++++++++++++++------- includes/jobs/PKSystem.php | 7 +++++-- includes/util/banner.inc | 1 + includes/util/functions.inc | 17 ++++++++++++++--- includes/util/rainbow.inc | 11 +++++++++-- pages/api/badger.php | 1 + pages/byspecies.inc | 2 ++ pages/home.inc | 2 +- 14 files changed, 60 insertions(+), 20 deletions(-) create mode 100644 assets/species/human-plush.png create mode 100644 assets/species/human-robot.png create mode 100644 assets/species/human.png diff --git a/assets/species/human-plush.png b/assets/species/human-plush.png new file mode 100644 index 0000000..f2973f4 Binary files /dev/null and b/assets/species/human-plush.png differ diff --git a/assets/species/human-robot.png b/assets/species/human-robot.png new file mode 100644 index 0000000..f2973f4 Binary files /dev/null and b/assets/species/human-robot.png differ diff --git a/assets/species/human.png b/assets/species/human.png new file mode 100644 index 0000000..f2973f4 Binary files /dev/null and b/assets/species/human.png differ diff --git a/includes/fragments/metadata.inc b/includes/fragments/metadata.inc index a4f1f6d..962e3a0 100644 --- a/includes/fragments/metadata.inc +++ b/includes/fragments/metadata.inc @@ -91,6 +91,7 @@ if (file_exists($_SERVER['DOCUMENT_ROOT'] . "/includes/data/metadata/" . $member + diff --git a/includes/jobs/PKFronters.php b/includes/jobs/PKFronters.php index b1449a9..3c669d5 100644 --- a/includes/jobs/PKFronters.php +++ b/includes/jobs/PKFronters.php @@ -23,19 +23,22 @@ if ($app["other"]["id"] === $system) { echo("Not using authentication\n"); $ctx = stream_context_create([ 'http' => [ - 'method' => 'GET' + 'method' => 'GET', + 'headers' => "User-Agent: Mozilla/5.0 (+Cold-Haze/1.1)\r\n" ] ]); } echo("Fetching...\n"); +sleep(1); $data = file_get_contents("https://pluralkit.equestria.dev/v2/systems/$system/fronters", false, $ctx); +json_decode($data); -if (trim($data) !== "" && $data !== false) { +if (trim($data) !== "" && $data !== false && json_last_error() === JSON_ERROR_NONE) { echo("Data is valid, saved it\n"); file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/$system/fronters.json", $data); } else { - echo("Data is invalid\n"); + echo("Data is invalid: " . json_last_error_msg() . ": " . $data . "\n"); } chdir($_SERVER['DOCUMENT_ROOT'] . "/includes/external/matrix"); diff --git a/includes/jobs/PKMembers.php b/includes/jobs/PKMembers.php index c6ad897..83a8a7e 100644 --- a/includes/jobs/PKMembers.php +++ b/includes/jobs/PKMembers.php @@ -24,15 +24,18 @@ if ($app["other"]["id"] === $system) { echo("Not using authentication\n"); $ctx = stream_context_create([ 'http' => [ - 'method' => 'GET' + 'method' => 'GET', + 'headers' => "User-Agent: Mozilla/5.0 (+Cold-Haze/1.1)\r\n" ] ]); } echo("Fetching...\n"); +sleep(1); $data = file_get_contents("https://pluralkit.equestria.dev/v2/systems/$system/members", false, $ctx); +json_decode($data); -if (trim($data) !== "" && $data !== false) { +if (trim($data) !== "" && $data !== false && json_last_error() === JSON_ERROR_NONE) { echo("Data is valid, saved it\n"); $parsed = json_decode($data, true); diff --git a/includes/jobs/PKSwitches.php b/includes/jobs/PKSwitches.php index e13118f..99e4a2c 100644 --- a/includes/jobs/PKSwitches.php +++ b/includes/jobs/PKSwitches.php @@ -24,43 +24,50 @@ if ($app["other"]["id"] === $system) { echo("Not using authentication\n"); $ctx = stream_context_create([ 'http' => [ - 'method' => 'GET' + 'method' => 'GET', + 'headers' => "User-Agent: Mozilla/5.0 (+Cold-Haze/1.1)\r\n" ] ]); } echo("Fetching...\n"); echo(" Part 1/6\n"); +sleep(1); $switches1 = json_decode(file_get_contents("https://pluralkit.equestria.dev/v2/systems/$system/switches", false, $ctx), true); -if (count($switches1) > 0) { +if (count($switches1) > 0 && json_last_error() === JSON_ERROR_NONE) { $oldest = $switches1[count($switches1) - 1]["timestamp"]; echo(" Part 2/6\n"); + sleep(1); $switches2 = json_decode(file_get_contents("https://pluralkit.equestria.dev/v2/systems/$system/switches?before=$oldest", false, $ctx), true); - if (count($switches2) > 0) { + if (count($switches2) > 0 && json_last_error() === JSON_ERROR_NONE) { $oldest = $switches2[count($switches2) - 1]["timestamp"]; echo(" Part 3/6\n"); + sleep(1); $switches3 = json_decode(file_get_contents("https://pluralkit.equestria.dev/v2/systems/$system/switches?before=$oldest", false, $ctx), true); - if (count($switches3) > 0) { + if (count($switches3) > 0 && json_last_error() === JSON_ERROR_NONE) { $oldest = $switches3[count($switches3) - 1]["timestamp"]; echo(" Part 4/6\n"); + sleep(1); $switches4 = json_decode(file_get_contents("https://pluralkit.equestria.dev/v2/systems/$system/switches?before=$oldest", false, $ctx), true); - if (count($switches4) > 0) { + if (count($switches4) > 0 && json_last_error() === JSON_ERROR_NONE) { $oldest = $switches4[count($switches4) - 1]["timestamp"]; echo(" Part 5/6\n"); + sleep(1); $switches5 = json_decode(file_get_contents("https://pluralkit.equestria.dev/v2/systems/$system/switches?before=$oldest", false, $ctx), true); - if (count($switches5) > 0) { + if (count($switches5) > 0 && json_last_error() === JSON_ERROR_NONE) { $oldest = $switches5[count($switches5) - 1]["timestamp"]; echo(" Part 6/6\n"); + sleep(1); $switches6 = json_decode(file_get_contents("https://pluralkit.equestria.dev/v2/systems/$system/switches?before=$oldest", false, $ctx), true); } else { $switches6 = []; @@ -78,7 +85,7 @@ if (count($switches1) > 0) { $switches2 = $switches3 = $switches4 = $switches5 = $switches6 = []; } -if ($switches1 !== null && $switches2 !== null && $switches3 !== null && $switches4 !== null && $switches5 !== null && $switches6 !== null) { +if (json_last_error() === JSON_ERROR_NONE && $switches1 !== null && $switches2 !== null && $switches3 !== null && $switches4 !== null && $switches5 !== null && $switches6 !== null) { echo("Data is valid, saved it\n"); file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/$system/switches.json", json_encode([...$switches1, ...$switches2, ...$switches3, ...$switches4, ...$switches5, ...$switches6], JSON_PRETTY_PRINT)); } else { diff --git a/includes/jobs/PKSystem.php b/includes/jobs/PKSystem.php index 6583e4f..117b6ad 100644 --- a/includes/jobs/PKSystem.php +++ b/includes/jobs/PKSystem.php @@ -23,15 +23,18 @@ if ($app["other"]["id"] === $system) { echo("Not using authentication\n"); $ctx = stream_context_create([ 'http' => [ - 'method' => 'GET' + 'method' => 'GET', + 'headers' => "User-Agent: Mozilla/5.0 (+Cold-Haze/1.1)\r\n" ] ]); } echo("Fetching...\n"); +sleep(1); $data = file_get_contents("https://pluralkit.equestria.dev/v2/systems/$system", false, $ctx); +json_decode($data); -if (trim($data) !== "" && $data !== false) { +if (trim($data) !== "" && $data !== false && json_last_error() === JSON_ERROR_NONE) { echo("Data is valid, saved it\n"); file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/$system/general.json", $data); } else { diff --git a/includes/util/banner.inc b/includes/util/banner.inc index 6c6b128..01362a0 100644 --- a/includes/util/banner.inc +++ b/includes/util/banner.inc @@ -144,6 +144,7 @@ function getMemberBannerData(string $id, string $system, bool $french = false) { "batpony" => $metadata["robot"] ? "Robot bat pony" : (!$metadata["plush"] ? "Bat pony" : "Bat pony plush"), "unicorn" => $metadata["robot"] ? "Robot unicorn" : (!$metadata["plush"] ? "Unicorn" : "Unicorn plush"), "changeling" => "Changeling", + "human" => "Human", "merpony" => "Merpony", default => $species . "_" . $metadata["robot"] }; diff --git a/includes/util/functions.inc b/includes/util/functions.inc index 3bc8091..e64bc5a 100644 --- a/includes/util/functions.inc +++ b/includes/util/functions.inc @@ -79,10 +79,20 @@ if (!function_exists("getAsset")) { } if ($type === "bodies" || $type === "heads") { - if (file_exists($_SERVER['DOCUMENT_ROOT'] . "/assets/" . $type . "/" . $id . ".png")) { - return "/assets/" . $type . "/" . $id . ".png"; + if (in_array("human", getSystemMember($systemID, $memberID)["_metadata"]["species"])) { + $type = "avatars"; + + if (file_exists($_SERVER['DOCUMENT_ROOT'] . "/assets/" . $type . "/" . $id . ".webp")) { + return "/assets/" . $type . "/" . $id . ".webp"; + } else { + return "/error/nofile/?s=$systemID&m=$memberID&t=$type"; + } } else { - return "/error/nofile/?s=$systemID&m=$memberID&t=$type"; + if (file_exists($_SERVER['DOCUMENT_ROOT'] . "/assets/" . $type . "/" . $id . ".png")) { + return "/assets/" . $type . "/" . $id . ".png"; + } else { + return "/error/nofile/?s=$systemID&m=$memberID&t=$type"; + } } } else { if (file_exists($_SERVER['DOCUMENT_ROOT'] . "/assets/" . $type . "/" . $id . ".webp")) { @@ -257,6 +267,7 @@ if (!function_exists("getSystemMember")) { } $member["system"] = $member["_system"] = $system; + $member["_metadata"] = file_exists($_SERVER['DOCUMENT_ROOT'] . "/includes/data/metadata/" . $id . ".json") ? json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/metadata/" . $id . ".json"), true) : null; return $member; } diff --git a/includes/util/rainbow.inc b/includes/util/rainbow.inc index 66ac2fc..dc4d687 100644 --- a/includes/util/rainbow.inc +++ b/includes/util/rainbow.inc @@ -40,8 +40,9 @@ function rainbow($hideCloudburst = false): array { return $data; } -function getMembersByColor($hideCloudburst = false): array { +function getMembersByColor($hideCloudburst = false, $ignoreHumans = false): array { $members = rainbow($hideCloudburst); + uasort($members, function ($a, $b) { return $a['hsl'][0] - $b['hsl'][0]; }); @@ -52,5 +53,11 @@ function getMembersByColor($hideCloudburst = false): array { $sorted[] = $data["_data"]; } - return $sorted; + if ($ignoreHumans) { + return array_filter($sorted, function ($i) { + return !in_array("human", $i["_metadata"]["species"]); + }); + } else { + return $sorted; + } } \ No newline at end of file diff --git a/pages/api/badger.php b/pages/api/badger.php index 3e8d04a..0682041 100644 --- a/pages/api/badger.php +++ b/pages/api/badger.php @@ -39,6 +39,7 @@ die(json_encode(array_map(function ($i) { "batpony" => $i["_metadata"]["robot"] ? "Robot bat pony" : (!$i["_metadata"]["plush"] ? "Bat pony" : "Bat pony plush"), "unicorn" => $i["_metadata"]["robot"] ? "Robot unicorn" : (!$i["_metadata"]["plush"] ? "Unicorn" : "Unicorn plush"), "changeling" => "Changeling", + "human" => "Human", "merpony" => "Merpony", default => $i["_metadata"]["species"][0] . "_" . $i["_metadata"]["robot"] }, diff --git a/pages/byspecies.inc b/pages/byspecies.inc index 672493e..7a032db 100644 --- a/pages/byspecies.inc +++ b/pages/byspecies.inc @@ -39,6 +39,7 @@ function page() { global $lang; if ($species === "batpony") $batpony[] = $member; if ($species === "crystal") $crystal[] = $member; if ($species === "changeling") $changeling[] = $member; + if ($species === "human") $human[] = $member; if ($species === "merpony") $merpony[] = $member; } } @@ -50,6 +51,7 @@ function page() { global $lang; species($batpony, "batpony", $lang["species"]["batpony"][3]); species($crystal, "crystal", $lang["species"]["crystal"][3]); species($changeling, "changeling", "Changelings"); + species($human, "human", "Humans"); species($merpony, "merpony", "Merponies"); } diff --git a/pages/home.inc b/pages/home.inc index f19d6f5..e9a5426 100644 --- a/pages/home.inc +++ b/pages/home.inc @@ -6,7 +6,7 @@ if (isset($_GET["ec"])) { require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/init.inc"; require_once $_SERVER['DOCUMENT_ROOT'] . '/includes/components/header.inc'; global $readOnly; global $isNormallyLoggedIn; global $_PROFILE; global $lang; global $pages; global $isLowerLoggedIn; global $app; global $isLoggedIn; -function banner() { global $isLoggedIn; global $isLowerLoggedIn; $byColor = getMembersByColor(); global $lang; ?> +function banner() { global $isLoggedIn; global $isLowerLoggedIn; $byColor = getMembersByColor(false, true); global $lang; ?>
.png" style="width:128px;">

-- cgit