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
js << javascript_strings_for_key("javascripts")
js << "</script>\n"
- return js
+ return raw(js)
end
def style_rules
css << ".show_if_user_#{@user.id} { display: inline }" if @user;
css << ".hide_unless_administrator { display: none }" unless @user and @user.administrator?;
- return content_tag(:style, css)
+ return content_tag(:style, css, :type => "text/css")
end
def if_logged_in(tag = :div, &block)
- concat(content_tag(tag, capture(&block), :class => "hide_unless_logged_in"))
+ content_tag(tag, capture(&block), :class => "hide_unless_logged_in")
end
def if_not_logged_in(tag = :div, &block)
- concat(content_tag(tag, capture(&block), :class => "hide_if_logged_in"))
+ content_tag(tag, capture(&block), :class => "hide_if_logged_in")
end
def if_user(user, tag = :div, &block)
if user
- concat(content_tag(tag, capture(&block), :class => "hidden show_if_user_#{user.id}"))
+ content_tag(tag, capture(&block), :class => "hidden show_if_user_#{user.id}")
end
end
def unless_user(user, tag = :div, &block)
if user
- concat(content_tag(tag, capture(&block), :class => "hide_if_user_#{user.id}"))
+ content_tag(tag, capture(&block), :class => "hide_if_user_#{user.id}")
else
- concat(content_tag(tag, capture(&block)))
+ content_tag(tag, capture(&block))
end
end
def if_administrator(tag = :div, &block)
- concat(content_tag(tag, capture(&block), :class => "hide_unless_administrator"))
+ content_tag(tag, capture(&block), :class => "hide_unless_administrator")
end
def describe_location(lat, lon, zoom = nil, language = nil)
end
end
+ def preferred_editor
+ if params[:editor]
+ params[:editor]
+ elsif @user and @user.preferred_editor
+ @user.preferred_editor
+ else
+ DEFAULT_EDITOR
+ end
+ end
+
private
def javascript_strings_for_key(key)