diff options
author | gerv%gerv.net <> | 2001-09-11 06:26:05 +0200 |
---|---|---|
committer | gerv%gerv.net <> | 2001-09-11 06:26:05 +0200 |
commit | a0951fc965aafba2c182d761bc0636ddbd324cf2 (patch) | |
tree | d69a8c01e755de2a8f6c9e7e8cf1551f0b5ee3aa /CGI.pl | |
parent | c58ca9fbad118fd898bdd6aedee9fbf82abd2fb8 (diff) | |
download | bugzilla-a0951fc965aafba2c182d761bc0636ddbd324cf2.tar.gz bugzilla-a0951fc965aafba2c182d761bc0636ddbd324cf2.tar.xz |
Make Bugzilla support <link> tag for buglists. Bug 87818. r=jake, caillon.
Diffstat (limited to 'CGI.pl')
-rw-r--r-- | CGI.pl | 43 |
1 files changed, 43 insertions, 0 deletions
@@ -22,6 +22,7 @@ # Joe Robins <jmrobins@tgix.com> # Dave Miller <justdave@syndicomm.com> # Christopher Aillon <christopher@aillon.com> +# Gervase Markham <gerv@gerv.net> # Contains some global routines used throughout the CGI scripts of Bugzilla. @@ -408,6 +409,48 @@ sub navigation_header { print " <A HREF=enter_bug.cgi>Enter new bug</A>\n" } +# Adds <link> elements for bug lists. These can be inserted into the header by +# (ab)using the "jscript" parameter to PutHeader, which inserts an arbitrary +# string into the header. This function is modelled on the one above. +sub navigation_links($) { + my ($buglist) = @_; + + my $retval = ""; + + # We need to be able to pass in a buglist because when you sort on a column + # the bugs in the cookie you are given will still be in the old order. + # If a buglist isn't passed, we just use the cookie. + $buglist ||= $::COOKIE{"BUGLIST"}; + + if (defined $buglist && $buglist ne "") { + my @bugs = split(/:/, $buglist); + + if (defined $::FORM{'id'}) { + # We are on an individual bug + my $cur = lsearch(\@bugs, $::FORM{"id"}); + + if ($cur > 0) { + $retval .= "<link rel=\"First\" href=\"show_bug.cgi?id=$bugs[0]\" />\n"; + $retval .= "<link rel=\"Prev\" href=\"show_bug.cgi?id=$bugs[$cur - 1]\" />\n"; + } + if ($cur < $#bugs) { + $retval .= "<link rel=\"Next\" href=\"show_bug.cgi?id=$bugs[$cur + 1]\" />\n"; + $retval .= "<link rel=\"Last\" href=\"show_bug.cgi?id=$bugs[$#bugs]\" />\n"; + } + + $retval .= "<link rel=\"Up\" href=\"buglist.cgi?regetlastlist=1\" />\n"; + $retval .= "<link rel=\"Contents\" href=\"buglist.cgi?regetlastlist=1\" />\n"; + } else { + # We are on a bug list + $retval .= "<link rel=\"First\" href=\"show_bug.cgi?id=$bugs[0]\" />\n"; + $retval .= "<link rel=\"Next\" href=\"show_bug.cgi?id=$bugs[0]\" />\n"; + $retval .= "<link rel=\"Last\" href=\"show_bug.cgi?id=$bugs[$#bugs]\" />\n"; + } + } + + return $retval; +} + sub make_checkboxes { my ($src,$default,$isregexp,$name) = (@_); my $last = ""; |