From 69c4be2d4794b0a8c66baeab5375c5cf3b8ffd9c Mon Sep 17 00:00:00 2001 From: "terry%mozilla.org" <> Date: Sun, 23 Jan 2000 03:08:55 +0000 Subject: Remember the previous sort order in a cookie, and make that the default sort order for new queries. Add a new "show list" link to the navigation header to return you to the list of selected bugs. --- buglist.cgi | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'buglist.cgi') diff --git a/buglist.cgi b/buglist.cgi index 6f791a6df..488944fb4 100755 --- a/buglist.cgi +++ b/buglist.cgi @@ -29,7 +29,6 @@ use Date::Parse; use vars %::MFORM, @::components, - @::db, @::default_column_list, @::keywordsbyname, @::legal_keywords, @@ -45,6 +44,7 @@ use vars %::MFORM, ConnectToDatabase(); +# print "Content-type: text/plain\n\n"; # Handy for debugging. if (!defined $::FORM{'cmdtype'}) { # This can happen if there's an old bookmark to a query... @@ -250,6 +250,23 @@ and bugs.version = projector.value and bugs.groupset & $::usergroupset = bugs.groupset "; +if ($::FORM{'regetlastlist'}) { + if (!$::COOKIE{'BUGLIST'}) { + print qq{ +Sorry, I seem to have lost the cookie that recorded the results of your last +query. You will have to start over at the query page. +}; + PutTrailer(); + exit; + } + my @list = split(/:/, $::COOKIE{'BUGLIST'}); + $::MFORM{'bug_id'} = \@list; + $::FORM{'bug_id'} = join('', $::MFORM{'bug_id'}); + if (!$::FORM{'order'}) { + $::FORM{'order'} = 'reuse last sort'; + } +} + if ((defined $::FORM{'emailcc1'} && $::FORM{'emailcc1'}) || (defined $::FORM{'emailcc2'} && $::FORM{'emailcc2'})) { @@ -532,7 +549,11 @@ foreach my $f ("short_desc", "long_desc", "bug_file_loc", $query .= "group by bugs.bug_id\n"; + if (defined $::FORM{'order'} && $::FORM{'order'} ne "") { + if ($::COOKIE{'LASTORDER'} && $::FORM{'order'} =~ /^reuse/i) { + $::FORM{'order'} = url_decode($::COOKIE{'LASTORDER'}); + } $query .= "order by "; $::FORM{'order'} =~ s/votesum/bugs.votes/; # Silly backwards compatability # hack. @@ -732,6 +753,10 @@ if ($serverpush) { # Note! HTML header not yet closed } my $toolong = 0; +if ($::FORM{'order'}) { + my $q = url_quote($::FORM{'order'}); + print "Set-Cookie: LASTORDER=$q ; path=/; expires=Sun, 30-Jun-2029 00:00:00 GMT\n"; +} if (length($buglist) < 4000) { print "Set-Cookie: BUGLIST=$buglist\n\n"; } else { -- cgit v1.2.3-24-g4f1b