query("SELECT books.*, s.name AS series_name,
(SELECT id FROM data WHERE book = books.id AND format = 'EPUB' LIMIT 1) AS epub_id FROM books
LEFT JOIN books_series_link AS bsl ON (bsl.book = books.id)
LEFT JOIN series AS s ON (bsl.series = s.id)
WHERE $search_qpart ORDER BY $order_by LIMIT $limit OFFSET $offset");
print "
";
$rows = 0;
while ($line = $result->fetchArray(SQLITE3_ASSOC)) {
++$rows;
$cover_link = "backend.php?" . http_build_query(["op" => "cover", "id" => $line["id"]]);
$author_link = "?" . http_build_query(["query" => $line["author_sort"]]);
$in_progress = false;
$is_read = false;
if ($line["epub_id"]) {
$read_link = "read.html?" . http_build_query(["id" => $line["epub_id"], "b" => $line["id"]]);
$lastread_result = $ldb->query("SELECT lastread, total_pages FROM epube_books, epube_pagination
WHERE epube_pagination.bookid = epube_books.bookid AND
epube_books.bookid = " . $line["epub_id"] . " AND owner = '$owner'");
if ($lastread_line = $lastread_result->fetchArray(SQLITE3_ASSOC)) {
$lastread = $lastread_line["lastread"];
$total_pages = $lastread_line["total_pages"];
$is_read = $total_pages - $lastread < 5;
$in_progress = $lastread > 1;
}
} else {
$read_link = "";
}
$cover_read = $is_read ? "read" : "";
print "
";
print "
";
if ($read_link) print "
";
if ($line["has_cover"]) {
print "";
} else {
print "";
}
if ($read_link) print "";
print "
";
$title_class = $in_progress ? "in_progress" : "";
print "
";
if ($line["series_name"]) {
$series_link = "?" . http_build_query(["query" => $line["series_name"]]);
$series_full = $line["series_name"] . " [" . $line["series_index"] . "]";
print "
";
}
print "
";
$data_result = $db->query("SELECT * FROM data WHERE book = " . $line["id"] . " LIMIT 3");
/*print "
";*/
print "";
?>
";
print "
";
}
?>
$query, "offset" => $offset - $limit]);
$next_link = http_build_query(["query" => $query, "offset" => $offset + $limit]);
?>