From: Andrew Dolgov Date: Thu, 16 Aug 2018 09:16:51 +0000 (+0300) Subject: send_local_file: add application/octet-stream hack X-Git-Tag: 18.12~95^2~1 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=88adf3da1b8ed0ecc3bb17d34d2322e344cb06a6;p=tt-rss.git send_local_file: add application/octet-stream hack cached_url: return original requested filename to save as --- diff --git a/classes/handler/public.php b/classes/handler/public.php old mode 100644 new mode 100755 index 8440bc35..e892a979 --- a/classes/handler/public.php +++ b/classes/handler/public.php @@ -934,17 +934,17 @@ class Handler_Public extends Handler { } function cached_url() { - @$hash = basename($_GET['hash']); + @$req_filename = basename($_GET['hash']); // we don't need an extension to find the file, hash is a complete URL - $hash = preg_replace("/\.[^\.]*$/", "", $hash); + $hash = preg_replace("/\.[^\.]*$/", "", $req_filename); if ($hash) { $filename = CACHE_DIR . '/images/' . $hash; if (file_exists($filename)) { - header("Content-Disposition: inline; filename=\"$hash\""); + header("Content-Disposition: inline; filename=\"$req_filename\""); send_local_file($filename); diff --git a/include/functions.php b/include/functions.php index 7ebbe38b..b6e49716 100755 --- a/include/functions.php +++ b/include/functions.php @@ -2574,6 +2574,13 @@ } $mimetype = mime_content_type($filename); + + // this is hardly ideal but 1) only media is cached in images/ and 2) seemingly only mp4 + // video files are detected as octet-stream by mime_content_type() + + if ($mimetype == "application/octet-stream") + $mimetype = "video/mp4"; + header("Content-type: $mimetype"); $stamp = gmdate("D, d M Y H:i:s", filemtime($filename)) . " GMT";