From: Andrew Dolgov Date: Sat, 4 Feb 2017 08:32:24 +0000 (+0300) Subject: image cache: send files as content-disposition: attachment; add .png suffix to image... X-Git-Tag: 17.4~63 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=0442cbb6c16e22cf172ade58d675c1e2001646d1;p=tt-rss.git image cache: send files as content-disposition: attachment; add .png suffix to image urls --- diff --git a/classes/handler/public.php b/classes/handler/public.php index a516b6c5..0fc8476c 100644 --- a/classes/handler/public.php +++ b/classes/handler/public.php @@ -1051,9 +1051,11 @@ class Handler_Public extends Handler { if ($hash) { - $filename = CACHE_DIR . '/images/' . $hash . '.png'; + $filename = CACHE_DIR . '/images/' . $hash; if (file_exists($filename)) { + header("Content-Disposition: attachment; filename=\"".basename($filename)."\""); + /* See if we can use X-Sendfile */ $xsendfile = false; if (function_exists('apache_get_modules') && diff --git a/include/functions2.php b/include/functions2.php index b8eff56d..2b34f287 100644 --- a/include/functions2.php +++ b/include/functions2.php @@ -903,27 +903,28 @@ $entry->setAttribute('rel', 'noopener noreferrer'); } - if ($entry->hasAttribute('src')) { - $src = rewrite_relative_url($site_url, $entry->getAttribute('src')); + if ($entry->nodeName == 'img') { + + if ($entry->hasAttribute('src')) { + $src = rewrite_relative_url($site_url, $entry->getAttribute('src')); - $cached_filename = CACHE_DIR . '/images/' . sha1($src) . '.png'; + $cached_filename = CACHE_DIR . '/images/' . sha1($src) . '.png'; - if (file_exists($cached_filename)) { - $src = SELF_URL_PATH . '/public.php?op=cached_image&hash=' . sha1($src); + if (file_exists($cached_filename)) { + $src = SELF_URL_PATH . '/public.php?op=cached_image&hash=' . sha1($src) . '.png'; - if ($entry->hasAttribute('srcset')) { - $entry->removeAttribute('srcset'); - } + if ($entry->hasAttribute('srcset')) { + $entry->removeAttribute('srcset'); + } - if ($entry->hasAttribute('sizes')) { - $entry->removeAttribute('sizes'); + if ($entry->hasAttribute('sizes')) { + $entry->removeAttribute('sizes'); + } } - } - $entry->setAttribute('src', $src); - } + $entry->setAttribute('src', $src); + } - if ($entry->nodeName == 'img') { if ($entry->hasAttribute('src')) { $is_https_url = parse_url($entry->getAttribute('src'), PHP_URL_SCHEME) === 'https';