diff options
Diffstat (limited to 'pages/api/plex.php')
-rw-r--r-- | pages/api/plex.php | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/pages/api/plex.php b/pages/api/plex.php deleted file mode 100644 index 00164c7..0000000 --- a/pages/api/plex.php +++ /dev/null @@ -1,88 +0,0 @@ -<?php - -require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/util/random.inc"; -$app = $GLOBALS["ColdHazeApp"]; - -function formatTitle($metadata) { - if ($metadata['grandparentTitle']) { - return $metadata['grandparentTitle']; - } else { - $ret = $metadata['title']; - if ($metadata['year']) { - $ret .= " (" . $metadata['year'] . ")"; - } - return $ret; - } -} - -function formatSubtitle($metadata) { - $ret = ''; - - if ($metadata['grandparentTitle']) { - if ($metadata['type'] === 'track') { - $ret = $metadata['parentTitle']; - } else if ($metadata['index'] && $metadata['parentIndex']) { - $ret = "S" . $metadata['parentIndex'] . " E" . $metadata['index']; - } else if ($metadata['originallyAvailableAt']) { - $ret = $metadata['originallyAvailableAt']; - } - - if ($metadata['title']) { - $ret .= ' - ' . $metadata['title']; - } - } else if ($metadata['type'] === 'movie') { - $ret = $metadata['tagline']; - } - - return $ret; -} - -$payload = json_decode($_POST["payload"], true); - -if (!file_exists($_SERVER['DOCUMENT_ROOT'] . "/assets/cache")) mkdir($_SERVER['DOCUMENT_ROOT'] . "/assets/cache"); -$id = random(32); - -if ($payload["Metadata"]["type"] === "track") { - file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/assets/cache/" . $id . ".jpg", file_get_contents("https://plex.equestria.dev" . $payload["Metadata"]["thumb"] . "?X-Plex-Token=" . $app["plex"])); -} else { - file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/assets/cache/" . $id . ".jpg", file_get_contents("https://plex.equestria.dev" . $payload["Metadata"]["grandparentThumb"] . "?X-Plex-Token=" . $app["plex"])); -} - -if ($payload["event"] === "playback.started" || $payload["event"] === "media.play") { - $hookObject = json_encode([ - "username" => "Plex", - "avatar_url" => "https://support.plex.tv/wp-content/themes/plex/assets/img/favicons/plex-192.png", - "embeds" => [ - [ - "title" => formatTitle($payload["Metadata"]), - "type" => "rich", - "description" => formatSubtitle($payload["Metadata"]), - "color" => hexdec( "2b2d31" ), - "thumbnail" => [ - "url" => "https://ponies.equestria.horse/assets/cache/" . $id . ".jpg" - ], - "footer" => [ - "text" => $payload["Account"]["title"] . " ยท Playing from " . $payload["Player"]["title"], - "icon_url" => $payload["Account"]["thumb"] - ] - ] - ] - - ], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE ); -} - -if (isset($hookObject)) { - $ch = curl_init(); - - curl_setopt_array( $ch, [ - CURLOPT_URL => $app["webhook"]["plex"], - CURLOPT_POST => true, - CURLOPT_POSTFIELDS => $hookObject, - CURLOPT_HTTPHEADER => [ - "Content-Type: application/json" - ] - ]); - - $response = curl_exec( $ch ); - curl_close( $ch ); -}
\ No newline at end of file |