From: Koosha Khajeh Moogahi Date: Sat, 13 Oct 2012 15:27:15 +0000 (+0200) Subject: Bug 213440: quoteUrls() should permit multiple bug numbers to be linkified in comments X-Git-Tag: bugzilla-4.5.1~354 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=aade844e708848c0b3efc7c7cb1ad49fc7728318;p=thirdparty%2Fbugzilla.git Bug 213440: quoteUrls() should permit multiple bug numbers to be linkified in comments r/a=LpSolit --- diff --git a/Bugzilla/Template.pm b/Bugzilla/Template.pm index f6796dfc77..d007999009 100644 --- a/Bugzilla/Template.pm +++ b/Bugzilla/Template.pm @@ -244,6 +244,23 @@ sub quoteUrls { "$1") ~egox; + # Handle a list of bug ids: bugs 1, #2, 3, 4 + # Currently, the only delimiter supported is comma. + # Concluding "and" and "or" are not supported. + my $bugs_word = template_var('terms')->{bugs}; + + my $bugs_re = qr/\Q$bugs_word\E\s*\#?\s* + \d+(?:\s*,\s*\#?\s*\d+)+/ix; + while ($text =~ m/($bugs_re)/go) { + my $offset = $-[0]; + my $length = $+[0] - $-[0]; + my $match = $1; + + $match =~ s/((?:#\s*)?(\d+))/get_bug_link($2, $1);/eg; + # Replace the old string with the linkified one. + substr($text, $offset, $length) = $match; + } + # Old duplicate markers. These don't use $bug_word because they are old # and were never customizable. $text =~ s~(?<=^\*\*\*\ This\ bug\ has\ been\ marked\ as\ a\ duplicate\ of\ )