aboutsummaryrefslogtreecommitdiffstats
path: root/Zotlabs/Daemon/Thumbnail.php
diff options
context:
space:
mode:
Diffstat (limited to 'Zotlabs/Daemon/Thumbnail.php')
-rw-r--r--Zotlabs/Daemon/Thumbnail.php62
1 files changed, 62 insertions, 0 deletions
diff --git a/Zotlabs/Daemon/Thumbnail.php b/Zotlabs/Daemon/Thumbnail.php
new file mode 100644
index 000000000..aeea07410
--- /dev/null
+++ b/Zotlabs/Daemon/Thumbnail.php
@@ -0,0 +1,62 @@
+<?php /** @file */
+
+namespace Zotlabs\Daemon;
+
+
+class Thumbnail {
+
+ static public function run($argc,$argv) {
+
+ if(! $argc == 2)
+ return;
+
+ $c = q("select * from attach where hash = '%s' ",
+ dbesc($argv[1])
+ );
+
+ if(! $c)
+ return;
+
+ $preview_style = intval(get_config('system','thumbnail_security',0));
+
+ $attach = $c[0];
+ $isize = 300;
+
+ if(strpos($attach['filetype'],'text/') !== false) {
+ $stream = @fopen($attach['content'],'rb');
+ if($stream) {
+ $content = trim(stream_get_contents($stream,4096));
+ $content = str_replace("\r",'',$content);
+ $content_a = explode("\n",$content);
+ }
+ if($content_a) {
+ $fsize = 4;
+ $lsize = 8;
+ $image = imagecreate($isize,$isize);
+ imagecolorallocate($image,255,255,255);
+ $colour = imagecolorallocate($image,0,0,0);
+ $border = imagecolorallocate($image,64,64,64);
+
+ $x1 = 0;
+ $y1 = 0;
+ $x2 = ImageSX($image) - 1;
+ $y2 = ImageSY($image) - 1;
+
+ for($i = 0; $i < 2; $i++) {
+ ImageRectangle($image, $x1++, $y1++, $x2--, $y2--, $border);
+ }
+
+ foreach($content_a as $l => $t) {
+ $l = $l + 1;
+ $x = 3;
+ $y = ($l * $lsize) + 3 - $fsize;
+ imagestring($image,1,$x,$y,$t,$colour);
+ if(($l * $lsize) >= $isize) {
+ break;
+ }
+ }
+ imagejpeg($image,$attach['content'] . '.thumb');
+ }
+ }
+ }
+} \ No newline at end of file