|
@@ -66,27 +66,11 @@ class Cache_Starred_Images extends Plugin implements IHandler {
|
|
if ($hash) {
|
|
if ($hash) {
|
|
|
|
|
|
$filename = $this->cache_dir . "/" . basename($hash);
|
|
$filename = $this->cache_dir . "/" . basename($hash);
|
|
- $is_video = strpos($filename, ".mp4") !== FALSE;
|
|
|
|
|
|
|
|
if (file_exists($filename)) {
|
|
if (file_exists($filename)) {
|
|
header("Content-Disposition: attachment; filename=\"$hash\"");
|
|
header("Content-Disposition: attachment; filename=\"$hash\"");
|
|
|
|
|
|
- /* See if we can use X-Sendfile */
|
|
|
|
- $xsendfile = false;
|
|
|
|
- if (function_exists('apache_get_modules') &&
|
|
|
|
- array_search('mod_xsendfile', apache_get_modules()))
|
|
|
|
- $xsendfile = true;
|
|
|
|
-
|
|
|
|
- if ($xsendfile) {
|
|
|
|
- header("X-Sendfile: $filename");
|
|
|
|
- header("Content-type: application/octet-stream");
|
|
|
|
- header('Content-Disposition: attachment; filename="' . basename($filename) . '"');
|
|
|
|
- } else {
|
|
|
|
- header("Content-type: " . ($is_video ? "video/mp4" : "image/png"));
|
|
|
|
- $stamp = gmdate("D, d M Y H:i:s", filemtime($filename)). " GMT";
|
|
|
|
- header("Last-Modified: $stamp", true);
|
|
|
|
- readfile($filename);
|
|
|
|
- }
|
|
|
|
|
|
+ send_local_file($filename);
|
|
} else {
|
|
} else {
|
|
header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");
|
|
header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");
|
|
echo "File not found.";
|
|
echo "File not found.";
|