From 73403645808a81425381f43c25e0ea2c92705312 Mon Sep 17 00:00:00 2001 From: Cash Costello Date: Sun, 25 Jul 2010 02:01:36 +0000 Subject: first go at brining tidypics up to code standards --- thumbnail.php | 148 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 75 insertions(+), 73 deletions(-) (limited to 'thumbnail.php') diff --git a/thumbnail.php b/thumbnail.php index 79d487210..f9f9d1e5f 100644 --- a/thumbnail.php +++ b/thumbnail.php @@ -1,78 +1,80 @@ 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; -- cgit v1.2.3