/feeds * GET /ebooks//feeds */ use function Safe\exec; $author = HttpInput::Str(GET, 'author'); $collection = HttpInput::Str(GET, 'collection'); $collectionType = null; $target = null; $feedTitle = ''; $feedUrl = ''; $title = ''; $description = ''; $label = null; if($author !== null){ $collectionType = Enums\FeedCollectionType::Authors; $target = $author; } if($collection !== null){ $collectionType = Enums\FeedCollectionType::Collections; $target = $collection; } try{ if($target === null || $collectionType === null){ throw new Exceptions\CollectionNotFoundException(); } $file = WEB_ROOT . '/feeds/opds/' . $collectionType->value . '/' . $target . '.xml'; if(!is_file($file)){ throw new Exceptions\CollectionNotFoundException(); } $label = exec('attr -g se-label ' . escapeshellarg($file)) ?: basename($file, '.xml'); if($collectionType == Enums\FeedCollectionType::Authors){ $title = 'Ebook feeds for ' . $label; $description = 'A list of available ebook feeds for ebooks by ' . $label . '.'; $feedTitle = 'Standard Ebooks - Ebooks by ' . $label; } if($collectionType == Enums\FeedCollectionType::Collections){ $title = 'Ebook feeds for the ' . $label . ' collection'; $description = 'A list of available ebook feeds for ebooks in the ' . $label . ' collection.'; $feedTitle = 'Standard Ebooks - Ebooks in the ' . $label . ' collection'; } $feedUrl = '/' . $collectionType->value . '/' . $target; } catch(Exceptions\CollectionNotFoundException){ Template::ExitWithCode(Enums\HttpCode::NotFound); } ?>

Ebook Feeds for

GetDisplayName() ?> Feed

Import this feed into your ereader app to get access to these ebooks directly in your ereader.

Get updates in your RSS client whenever a new ebook is released, or parse this feed for easy scripting.

The predecessor of Atom, compatible with most RSS clients.

  • Email)){ ?>https://Email) ?>@/feeds/value ?>/value ?>/