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;