*/ require_once 'lib/BDAParser.php'; require_once 'lib/RSSGenerator.php'; use \BassDrive\BDAParser; use \BassDrive\RSSGenerator; $config = parse_ini_file('global.ini', true); if ($config === false) { die('global.ini not found or invalid syntax. See https://www.php.net/manual/en/function.parse-ini-file .'); } date_default_timezone_set($config['config']['time_zone']); $base_url = $config['config']['base_url']; if (!array_key_exists('show', $_GET)) { header('Content-Type: text/html'); echo 'No show selected. Available shows (RSS feeds):
'; echo ''; echo ''; exit(); } // If we get here, a show was selected $show = $_GET['show']; $show_dir = realpath('shows/' . $show) . '/'; $show_conf = parse_ini_file($show_dir . 'config.ini', true); if ($show_conf === false) { die('Couldn\'t read (or parse) show\'s config.ini. See https://www.php.net/manual/en/function.parse-ini-file .'); } // PARSE BASSDRIVE ARCHIVE $show_data = new BDAParser($show_dir, $show_conf['archive']['url'], $show_conf['archive']['mp3_bitrate']); $file_list = $show_data->fetchFiles(); // GENERATE RSS XML $rss_gen = new RSSGenerator($base_url . '?show=' . $show, $base_url . 'shows/' . $show . '/'); $rss_gen->setGlobalConfig($config); $rss_gen->setShowConfig($show_conf); $rss_gen->setShowIntro(file_get_contents($show_dir . 'intro.txt')); foreach ($file_list as $f) { $rss_gen->addItem($f['url'], $f['title'], $f['size'], $f['duration'], $f['date']); } // OUTPUT RSS $rss = $rss_gen->getRss(); file_put_contents('feed_' . $show . '.rss2', $rss); header('Content-Type: application/rss+xml'); echo $rss;