<?php $options = json_decode($argv[1], true); $_SERVER['DOCUMENT_ROOT'] = "../.."; require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/util/functions.inc"; require_once $_SERVER['DOCUMENT_ROOT'] . '/includes/composer/vendor/autoload.php'; use ColorThief\ColorThief; echo("Loading...\n"); $app = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/app.json"), true); $system = $options["system"]; if ($app["other"]["id"] === $system) { echo("Using authentication\n"); $ctx = stream_context_create([ 'http' => [ 'method' => 'GET', 'header' => "Authorization: " . $app["other"]["token"] . "\r\n" ] ]); } else { echo("Not using authentication\n"); $ctx = stream_context_create([ 'http' => [ 'method' => 'GET' ] ]); } echo("Fetching...\n"); $data = file_get_contents("https://pluralkit.equestria.dev/v2/systems/$system/members", false, $ctx); if (trim($data) !== "" && $data !== false) { echo("Data is valid, saved it\n"); $parsed = json_decode($data, true); foreach ($parsed as $index => $member) { echo(($member["display_name"] ?? $member["name"]) . "\n"); if (isset($member["avatar_url"])) { $dominantColor = substr(ColorThief::getColor($member["avatar_url"], outputFormat: "hex"), 1); } else { $dominantColor = "ffffff"; } $parsed[$index]["dominant_color"] = $dominantColor; if (!isset($member["color"])) { $parsed[$index]["color"] = $dominantColor; } } $data = json_encode($parsed, JSON_PRETTY_PRINT); file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/$system/members.json", $data); } else { echo("Data is invalid\n"); } echo("Clearing cache\n"); file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/cache/navigation.json", "{}"); file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/cache/home.json", "{}"); file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/cache/alphabet.json", "{}"); file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/cache/splitting.json", "{}"); file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/cache/species.json", "{}"); file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/cache/planner.json", "{}"); file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/cache/relations.json", "{}"); echo("Cleared cache\n"); require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/jobs/RefreshCache.php";