$part) { if (strlen($part) == 1) { switch ($part) { case "[": case "{": $parts[$index] = "array("; break; case "]": case "}": $parts[$index] = ")"; break; case ":": $parts[$index] = "=>"; break; case ",": break; default: return null; } } else { if ((substr($part, 0, 1) != '"') || (substr($part, -1, 1) != '"')) { $parts[$index] = '"' . $part . '"'; } } } $json = str_replace(array("\", """, "$"), array("\\\\", "\\\"", "\\$"), implode("", $parts)); return eval("return $json;"); } function writePlaylist($jsondata, $group) { $playlist_file = "/tmp/Radio_list_" . $group . ".m3u"; $playlist = jsonDecode($jsondata); $p = fopen($playlist_file, 'w'); fwrite($p, "#EXTM3U\n", 8); if ($playlist) { foreach ($playlist as $entry) { $line = "#EXTINF:-1,".$entry['name']."\n" .$entry['url']."\n"; fwrite($p, $line); } } else { fwrite($p, "# empty"); } fclose($p); } if ($group == "dragon") { $result = getListFromUrl(); writePlaylist($result, $group); } else { $result = getListFromIRS(); // set this to "true" if you want to store the retrieved list (backup purpose) // note: this stores a single list, repeat this for every list on the server if (false) { saveCategoryList($result); } } if (strpos($result, "FAILED") !== false) header("HTTP/1.0 500 IRS_FAILED\n"); else header("HTTP/1.0 202 ACCEPTED\n"); echo $result; ?>