#!/usr/bin/env php true, CURLOPT_FAILONERROR => true, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HEADER => false, CURLOPT_RETURNTRANSFER => true, CURLOPT_TCP_FASTOPEN => true, CURLOPT_CONNECTTIMEOUT => 5, CURLOPT_MAXREDIRS => 5, CURLOPT_PROTOCOLS => CURLPROTO_HTTPS | CURLPROTO_HTTP, CURLOPT_TIMEOUT => 10, CURLOPT_USERAGENT => 'flash.moe signature', ]); $res = curl_exec($req); } finally { curl_close($req); } return $res; } sig_log('Starting Now Playing refresh...'); $npRaw = json_decode(sig_web_get(NP_URL)); sig_log('Downloaded NP info.'); if(empty($npRaw[0]->nowplaying)) { sig_log('Not currently listening to anything.'); if(is_file(NP_INFO)) { sig_log('Deleting NP_INFO file...'); unlink(NP_INFO); } if(is_file(NP_COVER_IMG)) { sig_log('Deleting NP_COVER_IMG file...'); unlink(NP_COVER_IMG); } } else { sig_log('Currently listening to something!'); if(is_file(NP_INFO)) { sig_log('Fetching previous URL from current NP_INFO file...'); $npInfo = unserialize(file_get_contents(NP_INFO)); $npLastUrl = $npInfo->url; } else $npLastUrl = ''; $npInfo = new stdClass; $npInfo->v = 1; $npInfo->title = $npRaw[0]->name; $npInfo->artist = $npRaw[0]->artist->name; $npInfo->url = $npRaw[0]->url; $sameAsLast = $npLastUrl === $npInfo->url; if(!$sameAsLast) { sig_log('Writing new NP_INFO file...'); file_put_contents(NP_INFO, serialize($npInfo)); } $hasCover = basename($npRaw[0]->images->large) !== NP_COVER_DEFAULT; if($hasCover) { sig_log('Current song has a cover image.'); if($sameAsLast && is_file(NP_COVER_IMG)) { sig_log('Song URL is identical to previous run, leaving existing cover image.'); } else { sig_log('Downloading cover image...'); $npCover = sig_web_get($npRaw[0]->images->large); sig_log('Writing cover image...'); file_put_contents(NP_COVER_IMG, $npCover); } } else { sig_log('Current song does not have a cover image.'); if(is_file(NP_COVER_IMG)) { sig_log('Deleting NP_COVER_IMG file...'); unlink(NP_COVER_IMG); } } } sig_log('Done!');