1 xml.instruct! :xml, :version => "1.0"
 
   2 xml.osm("version" => API_VERSION, "generator" => GENERATOR) do
 
   3   xml.tag! "user", :id => @this_user.id,
 
   4                    :display_name => @this_user.display_name,
 
   5                    :account_created => @this_user.creation_time.xmlschema do
 
   6     if @this_user.description
 
   7       xml.tag! "description", @this_user.description
 
   9     if @user && @user == @this_user
 
  10       xml.tag! "contributor-terms", :agreed => !!@this_user.terms_agreed,
 
  11                                     :pd => !!@this_user.consider_pd
 
  13       xml.tag! "contributor-terms", :agreed => !!@this_user.terms_agreed
 
  15     if @this_user.image.file? or @this_user.image_use_gravatar
 
  16       xml.tag! "img", :href => user_image_url(@this_user, :size => 256)
 
  19       @this_user.roles.each do |role|
 
  23     xml.tag! "changesets", :count => @this_user.changesets.size
 
  24     xml.tag! "traces", :count => @this_user.traces.size
 
  26       xml.tag! "received", :count => @this_user.blocks.size,
 
  27                            :active => @this_user.blocks.active.size
 
  28       if @this_user.moderator?
 
  29         xml.tag! "issued", :count => @this_user.blocks_created.size,
 
  30                            :active => @this_user.blocks_created.active.size
 
  33     if @user && @user == @this_user
 
  34       if @this_user.home_lat and @this_user.home_lon
 
  35         xml.tag! "home", :lat => @this_user.home_lat,
 
  36                          :lon => @this_user.home_lon,
 
  37                          :zoom => @this_user.home_zoom
 
  39       if @this_user.languages
 
  40         xml.tag! "languages" do
 
  41           @this_user.languages.split(",") { |lang| xml.tag! "lang", lang }
 
  44       xml.tag! "messages" do
 
  45         xml.tag! "received", :count => @this_user.messages.size,
 
  46                              :unread => @this_user.new_messages.size
 
  47         xml.tag! "sent", :count => @this_user.sent_messages.size