From 41d2634304185a58e87403923efa928dfd0e08cb Mon Sep 17 00:00:00 2001 From: albert Date: Fri, 11 Nov 2011 17:50:26 -0500 Subject: [PATCH] added post atom feed --- app/controllers/posts_controller.rb | 4 +++- app/views/posts/index.atom.erb | 35 +++++++++++++++++++++++++++++ config/danbooru_default_config.rb | 2 +- 3 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 app/views/posts/index.atom.erb diff --git a/app/controllers/posts_controller.rb b/app/controllers/posts_controller.rb index d77f77a67..9c1e4c073 100644 --- a/app/controllers/posts_controller.rb +++ b/app/controllers/posts_controller.rb @@ -6,7 +6,9 @@ class PostsController < ApplicationController def index @post_set = PostSets::Post.new(tag_query, params[:page]) @posts = @post_set.posts - respond_with(@posts) + respond_with(@posts) do |format| + format.atom + end end def show diff --git a/app/views/posts/index.atom.erb b/app/views/posts/index.atom.erb new file mode 100644 index 000000000..13248a37e --- /dev/null +++ b/app/views/posts/index.atom.erb @@ -0,0 +1,35 @@ + + + + <%= Danbooru.config.app_name %> + + + http://<%= Danbooru.config.hostname %>/posts.atom?tags=<%= params[:tags] %> + <% if @posts.any? %> + <%= @posts[0].created_at.gmtime.xmlschema %> + <% end %> + <%= Danbooru.config.app_name %> + + <% Danbooru.config.select_posts_visible_to_user(CurrentUser.user, @posts).each do |post| %> + + <%= post.tag_string %> + + <% if post.source =~ /^http/ %> + + <% end %> + http://<%= Danbooru.config.hostname %>/posts/<%= post.id %> + <%= post.created_at.gmtime.xmlschema %> + <%= post.tag_string %> + +
+ + + +
+
+ + <%= post.uploader_name %> + +
+ <% end %> +
diff --git a/config/danbooru_default_config.rb b/config/danbooru_default_config.rb index fe41f1b10..6eab69e1f 100644 --- a/config/danbooru_default_config.rb +++ b/config/danbooru_default_config.rb @@ -232,7 +232,7 @@ module Danbooru end def select_posts_visible_to_user(user, posts) - posts.select {|x| can_user_see_post?(x)} + posts.select {|x| can_user_see_post?(user, x)} end def pixiv_login