From 47447ee9821ef32c3a7cab775124a3cc127903dc Mon Sep 17 00:00:00 2001 From: Shish Date: Fri, 5 Jul 2013 20:55:05 +0100 Subject: [PATCH] generate rss thumbs in a different function, with cache --- ext/rss_images/main.php | 58 +++++++++++++++++++++++++---------------- 1 file changed, 35 insertions(+), 23 deletions(-) diff --git a/ext/rss_images/main.php b/ext/rss_images/main.php index 3120e498..f9d4b330 100644 --- a/ext/rss_images/main.php +++ b/ext/rss_images/main.php @@ -33,7 +33,6 @@ class RSS_Images extends Extension { } } - private function do_rss($images, $search_terms, /*int*/ $page_number) { global $page; global $config; @@ -42,28 +41,7 @@ class RSS_Images extends Extension { $data = ""; foreach($images as $image) { - $link = make_http(make_link("post/view/{$image->id}")); - $tags = html_escape($image->get_tag_list()); - $owner = $image->get_owner(); - $thumb_url = $image->get_thumb_link(); - $image_url = $image->get_image_link(); - $posted = date(DATE_RSS, $image->posted_timestamp); - $content = html_escape( - "

" . $this->theme->build_thumb_html($image) . "

" . - "

Uploaded by " . html_escape($owner->name) . "

" - ); - - $data .= " - - {$image->id} - $tags - $link - $link - $posted - $content - - - - "; + $data .= $this->thumb($image); } $title = $config->get_string('title'); @@ -99,5 +77,39 @@ class RSS_Images extends Extension { "; $page->set_data($xml); } + + private function thumb(Image $image) { + global $database; + + $cached = $database->cache->get("rss-thumb:{$image->id}"); + if($cached) return $cached; + + $link = make_http(make_link("post/view/{$image->id}")); + $tags = html_escape($image->get_tag_list()); + $owner = $image->get_owner(); + $thumb_url = $image->get_thumb_link(); + $image_url = $image->get_image_link(); + $posted = date(DATE_RSS, $image->posted_timestamp); + $content = html_escape( + "

" . $this->theme->build_thumb_html($image) . "

" . + "

Uploaded by " . html_escape($owner->name) . "

" + ); + + $data = " + + {$image->id} - $tags + $link + $link + $posted + $content + + + + "; + + $database->cache->set("rss-thumb:{$image->id}", $data, 3600); + + return $data; + } } ?>