]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 804343: Implement autolinkification for a list of comment ids
authorKoosha Khajeh Moogahi <koosha.khajeh@gmail.com>
Sat, 29 Dec 2012 19:42:24 +0000 (20:42 +0100)
committerFrédéric Buclin <LpSolit@gmail.com>
Sat, 29 Dec 2012 19:42:24 +0000 (20:42 +0100)
r/a=LpSolit

Bugzilla/Template.pm
template/en/default/global/variables.none.tmpl

index a2fc814891b01b8c5cfe7f6fbf97d985041836bf..dc064d8bbb27d183f50da1e196fa7bd3e6ce78f7 100644 (file)
@@ -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+))|<a href="$current_bugurl#c$2">$1</a>|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\ )
index 9e411e3cde31f63e4f080f34a2b4e02c9115e184..4587d229f14e422445a21131ce0097b984535752 100644 (file)
@@ -24,6 +24,8 @@
   "ABug" => "A Bug",
   "bugs" => "bugs",
   "Bugs" => "Bugs",
+  "comment" => "comment",
+  "comments" => "comments",
   "zeroSearchResults" => "Zarro Boogs found",
   "Bugzilla" => "Bugzilla"
   }