mirror of
https://codeberg.org/streams/streams.git
synced 2024-09-20 18:35:13 +00:00
aa63c23839
There have been some conversations in the last weeks which explained several parts of the code, so add it to the source code documentation. Also some other small source code documentation improvements.
56 lines
1.2 KiB
PHP
56 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace Zotlabs\Thumbs;
|
|
|
|
require_once 'library/epub-meta/epub.php';
|
|
|
|
/**
|
|
* @brief Thumbnail creation for epub files.
|
|
*
|
|
*/
|
|
class Epubthumb {
|
|
|
|
/**
|
|
* @brief Match for application/epub+zip.
|
|
*
|
|
* @param string $type MimeType
|
|
* @return boolean
|
|
*/
|
|
function Match($type) {
|
|
return(($type === 'application/epub+zip') ? true : false );
|
|
}
|
|
|
|
/**
|
|
* @brief
|
|
*
|
|
* @param array $attach
|
|
* @param number $preview_style unused
|
|
* @param number $height (optional) default 300
|
|
* @param number $width (optional) default 300
|
|
*/
|
|
function Thumb($attach, $preview_style, $height = 300, $width = 300) {
|
|
|
|
$photo = false;
|
|
|
|
$ep = new \EPub(dbunescbin($attach['content']));
|
|
$data = $ep->Cover();
|
|
|
|
if($data['found']) {
|
|
$photo = $data['data'];
|
|
}
|
|
|
|
if($photo) {
|
|
$image = imagecreatefromstring($photo);
|
|
$dest = imagecreatetruecolor($width, $height);
|
|
$srcwidth = imagesx($image);
|
|
$srcheight = imagesy($image);
|
|
|
|
imagealphablending($dest, false);
|
|
imagesavealpha($dest, true);
|
|
imagecopyresampled($dest, $image, 0, 0, 0, 0, $width, $height, $srcwidth, $srcheight);
|
|
imagedestroy($image);
|
|
imagejpeg($dest, dbunescbin($attach['content']) . '.thumb');
|
|
}
|
|
}
|
|
}
|
|
|