Better handling of book format inside Calibre.
Not tested enough
This commit is contained in:
parent
b2f34f428f
commit
9a8e9bacae
2 changed files with 36 additions and 19 deletions
52
book.php
52
book.php
|
@ -139,32 +139,48 @@ class Book extends Base {
|
|||
}
|
||||
}
|
||||
|
||||
public function getFilePath ($extension, $relative = false)
|
||||
public function getFilePath ($extension, $idData = NULL, $relative = false)
|
||||
{
|
||||
if ($handle = opendir($this->path)) {
|
||||
while (false !== ($file = readdir($handle))) {
|
||||
if (preg_match ('/' . $extension . '$/', $file)) {
|
||||
if ($relative)
|
||||
{
|
||||
return $this->relativePath."/".$file;
|
||||
}
|
||||
else
|
||||
{
|
||||
return $this->path."/".$file;
|
||||
}
|
||||
}
|
||||
$file = NULL;
|
||||
if ($extension == "jpg")
|
||||
{
|
||||
$file = "cover.jpg";
|
||||
}
|
||||
else
|
||||
{
|
||||
$result = parent::getDb ()->prepare('select format, name
|
||||
from data where id = ?');
|
||||
$result->execute (array ($idData));
|
||||
|
||||
while ($post = $result->fetchObject ())
|
||||
{
|
||||
$file = $post->name . "." . strtolower ($post->format);
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
|
||||
if ($relative)
|
||||
{
|
||||
return $this->relativePath."/".$file;
|
||||
}
|
||||
else
|
||||
{
|
||||
return $this->path."/".$file;
|
||||
}
|
||||
}
|
||||
|
||||
private function getLink ($type, $mime, $rel, $filename, $title = NULL)
|
||||
private function getLink ($type, $mime, $rel, $filename, $idData, $title = NULL)
|
||||
{
|
||||
global $config;
|
||||
|
||||
$textData = "";
|
||||
if (!is_null ($idData))
|
||||
{
|
||||
$textData = "&data=" . $idData;
|
||||
}
|
||||
|
||||
if (preg_match ('/^\//', $config['calibre_directory']))
|
||||
{
|
||||
return new Link ("fetch.php?id=$this->id&type=" . $type, $mime, $rel, $title);
|
||||
return new Link ("fetch.php?id=$this->id" . $textData . "&type=" . $type, $mime, $rel, $title);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -179,7 +195,7 @@ class Book extends Base {
|
|||
|
||||
if ($this->hasCover)
|
||||
{
|
||||
array_push ($linkArray, $this->getLink ("jpg", "image/jpeg", Link::OPDS_IMAGE_TYPE, "cover.jpg"));
|
||||
array_push ($linkArray, $this->getLink ("jpg", "image/jpeg", Link::OPDS_IMAGE_TYPE, "cover.jpg", NULL));
|
||||
$height = "50";
|
||||
if (preg_match ('/feed.php/', $_SERVER["SCRIPT_NAME"])) {
|
||||
$height = $config['cops_opds_thumbnail_height'];
|
||||
|
@ -200,7 +216,7 @@ from data where book = ?');
|
|||
$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"));
|
||||
array_push ($linkArray, $this->getLink ($ext, self::$mimetypes [$ext], Link::OPDS_ACQUISITION_TYPE, $post->name . "." . strtolower ($post->format), $post->id, "Download"));
|
||||
$this->format [$ext] = $post->name . "." . strtolower ($post->format);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue