From 4ccb8983606fbb1a5fcfd242fd15aa6275a42aaf Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Tue, 14 Feb 2012 08:09:23 +0000 Subject: Fixed: {{toc}} uses identical anchors for subsections with the same name (#8194). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8871 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/helpers/application_helper.rb | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'app/helpers') diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index ac59ae87f..83a28bc01 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -503,6 +503,7 @@ module ApplicationHelper text = Redmine::WikiFormatting.to_html(Setting.text_formatting, text, :object => obj, :attribute => attr) @parsed_headings = [] + @heading_anchors = {} @current_section = 0 if options[:edit_section_links] parse_sections(text, project, obj, attr, only_path, options) @@ -816,6 +817,11 @@ module ApplicationHelper anchor = sanitize_anchor_name(item) # used for single-file wiki export anchor = "#{obj.page.title}_#{anchor}" if options[:wiki_links] == :anchor && (obj.is_a?(WikiContent) || obj.is_a?(WikiContent::Version)) + @heading_anchors[anchor] ||= 0 + idx = (@heading_anchors[anchor] += 1) + if idx > 1 + anchor = "#{anchor}-#{idx}" + end @parsed_headings << [level, anchor, item] "\n#{content}" end -- cgit v1.2.3