image cache: send files as content-disposition: attachment; add .png suffix to image urls

This commit is contained in:
Andrew Dolgov 2017-02-04 11:32:24 +03:00
parent 60e97d9e63
commit 0442cbb6c1
2 changed files with 18 additions and 15 deletions

View File

@ -1051,9 +1051,11 @@ class Handler_Public extends Handler {
if ($hash) { if ($hash) {
$filename = CACHE_DIR . '/images/' . $hash . '.png'; $filename = CACHE_DIR . '/images/' . $hash;
if (file_exists($filename)) { if (file_exists($filename)) {
header("Content-Disposition: attachment; filename=\"".basename($filename)."\"");
/* See if we can use X-Sendfile */ /* See if we can use X-Sendfile */
$xsendfile = false; $xsendfile = false;
if (function_exists('apache_get_modules') && if (function_exists('apache_get_modules') &&

View File

@ -903,13 +903,15 @@
$entry->setAttribute('rel', 'noopener noreferrer'); $entry->setAttribute('rel', 'noopener noreferrer');
} }
if ($entry->nodeName == 'img') {
if ($entry->hasAttribute('src')) { if ($entry->hasAttribute('src')) {
$src = rewrite_relative_url($site_url, $entry->getAttribute('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)) { if (file_exists($cached_filename)) {
$src = SELF_URL_PATH . '/public.php?op=cached_image&hash=' . sha1($src); $src = SELF_URL_PATH . '/public.php?op=cached_image&hash=' . sha1($src) . '.png';
if ($entry->hasAttribute('srcset')) { if ($entry->hasAttribute('srcset')) {
$entry->removeAttribute('srcset'); $entry->removeAttribute('srcset');
@ -923,7 +925,6 @@
$entry->setAttribute('src', $src); $entry->setAttribute('src', $src);
} }
if ($entry->nodeName == 'img') {
if ($entry->hasAttribute('src')) { if ($entry->hasAttribute('src')) {
$is_https_url = parse_url($entry->getAttribute('src'), PHP_URL_SCHEME) === 'https'; $is_https_url = parse_url($entry->getAttribute('src'), PHP_URL_SCHEME) === 'https';