diff options
-rw-r--r-- | CGI.pl | 19 | ||||
-rwxr-xr-x | doeditparams.cgi | 2 | ||||
-rwxr-xr-x | editparams.cgi | 2 | ||||
-rw-r--r-- | globals.pl | 17 | ||||
-rwxr-xr-x | query.cgi | 3 |
5 files changed, 36 insertions, 7 deletions
@@ -962,7 +962,7 @@ Content-type: text/html exit(); } print "Content-type: text/html\n\n"; - PutHeader("Login", undef, undef, undef, 1); + PutHeader("Login"); if(Param("useLDAP")) { print "I need a legitimate LDAP username and password to continue.\n"; } else { @@ -1059,7 +1059,7 @@ Content-type: text/html sub PutHeader { - my ($title, $h1, $h2, $extra, $ignoreshutdown, $jscript) = (@_); + my ($title, $h1, $h2, $extra, $jscript) = (@_); if (!defined $h1) { $h1 = $title; @@ -1071,6 +1071,16 @@ sub PutHeader { $extra = ""; } $jscript ||= ""; + # If we are shutdown, we want a very basic page to give that + # information. Also, the page title should indicate that + # we are down. + if (Param('shutdownhtml')) { + $title = "Bugzilla is Down"; + $h1 = "Bugzilla is currently down"; + $h2 = ""; + $extra = ""; + $jscript = ""; + } print "<HTML><HEAD>\n<TITLE>$title</TITLE>\n"; print Param("headerhtml") . "\n$jscript\n</HEAD>\n"; @@ -1094,7 +1104,10 @@ sub PutHeader { print "</TD></TR></TABLE>\n"; if (Param("shutdownhtml")) { - if (!$ignoreshutdown) { + # If we are dealing with the params page, we want + # to ignore shutdownhtml + if ($0 !~ m:[\\/](do)?editparams.cgi$:) { + print "<p>\n"; print Param("shutdownhtml"); exit; } diff --git a/doeditparams.cgi b/doeditparams.cgi index 06019b817..0ecd4be76 100755 --- a/doeditparams.cgi +++ b/doeditparams.cgi @@ -44,7 +44,7 @@ if (!UserInGroup("tweakparams")) { } -PutHeader("Saving new parameters", undef, undef, undef, 1); +PutHeader("Saving new parameters"); foreach my $i (@::param_list) { # print "Processing $i...<BR>\n"; diff --git a/editparams.cgi b/editparams.cgi index 91ddca7f9..e416184f6 100755 --- a/editparams.cgi +++ b/editparams.cgi @@ -44,7 +44,7 @@ if (!UserInGroup("tweakparams")) { -PutHeader("Edit parameters", undef, undef, undef, 1); +PutHeader("Edit parameters"); print "This lets you edit the basic operating parameters of bugzilla.\n"; print "Be careful!\n"; diff --git a/globals.pl b/globals.pl index a3412d634..f41397451 100644 --- a/globals.pl +++ b/globals.pl @@ -200,6 +200,15 @@ sub SendSQL { if ($str =~ /^LOCK TABLES/i && $str !~ /shadowlog/ && $::dbwritesallowed) { $str =~ s/^LOCK TABLES/LOCK TABLES shadowlog WRITE, /i; } + # If we are shutdown, we don't want to run queries except in special cases + if (Param('shutdownhtml')) { + if ($0 =~ m:[\\/](do)?editparams.cgi$:) { + $::ignorequery = 0; + } else { + $::ignorequery = 1; + return; + } + } SqlLog($str); $::currentquery = $::db->prepare($str); $::currentquery->execute @@ -221,6 +230,10 @@ sub SendSQL { } sub MoreSQLData { + # $::ignorequery is set in SendSQL + if ($::ignorequery) { + return 0; + } if (defined @::fetchahead) { return 1; } @@ -231,6 +244,10 @@ sub MoreSQLData { } sub FetchSQLData { + # $::ignorequery is set in SendSQL + if ($::ignorequery) { + return; + } if (defined @::fetchahead) { my @result = @::fetchahead; undef @::fetchahead; @@ -533,8 +533,7 @@ ENDSCRIPT PutHeader("Bugzilla Query Page", "Query", "This page lets you search the database for recorded bugs.", - q{onLoad="selectProduct(document.forms[0]);"}, - 0, $jscript); + q{onLoad="selectProduct(document.forms[0]);"}, $jscript); push @::legal_resolution, "---"; # Oy, what a hack. |