Use only the table "data" to detect books (no filesystem use)

This commit is contained in:
Sébastien Lucas 2012-06-23 21:36:55 +02:00
parent 06430d7563
commit 3c7d0f7308
1 changed files with 11 additions and 10 deletions

View File

@ -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)));
}