diff options
Diffstat (limited to 'mod/file/thumbnail.php')
-rw-r--r-- | mod/file/thumbnail.php | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/mod/file/thumbnail.php b/mod/file/thumbnail.php new file mode 100644 index 000000000..a150cce5a --- /dev/null +++ b/mod/file/thumbnail.php @@ -0,0 +1,69 @@ +<?php + +/** + * Elgg file thumbnail + * + * @package ElggFile + * @author Curverider Ltd + * @copyright Curverider Ltd 2008-2010 + * @link http://elgg.com/ + */ + +// Get engine +require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php"); + +// Get file GUID +$file_guid = (int) get_input('file_guid',0); + +// Get file thumbnail size +$size = get_input('size','small'); + +// Get file entity +if ($file = get_entity($file_guid)) { + + if ($file->getSubtype() == "file") { + + $simpletype = $file->simpletype; + if ($simpletype == "image") { + + // Get file thumbnail + switch ($size) { + case "small": + $thumbfile = $file->thumbnail; + break; + case "medium": + $thumbfile = $file->smallthumb; + break; + case "large": + default: + $thumbfile = $file->largethumb; + break; + } + + // Grab the file + if ($thumbfile && !empty($thumbfile)) { + $readfile = new ElggFile(); + $readfile->owner_guid = $file->owner_guid; + $readfile->setFilename($thumbfile); + $mime = $file->getMimeType(); + $contents = $readfile->grabFile(); + + // caching images for 10 days + header("Content-type: $mime"); + header('Expires: ' . date('r',time() + 864000)); + header("Pragma: public", true); + header("Cache-Control: public", true); + header("Content-Length: " . strlen($contents)); + + echo $contents; + exit; + + } + + } + + } + +} + +?>
\ No newline at end of file |