<?php /** * Tidypics Download Photos * * do not call this directly - call through page handler */ global $CONFIG; $file_guid = (int) get_input("file_guid"); $file = get_entity($file_guid); $type = get_input("type"); if ($file) { $filename = $file->originalfilename; $mime = $file->mimetype; header("Content-Type: $mime"); if ($type == "inline") { header("Content-Disposition: inline; filename=\"$filename\""); } else { header("Content-Disposition: attachment; filename=\"$filename\""); } $readfile = new ElggFile($file_guid); $readfile->owner_guid = $file->owner_guid; $contents = $readfile->grabFile(); if (empty($contents)) { echo file_get_contents(dirname(dirname(__FILE__)) . "/graphics/image_error_large.png" ); } else { // expires every 60 days $expires = 60 * 60*60*24; 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); echo $contents; } exit; } else { register_error(elgg_echo("image:downloadfailed")); }