text thumbnails in cloud tile mode
This commit is contained in:
62
Zotlabs/Daemon/Thumbnail.php
Normal file
62
Zotlabs/Daemon/Thumbnail.php
Normal file
@@ -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');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user