0){ foreach($ebooks[0]->Collections as $c){ if($collection == Formatter::MakeUrlSafe($c->Name)){ $collectionObject = $c; } } } if($collectionObject !== null){ $collectionName = preg_replace('/^The /ius', '', $collectionObject->Name); $collectionType = $collectionObject->Type ?? 'collection'; $pageTitle = 'Browse free ebooks in the ' . Formatter::ToPlainText($collectionName) . ' ' . $collectionType; $pageDescription = 'A list of free ebooks in the ' . Formatter::ToPlainText($collectionName) . ' ' . $collectionType; $pageHeader = 'Free Ebooks in the ' . Formatter::ToPlainText($collectionName) . ' ' . ucfirst($collectionType); } else{ throw new Exceptions\InvalidCollectionException(); } } else{ $ebooks = Library::FilterEbooks($query != '' ? $query : null, $tags, $sort); $pageTitle = 'Browse Standard Ebooks'; $pageHeader = 'Browse Ebooks'; $pages = ceil(sizeof($ebooks) / $perPage); $totalEbooks = sizeof($ebooks); $ebooks = array_slice($ebooks, ($page - 1) * $perPage, $perPage); } if($page > 1){ $pageTitle .= ', page ' . $page; } $pageDescription = 'Page ' . $page . ' of the Standard Ebooks free ebook library'; if($collection === null){ if($query != ''){ $queryString .= '&query=' . urlencode($query); } foreach($tags as $tag){ $queryString .= '&tags[]=' . urlencode($tag); } if($view !== null){ $queryString .= '&view=' . urlencode($view); } if($sort !== null){ $queryString .= '&sort=' . urlencode($sort); } if($perPage !== EBOOKS_PER_PAGE){ $queryString .= '&per-page=' . urlencode((string)$perPage); } } $queryString = preg_replace('/^&/ius', '', $queryString); if($collection !== null){ $feedUrl = '/collections/' . Formatter::ToPlainText($collection); $feedTitle = 'Standard Ebooks - Ebooks in the ' . Formatter::ToPlainText($collectionName) . ' ' . $collectionType; } } catch(Exceptions\InvalidCollectionException $ex){ Template::Emit404(); } ?> $pageTitle, 'feedUrl' => $feedUrl, 'feedTitle' => $feedTitle, 'highlight' => 'ebooks', 'description' => $pageDescription]) ?>
class="is-collection"> $query, 'tags' => $tags, 'sort' => $sort, 'view' => $view, 'perPage' => $perPage]) ?>

Download collection Collection feeds

No ebooks matched your filters. You can try different filters, or browse all of our ebooks.

$ebooks, 'view' => $view, 'collection' => $collectionObject]) ?> 0 && $collection === null){ ?>

We also have bulk ebook downloads available, as well as ebook catalog feeds for use directly in your ereader app or RSS reader.

0 && $query == '' && sizeof($tags) == 0 && $collection === null && $page == 1){ ?>