data = file_get_contents("https://git.waren.io/cwchristerw/radio/raw/branch/master/playlist.json"); $this->data = str_replace("aw_0_1st.skey=1701171117", "aw_0_1st.skey=".time(),$this->data); $this->data = json_decode($this->data, true); } public function generate($format){ switch($format){ case "json": header('Content-Type: application/json'); $content = json_encode($this->data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); echo $content; break; case "m3u": header('Content-Type: application/vnd.apple.mpegurl'); $content = '#EXTM3U'."\n\n"; for ($i = 0; $i < count($this->data); $i++) { $content .= '#EXTINF:-1,'.$this->data[$i]['name']."\n"; $content .= $this->data[$i]['stream'][$this->data[$i]['stream']['default']].( $i + 1 < count($this->data) ? "\n\n" : ""); } echo $content; break; case "pls": header('Content-Type: audio/x-scpls'); $content = '[playlist]'."\n\n"; for ($i = 1; $i-1 < count($this->data); $i++) { $content .= 'File'.$i.'='.$this->data[$i-1]['stream'][$this->data[$i-1]['stream']['default']]."\n"; $content .= 'Title'.$i.'='.$this->data[$i-1]['name']."\n\n"; } $content .= 'Version=2'; echo $content; break; case "xspf": header('Content-Type: application/xspf+xml'); $content = ''."\n"; $content .= ''."\n"; $content .= ''."\n"; for ($i = 0; $i < count($this->data); $i++) { $content .= ' '."\n"; $content .= ' '.$this->data[$i]['name'].''."\n"; $content .= ' '.$this->data[$i]['stream'][$this->data[$i]['stream']['default']].''."\n"; $content .= ' '."\n"; } $content .= ''."\n"; $content .= ''; echo $content; break; default: $this->generate("json"); break; } } } $playlist = new Playlist; $playlist->init(); $format = $_GET['format']; $playlist->generate($format); ?>