aboutsummaryrefslogtreecommitdiffstats
path: root/Zotlabs/Thumbs
diff options
context:
space:
mode:
authorzotlabs <mike@macgirvin.com>2017-11-21 14:30:26 -0800
committerzotlabs <mike@macgirvin.com>2017-11-21 14:30:26 -0800
commit8dceb8e3a75282540d7dbe9dc6e26091dad71fe0 (patch)
tree867b34d5d5e070498a183656ac1e092b70910f62 /Zotlabs/Thumbs
parent1acef2e242a824f77de1a9ea3971dcabfa1b63e2 (diff)
downloadvolse-hubzilla-8dceb8e3a75282540d7dbe9dc6e26091dad71fe0.tar.gz
volse-hubzilla-8dceb8e3a75282540d7dbe9dc6e26091dad71fe0.tar.bz2
volse-hubzilla-8dceb8e3a75282540d7dbe9dc6e26091dad71fe0.zip
thumbnail generator for epubs
Diffstat (limited to 'Zotlabs/Thumbs')
-rw-r--r--Zotlabs/Thumbs/Epubthumb.php38
1 files changed, 38 insertions, 0 deletions
diff --git a/Zotlabs/Thumbs/Epubthumb.php b/Zotlabs/Thumbs/Epubthumb.php
new file mode 100644
index 000000000..4213b5267
--- /dev/null
+++ b/Zotlabs/Thumbs/Epubthumb.php
@@ -0,0 +1,38 @@
+<?php
+
+namespace Zotlabs\Thumbs;
+
+require_once('library/epub-meta/epub.php');
+
+class Epubthumb {
+
+ function Match($type) {
+ return(($type === 'application/epub+zip') ? true : false );
+ }
+
+ 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');
+ }
+ }
+}
+