diff options
Diffstat (limited to 'thumbnail.php')
-rw-r--r-- | thumbnail.php | 148 |
1 files changed, 75 insertions, 73 deletions
diff --git a/thumbnail.php b/thumbnail.php index 79d487210..f9f9d1e5f 100644 --- a/thumbnail.php +++ b/thumbnail.php @@ -1,78 +1,80 @@ <?php - /** - * Tidypics Thumbnail - * - */ +/** + * Tidypics Thumbnail + * + */ - include_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php"); - - // Get file GUID - $file_guid = (int) get_input('file_guid'); - - // Get file thumbnail size - $size = get_input('size'); - // only 3 possibilities - if ($size != 'small' && $size != 'thumb') { - $size = 'large'; - } - - $error_image = ''; - switch ($size) { - case 'thumb': - $error_image = "image_error_thumb.png"; - break; - case 'small': - $error_image = "image_error_small.png"; - break; - case 'large': - $error_image = "image_error_large.png"; - break; - } - - // Get file entity - $file = get_entity($file_guid); - if (!$file) - forward('mod/tidypics/graphics/' . $error_image); - - if ($file->getSubtype() != "image") - forward('mod/tidypics/graphics/' . $error_image); - - // Get filename - if ($size == "thumb") { - $thumbfile = $file->thumbnail; - } else if ($size == "small") { - $thumbfile = $file->smallthumb; - } else { - $thumbfile = $file->largethumb; - } - - if (!$thumbfile) - forward('mod/tidypics/graphics/' . $error_image); - - // create Elgg File object - $readfile = new ElggFile(); - $readfile->owner_guid = $file->owner_guid; - $readfile->setFilename($thumbfile); - $contents = $readfile->grabFile(); +include_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php"); - // send error image if file could not be read - if (!$contents) { - forward('mod/tidypics/graphics/' . $error_image); - } - - // expires every 14 days - $expires = 14 * 60*60*24; +// Get file GUID +$file_guid = (int) get_input('file_guid'); - // overwrite header caused by php session code so images can be cached - $mime = $file->getMimeType(); - header("Content-Type: $mime"); - header("Content-Length: " . strlen($contents)); - header("Cache-Control: public", true); - header("Pragma: public", true); - header('Expires: ' . gmdate('D, d M Y H:i:s', time() + $expires) . ' GMT', true); - - // Return the thumbnail and exit - echo $contents; - exit; -?> +// Get file thumbnail size +$size = get_input('size'); +// only 3 possibilities +if ($size != 'small' && $size != 'thumb') { + $size = 'large'; +} + +$error_image = ''; +switch ($size) { + case 'thumb': + $error_image = "image_error_thumb.png"; + break; + case 'small': + $error_image = "image_error_small.png"; + break; + case 'large': + $error_image = "image_error_large.png"; + break; +} + +// Get file entity +$file = get_entity($file_guid); +if (!$file) { + forward('mod/tidypics/graphics/' . $error_image); +} + +if ($file->getSubtype() != "image") { + forward('mod/tidypics/graphics/' . $error_image); +} + +// Get filename +if ($size == "thumb") { + $thumbfile = $file->thumbnail; +} else if ($size == "small") { + $thumbfile = $file->smallthumb; +} else { + $thumbfile = $file->largethumb; +} + +if (!$thumbfile) { + forward('mod/tidypics/graphics/' . $error_image); +} + +// create Elgg File object +$readfile = new ElggFile(); +$readfile->owner_guid = $file->owner_guid; +$readfile->setFilename($thumbfile); +$contents = $readfile->grabFile(); + +// send error image if file could not be read +if (!$contents) { + forward('mod/tidypics/graphics/' . $error_image); +} + +// expires every 14 days +$expires = 14 * 60*60*24; + +// overwrite header caused by php session code so images can be cached +$mime = $file->getMimeType(); +header("Content-Type: $mime"); +header("Content-Length: " . strlen($contents)); +header("Cache-Control: public", true); +header("Pragma: public", true); +header('Expires: ' . gmdate('D, d M Y H:i:s', time() + $expires) . ' GMT', true); + +// Return the thumbnail and exit +echo $contents; +exit; |