From a0951fc965aafba2c182d761bc0636ddbd324cf2 Mon Sep 17 00:00:00 2001 From: "gerv%gerv.net" <> Date: Tue, 11 Sep 2001 04:26:05 +0000 Subject: [PATCH] Make Bugzilla support tag for buglists. Bug 87818. r=jake, caillon. --- CGI.pl | 43 +++++++++++++++++++++++++++++++++++++++++++ buglist.cgi | 2 +- show_bug.cgi | 2 +- 3 files changed, 45 insertions(+), 2 deletions(-) diff --git a/CGI.pl b/CGI.pl index 3c0795d44d..7fb0298d8d 100644 --- a/CGI.pl +++ b/CGI.pl @@ -22,6 +22,7 @@ # Joe Robins # Dave Miller # Christopher Aillon +# Gervase Markham # Contains some global routines used throughout the CGI scripts of Bugzilla. @@ -408,6 +409,48 @@ sub navigation_header { print "     Enter new bug\n" } +# Adds 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 .= "\n"; + $retval .= "\n"; + } + if ($cur < $#bugs) { + $retval .= "\n"; + $retval .= "\n"; + } + + $retval .= "\n"; + $retval .= "\n"; + } else { + # We are on a bug list + $retval .= "\n"; + $retval .= "\n"; + $retval .= "\n"; + } + } + + return $retval; +} + sub make_checkboxes { my ($src,$default,$isregexp,$name) = (@_); my $last = ""; diff --git a/buglist.cgi b/buglist.cgi index e08df3952d..f6143abaa3 100755 --- a/buglist.cgi +++ b/buglist.cgi @@ -1313,7 +1313,7 @@ if (length($buglist) < 4000) { print "Set-Cookie: BUGLIST=\n\n"; $toolong = 1; } -PutHeader($::querytitle); +PutHeader($::querytitle, undef, "", "", navigation_links($buglist)); print " diff --git a/show_bug.cgi b/show_bug.cgi index eced9cfbef..c5b569a459 100755 --- a/show_bug.cgi +++ b/show_bug.cgi @@ -68,7 +68,7 @@ GetVersionTable(); SendSQL("SELECT short_desc FROM bugs WHERE bug_id = $::FORM{'id'}"); my ($summary) = FetchSQLData(); $summary = html_quote($summary); -PutHeader("Bug $::FORM{'id'} - $summary", "Bugzilla Bug $::FORM{'id'}", $summary ); +PutHeader("Bug $::FORM{'id'} - $summary", "Bugzilla Bug $::FORM{'id'}", $summary, "", navigation_links() ); navigation_header(); -- 2.47.2