# 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.
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 = "";
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();