From: Koosha Khajeh Moogahi Date: Sat, 29 Dec 2012 19:42:24 +0000 (+0100) Subject: Bug 804343: Implement autolinkification for a list of comment ids X-Git-Tag: bugzilla-4.5.1~259 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=71d8496298cecff542d4b16c5aeb6170ea5672bd;p=thirdparty%2Fbugzilla.git Bug 804343: Implement autolinkification for a list of comment ids r/a=LpSolit --- diff --git a/Bugzilla/Template.pm b/Bugzilla/Template.pm index a2fc814891..dc064d8bbb 100644 --- a/Bugzilla/Template.pm +++ b/Bugzilla/Template.pm @@ -236,7 +236,8 @@ sub quoteUrls { # empty string my $bug_word = template_var('terms')->{bug}; my $bug_re = qr/\Q$bug_word\E\s*\#?\s*(\d+)/i; - my $comment_re = qr/comment\s*\#?\s*(\d+)/i; + my $comment_word = template_var('terms')->{comment}; + my $comment_re = qr/(?:\Q$comment_word\E|comment)\s*\#?\s*(\d+)/i; $text =~ s~\b($bug_re(?:\s*,?\s*$comment_re)?|$comment_re) ~ # We have several choices. $1 here is the link, and $2-4 are set # depending on which part matched @@ -261,6 +262,19 @@ sub quoteUrls { substr($text, $offset, $length) = $match; } + my $comments_word = template_var('terms')->{comments}; + + my $comments_re = qr/(?:comments|\Q$comments_word\E)\s*\#?\s* + \d+(?:\s*,\s*\#?\s*\d+)+/ix; + while ($text =~ m/($comments_re)/go) { + my $offset = $-[0]; + my $length = $+[0] - $-[0]; + my $match = $1; + + $match =~ s|((?:#\s*)?(\d+))|$1|g; + 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\ ) diff --git a/template/en/default/global/variables.none.tmpl b/template/en/default/global/variables.none.tmpl index 9e411e3cde..4587d229f1 100644 --- a/template/en/default/global/variables.none.tmpl +++ b/template/en/default/global/variables.none.tmpl @@ -24,6 +24,8 @@ "ABug" => "A Bug", "bugs" => "bugs", "Bugs" => "Bugs", + "comment" => "comment", + "comments" => "comments", "zeroSearchResults" => "Zarro Boogs found", "Bugzilla" => "Bugzilla" }