Files
danbooru/app/helpers/posts_helper.rb
r888888888 0ef37c0538 fixes #1242
2014-02-28 18:10:36 -08:00

83 lines
2.7 KiB
Ruby

module PostsHelper
def resize_image_links(post, user)
links = []
if post.has_large?
links << link_to("L", post.large_file_url, :id => "large-file-link")
end
if post.has_large?
links << link_to("O", post.file_url, :id => "original-file-link")
end
if links.any?
content_tag("span", raw("Resize: " + links.join(" ")))
else
nil
end
end
def post_source_tag(post)
if post.source =~ %r!http://img\d+\.pixiv\.net/img/([^\/]+)/!
text = "pixiv/<wbr>#{wordbreakify($1)}"
source_link = link_to(text, post.normalized_source)
source_search = "source:#{text}/"
elsif post.source =~ %r!http://i\d\.pixiv\.net/img\d+/img/([^\/]+)/!
text = "pixiv/<wbr>#{wordbreakify($1)}"
source_link = link_to(text, post.normalized_source)
source_search = "source:#{text}/"
elsif post.source =~ %r{\Ahttps?://}
text = truncate(post.normalized_source.sub(/^https?:\/\/(?:www\.)?/, ""))
source_link = link_to(truncate(text, :length => 20), post.normalized_source)
source_search = "source:#{post.source.sub(/[^\/]*$/, "")}"
else
source_link = truncate(post.source, :length => 100)
end
if CurrentUser.is_builder? && !source_search.blank?
source_link + "&nbsp;".html_safe + link_to("&raquo;".html_safe, posts_path(:tags => source_search))
else
source_link
end
end
def post_favlist(post)
post.favorited_users.reverse_each.map{|user| link_to_user(user)}.join(", ").html_safe
end
def has_parent_message(post, parent_post_set)
html = ""
html << "This post belongs to a "
html << link_to("parent", posts_path(:tags => "parent:#{post.parent_id}"))
html << " (deleted)" if parent_post_set.parent.first.is_deleted?
sibling_count = parent_post_set.children.count - 1
if sibling_count > 0
html << " and has "
text = sibling_count == 1 ? "a sibling" : "#{sibling_count} siblings"
html << link_to(text, posts_path(:tags => "parent:#{post.parent_id}"))
end
html << " (#{link_to("learn more", wiki_pages_path(:title => "help:post_relationships"))}) "
html << link_to("&laquo; hide".html_safe, "#", :id => "has-parent-relationship-preview-link")
html.html_safe
end
def has_children_message(post, children_post_set)
html = ""
html << "This post has "
text = children_post_set.children.count == 1 ? "a child" : "#{children_post_set.children.count} children"
html << link_to(text, posts_path(:tags => "parent:#{post.id}"))
html << " (#{link_to("learn more", wiki_pages_path(:title => "help:post_relationships"))}) "
html << link_to("&laquo; hide".html_safe, "#", :id => "has-children-relationship-preview-link")
html.html_safe
end
end