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;
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 */
$xsendfile = false;
@ -1064,10 +1065,10 @@ class Handler_Public extends Handler {
if ($xsendfile) {
header("X-Sendfile: $filename");
header("Content-type: application/octet-stream");
header('Content-Disposition: attachment; filename="' . basename($filename) . '"');
header("Content-type: $mimetype");
header('Content-Disposition: inline; filename="' . basename($filename) . '"');
} else {
header("Content-type: image/png");
header("Content-type: $mimetype");
$stamp = gmdate("D, d M Y H:i:s", filemtime($filename)). " GMT";
header("Last-Modified: $stamp", true);
readfile($filename);

View File

@ -35,16 +35,26 @@ class Af_Zz_ImgProxy extends Plugin {
$extension = $kind == 1 ? '.mp4' : '.png';
$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)) {
$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);
} else {
$data = fetch_file_contents(array("url" => $url));
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;
}
}