From 3c7d0f73085d11b28e40898a0e25123ce32e9d85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lucas?= Date: Sat, 23 Jun 2012 21:36:55 +0200 Subject: [PATCH] Use only the table "data" to detect books (no filesystem use) --- book.php | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/book.php b/book.php index 9dafd0f..2352d3a 100644 --- a/book.php +++ b/book.php @@ -191,18 +191,19 @@ class Book extends Base { array_push ($linkArray, new Link ("fetch.php?id=$this->id&height=" . $height, "image/jpeg", Link::OPDS_THUMBNAIL_TYPE)); } - if ($handle = opendir($this->path)) { - while (false !== ($file = readdir($handle))) { - foreach (self::$mimetypes as $ext => $mime) - { - if (preg_match ('/'. $ext .'$/', $file)) { - $this->format [$ext] = $file; - array_push ($linkArray, $this->getLink ($ext, $mime, Link::OPDS_ACQUISITION_TYPE, $file, "Download")); - } - } + $result = parent::getDb ()->prepare('select id, format, name +from data where book = ?'); + $result->execute (array ($this->id)); + + while ($post = $result->fetchObject ()) + { + $ext = strtolower (str_replace ("ORIGINAL_", "", $post->format)); + if (array_key_exists ($ext, self::$mimetypes)) + { + array_push ($linkArray, $this->getLink ($ext, self::$mimetypes [$ext], Link::OPDS_ACQUISITION_TYPE, $post->name . "." . strtolower ($post->format), "Download")); } } - + foreach ($this->getAuthors () as $author) { array_push ($linkArray, new LinkNavigation ($author->getUri (), "related", str_format (localize ("bookentry.author"), localize ("splitByLetter.book.other"), $author->name))); }