diff options
Diffstat (limited to 'mod/file/download.php')
| -rw-r--r-- | mod/file/download.php | 50 |
1 files changed, 9 insertions, 41 deletions
diff --git a/mod/file/download.php b/mod/file/download.php index 6ef8719b3..b2acdffec 100644 --- a/mod/file/download.php +++ b/mod/file/download.php @@ -1,44 +1,12 @@ <?php - /** - * Elgg file download. - * - * @package ElggFile - * @author Curverider Ltd - * @copyright Curverider Ltd 2008-2010 - * @link http://elgg.com/ - */ +/** + * Elgg file download. + * + * @package ElggFile + */ +require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php"); - require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php"); +// Get the guid +$file_guid = get_input("file_guid"); - // Get the guid - $file_guid = get_input("file_guid"); - - // Get the file - $file = get_entity($file_guid); - - if ($file) { - $mime = $file->getMimeType(); - if (!$mime) { - $mime = "application/octet-stream"; - } - - $filename = $file->originalfilename; - - // fix for IE https issue - header("Pragma: public"); - - header("Content-type: $mime"); - if (strpos($mime, "image/")!==false) - header("Content-Disposition: inline; filename=\"$filename\""); - else - header("Content-Disposition: attachment; filename=\"$filename\""); - - $contents = $file->grabFile(); - $splitString = str_split($contents, 8192); - foreach($splitString as $chunk) - echo $chunk; - exit; - } else { - register_error(elgg_echo("file:downloadfailed")); - forward(); - }
\ No newline at end of file +forward("file/download/$file_guid"); |
