1 atom_feed(:language => I18n.locale, :schema_date => 2009,
2 :id => url_for(params.merge({ :only_path => false })),
3 :root_url => url_for(params.merge({ :action => :list, :format => nil, :only_path => false })),
4 "xmlns:georss" => "http://www.georss.org/georss") do |feed|
7 feed.subtitle :type => 'xhtml' do |xhtml|
13 feed.updated @edits.map {|e| [e.created_at, e.closed_at].max }.max
14 feed.icon "http://#{SERVER_URL}/favicon.ico"
15 feed.logo "http://#{SERVER_URL}/images/mag_map-rss2.0.png"
17 feed.rights :type => 'xhtml' do |xhtml|
18 xhtml.a :href => "http://creativecommons.org/licenses/by-sa/2.0/" do |a|
19 a.img :src => "http://#{SERVER_URL}/images/cc_button.png", :alt => "CC by-sa 2.0"
23 for changeset in @edits
24 feed.entry(changeset, :updated => changeset.closed_at, :id => changeset_url(changeset.id, :only_path => false)) do |entry|
25 entry.link :rel => "alternate",
26 :href => changeset_read_url(changeset, :only_path => false),
27 :type => "application/osm+xml"
28 entry.link :rel => "alternate",
29 :href => changeset_download_url(changeset, :only_path => false),
30 :type => "application/osmChange+xml"
32 if !changeset.tags.empty? and changeset.tags.has_key? "comment"
33 entry.title t('browse.changeset.feed.title_comment', :id => h(changeset.id), :comment => h(changeset.tags['comment'])), :type => "html"
35 entry.title t('browse.changeset.feed.title', :id => h(changeset.id))
38 if changeset.user.data_public?
39 entry.author do |author|
40 author.name changeset.user.display_name
41 author.uri url_for(:controller => 'user', :action => 'view', :display_name => changeset.user.display_name, :only_path => false)
45 feed.content :type => 'xhtml' do |xhtml|
46 xhtml.style "th { text-align: left } tr { vertical-align: top }"
47 xhtml.table do |table|
49 tr.th t("browse.changeset_details.created_at")
50 tr.td l(changeset.created_at)
53 tr.th t("browse.changeset_details.closed_at")
54 tr.td l(changeset.closed_at)
56 if changeset.user.data_public?
58 tr.th t("browse.changeset_details.belongs_to")
60 td.a h(changeset.user.display_name), :href => url_for(:controller => "user", :action => "view", :display_name => changeset.user.display_name, :only_path => false)
64 unless changeset.tags.empty?
66 tr.th t("browse.tag_details.tags")
68 td.table :cellpadding => "0" do |table|
69 changeset.tags.sort.each do |tag|
71 tr.td << "#{h(tag[0])} = #{auto_link(h(tag[1]))}"
81 if changeset.has_valid_bbox?
82 bbox = changeset.bbox.to_unscaled
84 # See http://georss.org/Encodings#Geometry
85 lower_corner = "#{bbox.min_lat} #{bbox.min_lon}"
86 upper_corner = "#{bbox.max_lat} #{bbox.max_lon}"
88 feed.georss :box, lower_corner + " " + upper_corner