mirror of
				https://github.com/redmine/redmine.git
				synced 2025-11-03 20:06:24 +01:00 
			
		
		
		
	Fixed: Pound (#) followed by number with leading zero (0) removes leading zero when rendered in wiki (#4872).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3451 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
		@@ -511,17 +511,17 @@ module ApplicationHelper
 | 
				
			|||||||
    #  Forum messages:
 | 
					    #  Forum messages:
 | 
				
			||||||
    #     message#1218 -> Link to message with id 1218
 | 
					    #     message#1218 -> Link to message with id 1218
 | 
				
			||||||
    text = text.gsub(%r{([\s\(,\-\>]|^)(!)?(attachment|document|version|commit|source|export|message|project)?((#|r)(\d+)|(:)([^"\s<>][^\s<>]*?|"[^"]+?"))(?=(?=[[:punct:]]\W)|,|\s|<|$)}) do |m|
 | 
					    text = text.gsub(%r{([\s\(,\-\>]|^)(!)?(attachment|document|version|commit|source|export|message|project)?((#|r)(\d+)|(:)([^"\s<>][^\s<>]*?|"[^"]+?"))(?=(?=[[:punct:]]\W)|,|\s|<|$)}) do |m|
 | 
				
			||||||
      leading, esc, prefix, sep, oid = $1, $2, $3, $5 || $7, $6 || $8
 | 
					      leading, esc, prefix, sep, identifier = $1, $2, $3, $5 || $7, $6 || $8
 | 
				
			||||||
      link = nil
 | 
					      link = nil
 | 
				
			||||||
      if esc.nil?
 | 
					      if esc.nil?
 | 
				
			||||||
        if prefix.nil? && sep == 'r'
 | 
					        if prefix.nil? && sep == 'r'
 | 
				
			||||||
          if project && (changeset = project.changesets.find_by_revision(oid))
 | 
					          if project && (changeset = project.changesets.find_by_revision(identifier))
 | 
				
			||||||
            link = link_to("r#{oid}", {:only_path => only_path, :controller => 'repositories', :action => 'revision', :id => project, :rev => oid},
 | 
					            link = link_to("r#{identifier}", {:only_path => only_path, :controller => 'repositories', :action => 'revision', :id => project, :rev => changeset.revision},
 | 
				
			||||||
                                      :class => 'changeset',
 | 
					                                      :class => 'changeset',
 | 
				
			||||||
                                      :title => truncate_single_line(changeset.comments, :length => 100))
 | 
					                                      :title => truncate_single_line(changeset.comments, :length => 100))
 | 
				
			||||||
          end
 | 
					          end
 | 
				
			||||||
        elsif sep == '#'
 | 
					        elsif sep == '#'
 | 
				
			||||||
          oid = oid.to_i
 | 
					          oid = identifier.to_i
 | 
				
			||||||
          case prefix
 | 
					          case prefix
 | 
				
			||||||
          when nil
 | 
					          when nil
 | 
				
			||||||
            if issue = Issue.visible.find_by_id(oid, :include => :status)
 | 
					            if issue = Issue.visible.find_by_id(oid, :include => :status)
 | 
				
			||||||
@@ -557,7 +557,7 @@ module ApplicationHelper
 | 
				
			|||||||
          end
 | 
					          end
 | 
				
			||||||
        elsif sep == ':'
 | 
					        elsif sep == ':'
 | 
				
			||||||
          # removes the double quotes if any
 | 
					          # removes the double quotes if any
 | 
				
			||||||
          name = oid.gsub(%r{^"(.*)"$}, "\\1")
 | 
					          name = identifier.gsub(%r{^"(.*)"$}, "\\1")
 | 
				
			||||||
          case prefix
 | 
					          case prefix
 | 
				
			||||||
          when 'document'
 | 
					          when 'document'
 | 
				
			||||||
            if project && document = project.documents.find_by_title(name)
 | 
					            if project && document = project.documents.find_by_title(name)
 | 
				
			||||||
@@ -599,7 +599,7 @@ module ApplicationHelper
 | 
				
			|||||||
          end
 | 
					          end
 | 
				
			||||||
        end
 | 
					        end
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
      leading + (link || "#{prefix}#{sep}#{oid}")
 | 
					      leading + (link || "#{prefix}#{sep}#{identifier}")
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    text
 | 
					    text
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -200,6 +200,8 @@ RAW
 | 
				
			|||||||
      '!version:1.0'                => 'version:1.0',
 | 
					      '!version:1.0'                => 'version:1.0',
 | 
				
			||||||
      '!version:"1.0"'              => 'version:"1.0"',
 | 
					      '!version:"1.0"'              => 'version:"1.0"',
 | 
				
			||||||
      '!source:/some/file'          => 'source:/some/file',
 | 
					      '!source:/some/file'          => 'source:/some/file',
 | 
				
			||||||
 | 
					      # not found
 | 
				
			||||||
 | 
					      '#0123456789'                 => '#0123456789',
 | 
				
			||||||
      # invalid expressions
 | 
					      # invalid expressions
 | 
				
			||||||
      'source:'                     => 'source:',
 | 
					      'source:'                     => 'source:',
 | 
				
			||||||
      # url hash
 | 
					      # url hash
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user