remove image.php; put cached image endpoint to public.php

This commit is contained in:
Andrew Dolgov 2015-02-27 14:51:26 +03:00
parent 95ebe737bd
commit 0c6f7b314a
4 changed files with 32 additions and 61 deletions

View File

@ -1002,5 +1002,36 @@ class Handler_Public extends Handler {
<?php <?php
} }
function cached_image() {
@$hash = basename($_GET['hash']);
if ($hash) {
$filename = CACHE_DIR . '/images/' . $hash . '.png';
if (file_exists($filename)) {
/* See if we can use X-Sendfile */
$xsendfile = false;
if (function_exists('apache_get_modules') &&
array_search('mod_xsendfile', apache_get_modules()))
$xsendfile = true;
if ($xsendfile) {
header("X-Sendfile: $filename");
header("Content-type: application/octet-stream");
header('Content-Disposition: attachment; filename="' . basename($filename) . '"');
} else {
header("Content-type: image/png");
$stamp = gmdate("D, d M Y H:i:s", filemtime($filename)). " GMT";
header("Last-Modified: $stamp", true);
readfile($filename);
}
} else {
header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");
echo "File not found.";
}
}
}
} }
?> ?>

View File

@ -1,52 +0,0 @@
<?php
set_include_path(dirname(__FILE__) ."/include" . PATH_SEPARATOR .
get_include_path());
require_once "config.php";
// backwards compatible wrapper for old-style image caching
/* if (isset($_GET['url'])) {
$url = base64_decode($_GET['url']);
$filename = CACHE_DIR . '/images/' . sha1($url) . '.png';
if (file_exists($filename)) {
header("Content-type: image/png");
echo file_get_contents($filename);
} else {
header("Location: $url");
}
return;
} */
@$hash = basename($_GET['hash']);
if ($hash) {
$filename = CACHE_DIR . '/images/' . $hash . '.png';
if (file_exists($filename)) {
/* See if we can use X-Sendfile */
$xsendfile = false;
if (function_exists('apache_get_modules') &&
array_search('mod_xsendfile', apache_get_modules()))
$xsendfile = true;
if ($xsendfile) {
header("X-Sendfile: $filename");
header("Content-type: application/octet-stream");
header('Content-Disposition: attachment; filename="' . basename($filename) . '"');
} else {
header("Content-type: image/png");
$stamp = gmdate("D, d M Y H:i:s", filemtime($filename)). " GMT";
header("Last-Modified: $stamp", true);
readfile($filename);
}
} else {
header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");
echo "File not found.";
}
}
?>

View File

@ -900,7 +900,7 @@
$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 . '/image.php?hash=' . sha1($src); $src = SELF_URL_PATH . '/public.php?op=cached_image&hash=' . sha1($src);
} }
$entry->setAttribute('src', $src); $entry->setAttribute('src', $src);

View File

@ -1155,16 +1155,8 @@
file_put_contents($local_filename, $file_content); file_put_contents($local_filename, $file_content);
} }
} }
/* if (file_exists($local_filename)) {
$entry->setAttribute('src', SELF_URL_PATH . '/image.php?url=' .
base64_encode($src));
} */
} }
} }
//$node = $doc->getElementsByTagName('body')->item(0);
//return $doc->saveXML($node);
} }
function expire_error_log($debug) { function expire_error_log($debug) {