require 'rexml/document'
def sanitize(text)
- Sanitize.clean(text, Sanitize::Config::OSM)
+ Sanitize.clean(text, Sanitize::Config::OSM).html_safe
end
def htmlize(text)
end
def linkify(text)
- return auto_link(text, :link => :urls, :html => { :rel => "nofollow" })
+ if text.html_safe?
+ Rinku.auto_link(text, :urls, tag_options(:rel => "nofollow")).html_safe
+ else
+ Rinku.auto_link(text, :urls, tag_options(:rel => "nofollow"))
+ end
end
def html_escape_unicode(text)
- chars = ActiveSupport::Multibyte::Chars.u_unpack(text).map do |c|
+ chars = ActiveSupport::Multibyte::Unicode.u_unpack(text).map do |c|
c < 127 ? c.chr : "&##{c.to_s};"
end
url = "http://nominatim.openstreetmap.org/reverse?lat=#{lat}&lon=#{lon}&zoom=#{zoom}&accept-language=#{language}"
begin
- response = Timeout::timeout(4) do
+ response = OSM::Timer.timeout(4) do
REXML::Document.new(Net::HTTP.get(URI.parse(url)))
end
rescue Exception
def user_image(user, options = {})
options[:class] ||= "user_image"
- if user.image
- image_tag url_for_file_column(user, "image"), options
- else
- image_tag "anon_large.png", options
- end
+ image_tag user.image.url(:large), options
end
def user_thumbnail(user, options = {})
options[:class] ||= "user_thumbnail"
- if user.image
- image_tag url_for_file_column(user, "image"), options
- else
- image_tag "anon_small.png", options
- end
+ image_tag user.image.url(:small), options
end
def preferred_editor
end
end
+ def friendly_date(date)
+ content_tag(:span, time_ago_in_words(date), :title => l(date, :format => :friendly))
+ end
+
+ def note_author(object, link_options = {})
+ if object.author.nil?
+ h(object.author_name)
+ else
+ link_to h(object.author_name), link_options.merge({:controller => "user", :action => "view", :display_name => object.author_name})
+ end
+ end
+
private
def javascript_strings_for_key(key)