summaryrefslogtreecommitdiff
path: root/include
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 /include
parente88c1943577993ffc661e92456b3d20c3b4ce832 (diff)
rework image caching to work without permanent article content rewriting (refs #582)
Diffstat (limited to 'include')
-rw-r--r--include/functions.php15
-rw-r--r--include/rssfuncs.php2
2 files changed, 12 insertions, 5 deletions
diff --git a/include/functions.php b/include/functions.php
index 43a9270eb..a7ac07b53 100644
--- a/include/functions.php
+++ b/include/functions.php
@@ -2590,10 +2590,17 @@
$entry->setAttribute('href',
rewrite_relative_url($site_url, $entry->getAttribute('href')));
- if ($entry->hasAttribute('src'))
- if (preg_match('/^image.php\?i=[a-z0-9]+$/', $entry->getAttribute('src')) == 0)
- $entry->setAttribute('src',
- rewrite_relative_url($site_url, $entry->getAttribute('src')));
+ if ($entry->hasAttribute('src')) {
+ $src = rewrite_relative_url($site_url, $entry->getAttribute('src'));
+
+ $cached_filename = CACHE_DIR . '/images/' . sha1($src) . '.png';
+
+ if (file_exists($cached_filename)) {
+ $src = SELF_URL_PATH . '/image.php?hash=' . sha1($src);
+ }
+
+ $entry->setAttribute('src', $src);
+ }
}
if (strtolower($entry->nodeName) == "a") {
diff --git a/include/rssfuncs.php b/include/rssfuncs.php
index 1180b0adb..df1d16986 100644
--- a/include/rssfuncs.php
+++ b/include/rssfuncs.php
@@ -581,7 +581,7 @@
}
if ($cache_images && is_writable(CACHE_DIR . '/images'))
- $entry_content = cache_images($entry_content, $site_url, $debug_enabled);
+ cache_images($entry_content, $site_url, $debug_enabled);
$entry_content = db_escape_string($entry_content, false);