-
- puts "</table>"
-
- puts "<h2>Number of users editing over the past...</h2>"
- puts "<table>"
- puts "<tr><th>Data Type</th><th>Day</th><th>Week</th><th>Month</th></tr>"
-
- day_count = Trace.count(:user_id, :distinct => true,
- :conditions => "timestamp > NOW() - INTERVAL 1 DAY")
- week_count = Trace.count(:user_id, :distinct => true,
- :conditions => "timestamp > NOW() - INTERVAL 7 DAY")
- month_count = Trace.count(:user_id, :distinct => true,
- :conditions => "timestamp > NOW() - INTERVAL 28 DAY")
-
- puts "<tr><th>GPX Files</th><td>Day</td><td>#{day_count}</td></tr>"
- puts "<tr><th>GPX Files</th><td>Week</td><td>#{week_count}</td></tr>"
- puts "<tr><th>GPX Files</th><td>Month</td><td>#{month_count}</td></tr>"
-
- day_count = OldNode.count(:user_id, :distinct => true,
- :conditions => "timestamp > NOW() - INTERVAL 1 DAY")
- week_count = OldNode.count(:user_id, :distinct => true,
- :conditions => "timestamp > NOW() - INTERVAL 7 DAY")
- month_count = OldNode.count(:user_id, :distinct => true,
- :conditions => "timestamp > NOW() - INTERVAL 28 DAY")
-
- puts "<tr><th>Nodes</th><td>Day</td><td>#{day_count}</td></tr>"
- puts "<tr><th>Nodes</th><td>Week</td><td>#{week_count}</td></tr>"
- puts "<tr><th>Nodes</th><td>Month</td><td>#{month_count}</td></tr>"
-
- puts "</table>"
-
- puts "<h2>Top users editing over the past...</h2>"
- puts "<table>"
- puts "<tr><th>Day</th><th>Week</th><th>Month</th></tr>"
-
- day_users = OldNode.count(:conditions => "timestamp > NOW() - INTERVAL 1 DAY",
- :group => :user_id, :order => "count_all DESC", :limit => 60)
- week_users = OldNode.count(:conditions => "timestamp > NOW() - INTERVAL 7 DAY",
- :group => :user_id, :order => "count_all DESC", :limit => 60)
- month_users = OldNode.count(:conditions => "timestamp > NOW() - INTERVAL 28 DAY",
- :group => :user_id, :order => "count_all DESC", :limit => 60)
-
- day_users = day_users.keys.map { |u| User.find(u).display_name.gsub('@', ' at ').gsub('.', ' dot ') }
- week_users = week_users.keys.map { |u| User.find(u).display_name.gsub('@', ' at ').gsub('.', ' dot ') }
- month_users = month_users.keys.map { |u| User.find(u).display_name.gsub('@', ' at ').gsub('.', ' dot ') }
-
- SyncEnumerator.new(day_users, week_users, month_users).each do |day,week,month|
- puts "<tr><td>#{day}</td><td>#{week}</td><td>#{month}</td></tr>"
- end
-
- puts "</table>"
-rescue Exception => e
- puts "<p><em>Exception: #{e.to_s}</em><br />#{e.backtrace.join('<br />')}</p>"