summaryrefslogtreecommitdiff
path: root/image.php
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2013-03-19 09:25:36 +0400
committerAndrew Dolgov <[email protected]>2013-03-19 09:25:36 +0400
commitf0bd8e6531756b151c051f8ce5099d59408e71db (patch)
tree354b8a40671e5acaeb6431863e1be7127ca27d6f /image.php
parente88c1943577993ffc661e92456b3d20c3b4ce832 (diff)
rework image caching to work without permanent article content rewriting (refs #582)
Diffstat (limited to 'image.php')
-rw-r--r--image.php35
1 files changed, 28 insertions, 7 deletions
diff --git a/image.php b/image.php
index 91490ea22..cccda64b7 100644
--- a/image.php
+++ b/image.php
@@ -4,14 +4,35 @@
require_once "config.php";
- $url = base64_decode($_GET['url']);
+ // backwards compatible wrapper for old-style image caching
+ /* if (isset($_GET['url'])) {
+ $url = base64_decode($_GET['url']);
- $filename = CACHE_DIR . '/images/' . sha1($url) . '.png';
+ $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");
+ 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)) {
+ header("Content-type: image/png");
+ echo file_get_contents($filename);
+ } else {
+ header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");
+ echo "File not found.";
+ }
}
+
?>