Factorize the thumbnail generation and move it to the class Book. re #127
This commit is contained in:
parent
5a6d44a158
commit
b0660b0814
36
book.php
36
book.php
|
@ -440,6 +440,42 @@ class Book extends Base {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getThumbnail ($width, $height) {
|
||||||
|
if (is_null ($width) && is_null ($height)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
$file = $this->getFilePath ("jpg");
|
||||||
|
// get image size
|
||||||
|
if ($size = GetImageSize($file)) {
|
||||||
|
$w = $size[0];
|
||||||
|
$h = $size[1];
|
||||||
|
//set new size
|
||||||
|
if (!is_null ($width)) {
|
||||||
|
$nw = $width;
|
||||||
|
if ($nw > $w) { return false; }
|
||||||
|
$nh = ($nw*$h)/$w;
|
||||||
|
} else {
|
||||||
|
$nh = $height;
|
||||||
|
if ($nh > $h) { return false; }
|
||||||
|
$nw = ($nh*$w)/$h;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
//set new size
|
||||||
|
$nw = "160";
|
||||||
|
$nh = "120";
|
||||||
|
}
|
||||||
|
//draw the image
|
||||||
|
$src_img = imagecreatefromjpeg($file);
|
||||||
|
$dst_img = imagecreatetruecolor($nw,$nh);
|
||||||
|
imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $nw, $nh, $w, $h);//resizing the image
|
||||||
|
imagejpeg($dst_img,null,80);
|
||||||
|
imagedestroy($src_img);
|
||||||
|
imagedestroy($dst_img);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
public function getLinkArray ()
|
public function getLinkArray ()
|
||||||
{
|
{
|
||||||
$linkArray = array();
|
$linkArray = array();
|
||||||
|
|
104
fetch.php
104
fetch.php
|
@ -63,58 +63,62 @@ function notFound () {
|
||||||
{
|
{
|
||||||
case "jpg":
|
case "jpg":
|
||||||
header("Content-Type: image/jpeg");
|
header("Content-Type: image/jpeg");
|
||||||
if (isset($_GET["width"]))
|
if ($book->getThumbnail (getURLParam ("width"), getURLParam ("height"))) {
|
||||||
{
|
// The cover had to be resized
|
||||||
$file = $book->getFilePath ($type);
|
|
||||||
// get image size
|
|
||||||
if ($size = GetImageSize($file)) {
|
|
||||||
$w = $size[0];
|
|
||||||
$h = $size[1];
|
|
||||||
//set new size
|
|
||||||
$nw = $_GET["width"];
|
|
||||||
if ($nw > $w) { break; }
|
|
||||||
$nh = ($nw*$h)/$w;
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
//set new size
|
|
||||||
$nw = "160";
|
|
||||||
$nh = "120";
|
|
||||||
}
|
|
||||||
//draw the image
|
|
||||||
$src_img = imagecreatefromjpeg($file);
|
|
||||||
$dst_img = imagecreatetruecolor($nw,$nh);
|
|
||||||
imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $nw, $nh, $w, $h);//resizing the image
|
|
||||||
imagejpeg($dst_img,null,80);
|
|
||||||
imagedestroy($src_img);
|
|
||||||
imagedestroy($dst_img);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (isset($_GET["height"]))
|
|
||||||
{
|
|
||||||
$file = $book->getFilePath ($type);
|
|
||||||
// get image size
|
|
||||||
if ($size = GetImageSize($file)) {
|
|
||||||
$w = $size[0];
|
|
||||||
$h = $size[1];
|
|
||||||
//set new size
|
|
||||||
$nh = $_GET["height"];
|
|
||||||
if ($nh > $h) { break; }
|
|
||||||
$nw = ($nh*$w)/$h;
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
//set new size
|
|
||||||
$nw = "160";
|
|
||||||
$nh = "120";
|
|
||||||
}
|
|
||||||
//draw the image
|
|
||||||
$src_img = imagecreatefromjpeg($file);
|
|
||||||
$dst_img = imagecreatetruecolor($nw,$nh);
|
|
||||||
imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $nw, $nh, $w, $h);//resizing the image
|
|
||||||
imagejpeg($dst_img,null,80);
|
|
||||||
imagedestroy($src_img);
|
|
||||||
imagedestroy($dst_img);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
// if (isset($_GET["width"]))
|
||||||
|
// {
|
||||||
|
// $file = $book->getFilePath ($type);
|
||||||
|
// // get image size
|
||||||
|
// if ($size = GetImageSize($file)) {
|
||||||
|
// $w = $size[0];
|
||||||
|
// $h = $size[1];
|
||||||
|
// //set new size
|
||||||
|
// $nw = $_GET["width"];
|
||||||
|
// if ($nw > $w) { break; }
|
||||||
|
// $nh = ($nw*$h)/$w;
|
||||||
|
// }
|
||||||
|
// else{
|
||||||
|
// //set new size
|
||||||
|
// $nw = "160";
|
||||||
|
// $nh = "120";
|
||||||
|
// }
|
||||||
|
// //draw the image
|
||||||
|
// $src_img = imagecreatefromjpeg($file);
|
||||||
|
// $dst_img = imagecreatetruecolor($nw,$nh);
|
||||||
|
// imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $nw, $nh, $w, $h);//resizing the image
|
||||||
|
// imagejpeg($dst_img,null,80);
|
||||||
|
// imagedestroy($src_img);
|
||||||
|
// imagedestroy($dst_img);
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
// if (isset($_GET["height"]))
|
||||||
|
// {
|
||||||
|
// $file = $book->getFilePath ($type);
|
||||||
|
// // get image size
|
||||||
|
// if ($size = GetImageSize($file)) {
|
||||||
|
// $w = $size[0];
|
||||||
|
// $h = $size[1];
|
||||||
|
// //set new size
|
||||||
|
// $nh = $_GET["height"];
|
||||||
|
// if ($nh > $h) { break; }
|
||||||
|
// $nw = ($nh*$w)/$h;
|
||||||
|
// }
|
||||||
|
// else{
|
||||||
|
// //set new size
|
||||||
|
// $nw = "160";
|
||||||
|
// $nh = "120";
|
||||||
|
// }
|
||||||
|
// //draw the image
|
||||||
|
// $src_img = imagecreatefromjpeg($file);
|
||||||
|
// $dst_img = imagecreatetruecolor($nw,$nh);
|
||||||
|
// imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $nw, $nh, $w, $h);//resizing the image
|
||||||
|
// imagejpeg($dst_img,null,80);
|
||||||
|
// imagedestroy($src_img);
|
||||||
|
// imagedestroy($dst_img);
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
header("Content-Type: " . Data::$mimetypes[$type]);
|
header("Content-Type: " . Data::$mimetypes[$type]);
|
||||||
|
|
Loading…
Reference in a new issue