- def html_escape_unicode(text)
- chars = ActiveSupport::Multibyte::Unicode.u_unpack(text).map do |c|
- c < 127 ? c.chr : "&##{c.to_s};"
- end
-
- return chars.join("")
- end
-
- def rss_link_to(*args)
- return link_to(image_tag("RSS.gif", :size => "16x16", :border => 0), Hash[*args], { :class => "rsssmall" });
- end
-
- def atom_link_to(*args)
- return link_to(image_tag("RSS.gif", :size => "16x16", :border => 0), Hash[*args], { :class => "rsssmall" });
- end
-
- def javascript_strings
- js = ""
-
- js << "<script type='text/javascript'>\n"
- js << "i18n_strings = new Array();\n"
- js << javascript_strings_for_key("javascripts")
- js << "</script>\n"
-
- return raw(js)
- end
-
- def style_rules
- css = ""
-
- css << ".hidden { display: none }";
- css << ".hide_unless_logged_in { display: none }" unless @user;
- css << ".hide_if_logged_in { display: none }" if @user;
- css << ".hide_if_user_#{@user.id} { display: none }" if @user;
- 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, :type => "text/css")
- end
-
- def if_logged_in(tag = :div, &block)
- content_tag(tag, capture(&block), :class => "hide_unless_logged_in")
- end
-
- def if_not_logged_in(tag = :div, &block)
- content_tag(tag, capture(&block), :class => "hide_if_logged_in")