|
|
@@ -402,6 +402,8 @@ module ApplicationHelper |
|
|
|
end |
|
|
|
return '' if text.blank? |
|
|
|
|
|
|
|
text = Redmine::WikiFormatting.to_html(Setting.text_formatting, text) { |macro, args| exec_macro(macro, obj, args) } |
|
|
|
|
|
|
|
only_path = options.delete(:only_path) == false ? false : true |
|
|
|
|
|
|
|
# when using an image link, try to use an attachment, if possible |
|
|
@@ -409,22 +411,23 @@ module ApplicationHelper |
|
|
|
|
|
|
|
if attachments |
|
|
|
attachments = attachments.sort_by(&:created_on).reverse |
|
|
|
text = text.gsub(/!((\<|\=|\>)?(\([^\)]+\))?(\[[^\]]+\])?(\{[^\}]+\})?)(\S+\.(bmp|gif|jpg|jpeg|png))!/i) do |m| |
|
|
|
style = $1 |
|
|
|
filename = $6.downcase |
|
|
|
text.gsub!(/src="([^\/"]+\.(bmp|gif|jpg|jpeg|png))"(\s+alt="([^"]*)")?/i) do |m| |
|
|
|
filename, ext, alt, alttext = $1.downcase, $2, $3, $4 |
|
|
|
|
|
|
|
# search for the picture in attachments |
|
|
|
if found = attachments.detect { |att| att.filename.downcase == filename } |
|
|
|
image_url = url_for :only_path => only_path, :controller => 'attachments', :action => 'download', :id => found |
|
|
|
desc = found.description.to_s.gsub(/^([^\(\)]*).*$/, "\\1") |
|
|
|
alt = desc.blank? ? nil : "(#{desc})" |
|
|
|
"!#{style}#{image_url}#{alt}!" |
|
|
|
desc = found.description.to_s.gsub('"', '') |
|
|
|
if !desc.blank? && alttext.blank? |
|
|
|
alt = " title=\"#{desc}\" alt=\"#{desc}\"" |
|
|
|
end |
|
|
|
"src=\"#{image_url}\"#{alt}" |
|
|
|
else |
|
|
|
m |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
text = Redmine::WikiFormatting.to_html(Setting.text_formatting, text) { |macro, args| exec_macro(macro, obj, args) } |
|
|
|
|
|
|
|
# different methods for formatting wiki links |
|
|
|
case options[:wiki_links] |