af_zz_imgproxy: use inline disposition, misc updates

This commit is contained in:
Andrew Dolgov 2017-02-10 12:37:21 +03:00
parent c93d43c617
commit 38b3998bbc
2 changed files with 18 additions and 7 deletions

View File

@ -1054,7 +1054,8 @@ class Handler_Public extends Handler {
$filename = CACHE_DIR . '/images/' . $hash; $filename = CACHE_DIR . '/images/' . $hash;
if (file_exists($filename)) { if (file_exists($filename)) {
header("Content-Disposition: attachment; filename=\"$hash\""); header("Content-Disposition: inline; filename=\"$hash\"");
$mimetype = mime_content_type($filename);
/* See if we can use X-Sendfile */ /* See if we can use X-Sendfile */
$xsendfile = false; $xsendfile = false;
@ -1064,10 +1065,10 @@ class Handler_Public extends Handler {
if ($xsendfile) { if ($xsendfile) {
header("X-Sendfile: $filename"); header("X-Sendfile: $filename");
header("Content-type: application/octet-stream"); header("Content-type: $mimetype");
header('Content-Disposition: attachment; filename="' . basename($filename) . '"'); header('Content-Disposition: inline; filename="' . basename($filename) . '"');
} else { } else {
header("Content-type: image/png"); header("Content-type: $mimetype");
$stamp = gmdate("D, d M Y H:i:s", filemtime($filename)). " GMT"; $stamp = gmdate("D, d M Y H:i:s", filemtime($filename)). " GMT";
header("Last-Modified: $stamp", true); header("Last-Modified: $stamp", true);
readfile($filename); readfile($filename);

View File

@ -35,16 +35,26 @@ class Af_Zz_ImgProxy extends Plugin {
$extension = $kind == 1 ? '.mp4' : '.png'; $extension = $kind == 1 ? '.mp4' : '.png';
$local_filename = CACHE_DIR . "/images/" . sha1($url) . $extension; $local_filename = CACHE_DIR . "/images/" . sha1($url) . $extension;
if ($_REQUEST["debug"] == "1") { print $local_filename; die; } //if ($_REQUEST["debug"] == "1") { print $local_filename; die; }
header("Content-Disposition: attachment; filename=\"".basename($local_filename)."\""); header("Content-Disposition: inline; filename=\"".basename($local_filename)."\"");
if (file_exists($local_filename)) { if (file_exists($local_filename)) {
$mimetype = mime_content_type($local_filename);
header("Content-type: $mimetype");
$stamp = gmdate("D, d M Y H:i:s", filemtime($local_filename)). " GMT";
header("Last-Modified: $stamp", true);
readfile($local_filename); readfile($local_filename);
} else { } else {
$data = fetch_file_contents(array("url" => $url)); $data = fetch_file_contents(array("url" => $url));
if ($data) { if ($data) {
file_put_contents($local_filename, $data); if (file_put_contents($local_filename, $data)) {
$mimetype = mime_content_type($local_filename);
header("Content-type: $mimetype");
}
print $data; print $data;
} }
} }