From bbd8f83b7fda6da867510a71a50314c4555dcb92 Mon Sep 17 00:00:00 2001 From: hukl Date: Thu, 5 Mar 2009 21:57:29 +0100 Subject: added begin rescue as too much can go wrong --- app/models/page.rb | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/app/models/page.rb b/app/models/page.rb index a4817a3..709fa4f 100644 --- a/app/models/page.rb +++ b/app/models/page.rb @@ -123,24 +123,28 @@ class Page < ActiveRecord::Base private def rewrite_links_in_body - if self.body - tmp_body = "
#{self.body}
" - xml_string = XML::Parser.string( tmp_body ) - xml_doc = xml_string.parse - links = xml_doc.find("a[not(starts-with(@href, 'http://'))]") - - locales = I18n.available_locales.reject {|l| l == :root} - - links.each do |link| - unless locales.include? link[:href].slice(1,2).to_sym - link[:href] = link[:href].sub(/^\//, "/#{I18n.locale}/") + begin + if self.body + tmp_body = "
#{self.body}
" + xml_string = XML::Parser.string( tmp_body ) + xml_doc = xml_string.parse + links = xml_doc.find("a[not(starts-with(@href, 'http://'))]") + + locales = I18n.available_locales.reject {|l| l == :root} + + links.each do |link| + unless locales.include? link[:href].slice(1,2).to_sym + link[:href] = link[:href].sub(/^\//, "/#{I18n.locale}/") + end end + + tmp_body = xml_doc.to_s.gsub(/(\n\|\<\/div\>\n)/, "") + tmp_body.gsub!("", "") + + self.body = tmp_body end - - tmp_body = xml_doc.to_s.gsub(/(\n\|\<\/div\>\n)/, "") - tmp_body.gsub!("", "") - - self.body = tmp_body + rescue + nil end end -- cgit v1.3