]> git.wh0rd.org - tt-rss.git/blobdiff - image.php
Merge pull request #424 from tmo-github/TMO_ttrss
[tt-rss.git] / image.php
index 45e1358aac09584abcfe4bf4fa0f701701eddd32..dcc7d806d406ec3f3c2beb07839c65e39b88ca2c 100644 (file)
--- a/image.php
+++ b/image.php
@@ -1,6 +1,52 @@
 <?php
+       set_include_path(dirname(__FILE__) ."/include" . PATH_SEPARATOR .
+               get_include_path());
+
        require_once "config.php";
-       require_once "lib/simplepie/simplepie.inc";
 
-       SimplePie_Misc::display_cached_file($_GET['i'], SIMPLEPIE_CACHE_DIR, 'spi');
+       // 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.";
+               }
+       }
+
 ?>