diff --git a/contrib/rss_comments/main.php b/contrib/rss_comments/main.php
new file mode 100644
index 00000000..598af736
--- /dev/null
+++ b/contrib/rss_comments/main.php
@@ -0,0 +1,83 @@
+page == "index")) {
+ global $page;
+ global $config;
+ $title = $config->get_string('title');
+
+ $page->add_header("");
+ }
+ if(is_a($event, 'PageRequestEvent') && ($event->page == "rss")) {
+ if($event->get_arg(0) == 'comments') {
+ global $database;
+ $this->do_rss($database);
+ }
+ }
+ }
+// }}}
+// output {{{
+ private function do_rss($database) {
+ global $page;
+ global $config;
+ $page->set_mode("data");
+ $page->set_type("application/xml");
+
+ $comments = $database->db->GetAll("
+ SELECT
+ users.id as user_id, users.name as user_name,
+ comments.comment as comment, comments.id as comment_id,
+ comments.image_id as image_id, comments.owner_ip as poster_ip,
+ UNIX_TIMESTAMP(posted) AS posted_timestamp
+ FROM comments
+ LEFT JOIN users ON comments.owner_id=users.id
+ ORDER BY comments.id DESC
+ LIMIT 10
+ ");
+
+ $data = "";
+ foreach($comments as $comment) {
+ $image_id = $comment['image_id'];
+ $comment_id = $comment['comment_id'];
+ $link = make_link("post/view/$image_id");
+ $owner = html_escape($comment['user_name']);
+ $posted = strftime("%a, %d %b %Y %T %Z", $comment['posted_timestamp']);
+ $comment = html_escape($comment['comment']);
+ $content = html_escape("$owner: $comment");
+
+ $data .= "
+ -
+ $owner comments on $image_id
+ $link
+ $comment_id
+ $posted
+ $content
+
+ ";
+ }
+
+ $title = $config->get_string('title');
+ $base_href = $config->get_string('base_href');
+ $version = $config->get_string('version');
+ $xml = <<
+
+
+ $title
+ The latest comments on the image board
+ $base_href
+ $version
+ (c) 2007 Shish
+ $data
+
+
+EOD;
+ $page->set_data($xml);
+ }
+// }}}
+}
+add_event_listener(new RSS_Comments());
+?>