Diff
Modified: trunk/app/views/announcements/show.rhtml (2108 => 2109)
--- trunk/app/views/announcements/show.rhtml 2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/app/views/announcements/show.rhtml 2009-02-18 16:50:25 UTC (rev 2109)
@@ -30,6 +30,6 @@
<br/>
<div class="message">
- <%=white_list @announcement.body_html %>
+ <%= @announcement.body_html %>
</div>
-</div>
\ No newline at end of file
+</div>
Modified: trunk/app/views/blobs/show.rhtml (2108 => 2109)
--- trunk/app/views/blobs/show.rhtml 2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/app/views/blobs/show.rhtml 2009-02-18 16:50:25 UTC (rev 2109)
@@ -69,7 +69,7 @@
<% unless @blob.body.blank? %>
<div class="contribution_description">
- <%= white_list @blob.body_html %>
+ <%= @blob.body_html %>
</div>
<% else %>
<p class="none_text">
Modified: trunk/app/views/blog_posts/_post.rhtml (2108 => 2109)
--- trunk/app/views/blog_posts/_post.rhtml 2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/app/views/blog_posts/_post.rhtml 2009-02-18 16:50:25 UTC (rev 2109)
@@ -8,7 +8,7 @@
</p>
<p>
- <%= white_list post.body_html %>
+ <%= post.body_html %>
</p>
-<br/>
\ No newline at end of file
+<br/>
Modified: trunk/app/views/blog_posts/show.rhtml (2108 => 2109)
--- trunk/app/views/blog_posts/show.rhtml 2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/app/views/blog_posts/show.rhtml 2009-02-18 16:50:25 UTC (rev 2109)
@@ -10,7 +10,7 @@
<p>
<b>Body:</b><br />
- <%= white_list @blog_post.body_html %>
+ <%= @blog_post.body_html %>
</p>
<p>
@@ -21,4 +21,4 @@
<p>
<b>Updated at:</b>
<%=datetime @blog_post.updated_at %>
-</p>
\ No newline at end of file
+</p>
Modified: trunk/app/views/experiments/show.rhtml (2108 => 2109)
--- trunk/app/views/experiments/show.rhtml 2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/app/views/experiments/show.rhtml 2009-02-18 16:50:25 UTC (rev 2109)
@@ -24,7 +24,7 @@
<td style="vertical-align: top;">
<div class="box_standout" style="padding: 0em 0.5em; margin-bottom: 0.5em;">
<% unless @experiment.description.blank? -%>
- <%= white_list @experiment.description_html -%>
+ <%= @experiment.description_html -%>
<% else -%>
<p class="none_text">No description</p>
<% end -%>
Modified: trunk/app/views/group_announcements/show.rhtml (2108 => 2109)
--- trunk/app/views/group_announcements/show.rhtml 2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/app/views/group_announcements/show.rhtml 2009-02-18 16:50:25 UTC (rev 2109)
@@ -43,6 +43,6 @@
<br/>
<div class="message">
- <%=white_list @announcement.body_html %>
+ <%= @announcement.body_html %>
</div>
</div>
Modified: trunk/app/views/jobs/show.rhtml (2108 => 2109)
--- trunk/app/views/jobs/show.rhtml 2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/app/views/jobs/show.rhtml 2009-02-18 16:50:25 UTC (rev 2109)
@@ -24,7 +24,7 @@
<td style="vertical-align: top;">
<div class="box_standout" style="padding: 0em 0.5em; margin-bottom: 0.5em;">
<% unless @job.description.blank? -%>
- <%= white_list @job.description_html -%>
+ <%= @job.description_html -%>
<% else -%>
<p class="none_text">No description</p>
<% end -%>
Modified: trunk/app/views/layouts/_announcement.rxml (2108 => 2109)
--- trunk/app/views/layouts/_announcement.rxml 2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/app/views/layouts/_announcement.rxml 2009-02-18 16:50:25 UTC (rev 2109)
@@ -1,8 +1,8 @@
xm.item do
xm.title announcement.title
- xm.description white_list(announcement.body_html)
+ xm.description announcement.body_html
xm.pubDate announcement.updated_at.rfc822
xm.guid [request.host_with_port, "announcement", announcement.id.to_s].join(":"), "isPermaLink" => "false"
xm.author h(announcement.user.name)
xm.link announcement_url(announcement)
-end
\ No newline at end of file
+end
Modified: trunk/app/views/layouts/_group_announcement.rxml (2108 => 2109)
--- trunk/app/views/layouts/_group_announcement.rxml 2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/app/views/layouts/_group_announcement.rxml 2009-02-18 16:50:25 UTC (rev 2109)
@@ -1,8 +1,8 @@
xm.item do
xm.title group_announcement.title
- xm.description white_list(group_announcement.body_html)
+ xm.description group_announcement.body_html
xm.pubDate group_announcement.updated_at.rfc822
xm.guid [request.host_with_port, "announcement", group_announcement.id.to_s].join(":"), "isPermaLink" => "false"
xm.author h(group_announcement.user.name)
xm.link group_announcement_url(group, group_announcement)
-end
\ No newline at end of file
+end
Modified: trunk/app/views/layouts/_workflow.rxml (2108 => 2109)
--- trunk/app/views/layouts/_workflow.rxml 2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/app/views/layouts/_workflow.rxml 2009-02-18 16:50:25 UTC (rev 2109)
@@ -1,9 +1,9 @@
xm.item do
xm.title "#{h(workflow.title)} (#{h(workflow.contribution.contributor.name || workflow.contribution.contributor.title)}) [#{h(workflow.type_display_name)} Workflow]"
- xm.description white_list(workflow.body_html)
+ xm.description workflow.body_html
xm.version workflow.current_version
xm.pubDate workflow.contribution.updated_at.rfc822
xm.guid [request.host_with_port, "workflow", workflow.id.to_s].join(":"), "isPermaLink" => "false"
xm.author h(workflow.contribution.contributor.name || workflow.contribution.contributor.title)
xm.link workflow_url(workflow)
-end
\ No newline at end of file
+end
Modified: trunk/app/views/messages/show.rhtml (2108 => 2109)
--- trunk/app/views/messages/show.rhtml 2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/app/views/messages/show.rhtml 2009-02-18 16:50:25 UTC (rev 2109)
@@ -53,9 +53,9 @@
<p><b>Message</b></p>
<div class="message">
<% unless @message.body.blank? %>
- <%=white_list @message.body_html %>
+ <%= @message.body_html %>
<% else %>
<p class="none_text">No message body</p>
<% end %>
</div>
-</div>
\ No newline at end of file
+</div>
Modified: trunk/app/views/networks/show.rhtml (2108 => 2109)
--- trunk/app/views/networks/show.rhtml 2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/app/views/networks/show.rhtml 2009-02-18 16:50:25 UTC (rev 2109)
@@ -73,7 +73,7 @@
<div class="box_simple" style="margin: 0 0 0.4em 0;">
<% unless @network.description.nil? or @network.description.empty? %>
- <%= white_list @network.description_html %>
+ <%= @network.description_html %>
<% else %>
<p><i>No description</i></p>
<% end %>
Modified: trunk/app/views/packs/show.rhtml (2108 => 2109)
--- trunk/app/views/packs/show.rhtml 2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/app/views/packs/show.rhtml 2009-02-18 16:50:25 UTC (rev 2109)
@@ -53,7 +53,7 @@
<% unless @pack.description.blank? %>
<div class="contribution_description">
- <%= white_list @pack.description_html %>
+ <%= @pack.description_html %>
</div>
<% if mine?(@pack) %>
<br/>
Modified: trunk/app/views/profiles/_profile.rhtml (2108 => 2109)
--- trunk/app/views/profiles/_profile.rhtml 2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/app/views/profiles/_profile.rhtml 2009-02-18 16:50:25 UTC (rev 2109)
@@ -1,6 +1,6 @@
<% unless profile.body.nil? or profile.body.empty? %>
<div class="box_simple" style="margin: 0.4em 0;">
- <%= white_list profile.body_html %>
+ <%= profile.body_html %>
</div>
<% end %>
Modified: trunk/app/views/users/show.rhtml (2108 => 2109)
--- trunk/app/views/users/show.rhtml 2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/app/views/users/show.rhtml 2009-02-18 16:50:25 UTC (rev 2109)
@@ -275,7 +275,7 @@
<% unless @user.profile.nil? %>
<div class="box_standout">
<% unless @user.profile.body.blank? %>
- <%= white_list @user.profile.body_html %>
+ <%= @user.profile.body_html %>
<% else %>
<p class="none_text">Description/summary not set</p>
<% end %>
Modified: trunk/app/views/workflows/show.rhtml (2108 => 2109)
--- trunk/app/views/workflows/show.rhtml 2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/app/views/workflows/show.rhtml 2009-02-18 16:50:25 UTC (rev 2109)
@@ -197,7 +197,7 @@
<% unless @viewing_version.body.blank? %>
<div class="contribution_description">
- <%= white_list @viewing_version.body_html %>
+ <%= @viewing_version.body_html %>
</div>
<% if @authorised_to_edit %>
<p style="text-align: right; color: #666666;">[ <%= link_to "edit", workflow_version_edit_url(@workflow.id, @viewing_version.version) %> ]</p>
Modified: trunk/vendor/plugins/white_list_formatted_content/init.rb (2108 => 2109)
--- trunk/vendor/plugins/white_list_formatted_content/init.rb 2009-02-16 13:04:41 UTC (rev 2108)
+++ trunk/vendor/plugins/white_list_formatted_content/init.rb 2009-02-18 16:50:25 UTC (rev 2109)
@@ -13,13 +13,62 @@
end
protected
+
+ def render_plain_text_to_html(text)
+
+ # separate paragraphs that end with a colon
+
+ text.gsub!(/:\n/, ":\n\n")
+
+ # fold indented parts of bulleted lines
+
+ text.gsub!(/^\* .*\n( .*\n)+/) { |b|
+ b.gsub(/\n/, " ") + "\n"
+ }
+
+ # fold indented parts of numbered lines
+
+ text.gsub!(/^[0-9]+\. .*\n( .*\n)+/) { |b|
+ b.gsub(/\n/, " ") + "\n"
+ }
+
+ # convert each adjacent set of bulleted lines into HTML
+
+ text.gsub!(/^\* .*\n(\* .*\n|\s*\n)*/) { |b|
+ b.gsub!(/^\s*\n/, "")
+ "\n<ul>\n" + b.gsub(/^\* (.*)/, '<li>\1</li>') + "</ul>\n\n"
+ }
+
+ # convert each adjacent set of numbered lines into HTML
+
+ text.gsub!(/^[0-9]+\. .*\n(([0-9]+\. .*\n)|\s*\n)*/) { |b|
+ b.gsub!(/^\s*\n/, "")
+ "\n<ol>\n" + b.gsub(/^([0-9]+)\. (.*)/, '<li value="\1">\2</li>') + "</ol>\n\n"
+ }
+
+ # make sure the last line is terminated
+
+ text = "#{text}\n"
+
+ # fold multiple adjacent blank lines
+
+ text.gsub!(/^\s*\n(\s*\n)*/, "\n")
+
+ # place each section in an HTML paragraph
+
+ text.gsub!(/((^.*\S+.*\n)+)/, "<p>\n\\1</p>\n")
+
+ text
+ end
+
+
def format_content
body.strip! if body.respond_to?(:strip!)
self.body_html = body.blank? ? '' : body_html_with_formatting
end
def body_html_with_formatting
- body_html = auto_link body { |text| truncate(text, 50) }
+ body_html = auto_link(body.starts_with?('<') ? body : render_plain_text_to_html(body))
white_list(body_html)
end
end