streams/Zotlabs/Thumbs/Epubthumb.php
Klaus Weidenbach aa63c23839 💡 Add source documentation from recent conversations.
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.
2018-01-05 01:38:20 +01:00

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