Factorize the thumbnail generation and move it to the class Book. re #127
This commit is contained in:
		
							parent
							
								
									5a6d44a158
								
							
						
					
					
						commit
						b0660b0814
					
				
					 2 changed files with 90 additions and 50 deletions
				
			
		
							
								
								
									
										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…
	
	Add table
		Add a link
		
	
		Reference in a new issue