Browse Source

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

Andrew Dolgov 9 years ago
parent
commit
0c6f7b314a
4 changed files with 32 additions and 61 deletions
  1. 31 0
      classes/handler/public.php
  2. 0 52
      image.php
  3. 1 1
      include/functions2.php
  4. 0 8
      include/rssfuncs.php

+ 31 - 0
classes/handler/public.php

@@ -1002,5 +1002,36 @@ class Handler_Public extends Handler {
 		<?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.";
+			}
+		}
+	}
+
 }
 ?>

+ 0 - 52
image.php

@@ -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.";
-		}
-	}
-
-?>

+ 1 - 1
include/functions2.php

@@ -900,7 +900,7 @@
 					$cached_filename = CACHE_DIR . '/images/' . sha1($src) . '.png';
 
 					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);

+ 0 - 8
include/rssfuncs.php

@@ -1155,16 +1155,8 @@
 						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) {