X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/2af0840ff314f9d1e0265a4a1b50fc6db4af9047..cd61c8e0653b8edd5229e73f19aa89b54e5df74c:/app/helpers/browse_helper.rb?ds=sidebyside diff --git a/app/helpers/browse_helper.rb b/app/helpers/browse_helper.rb index 7ccfca334..5d0a18fd9 100644 --- a/app/helpers/browse_helper.rb +++ b/app/helpers/browse_helper.rb @@ -1,3 +1,5 @@ +require "uri" + module BrowseHelper def printable_name(object, version = false) if object.id.is_a?(Array) @@ -133,17 +135,19 @@ module BrowseHelper return nil end - if value =~ /^([^#]*)(#.*)/ + if value =~ /^([^#]*)#(.*)/ # Contains a reference to a section of the wikipedia article # Must break it up to correctly build the url value = $1 - section = $2 + section = "#" + $2 + encoded_section = "#" + URI.encode($2.gsub(/ +/, "_"), /[^A-Za-z0-9:_]/).gsub("%", ".") else section = "" + encoded_section = "" end { - :url => "http://#{lang}.wikipedia.org/wiki/#{value}?uselang=#{I18n.locale}#{section}", + :url => "http://#{lang}.wikipedia.org/wiki/#{value}?uselang=#{I18n.locale}#{encoded_section}", :title => value + section } end