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 | 
