From 8b73bd28d81b4fd08a44ed6cc46ebedcab65f0b2 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sun, 8 Oct 2017 17:10:05 +0300 Subject: remove apache-specific x-sendfile stuff implement a hook (HOOK_SEND_LOCAL_FILE) which plugins may use to send files via httpd-specific implementation to increase performance typically on larger files --- plugins/cache_starred_images/init.php | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) (limited to 'plugins/cache_starred_images') diff --git a/plugins/cache_starred_images/init.php b/plugins/cache_starred_images/init.php index 527e088d5..82e7d1fbd 100644 --- a/plugins/cache_starred_images/init.php +++ b/plugins/cache_starred_images/init.php @@ -66,27 +66,11 @@ class Cache_Starred_Images extends Plugin implements IHandler { if ($hash) { $filename = $this->cache_dir . "/" . basename($hash); - $is_video = strpos($filename, ".mp4") !== FALSE; if (file_exists($filename)) { 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 { header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found"); echo "File not found."; -- cgit v1.2.3