From 669eed6c9dcf6300c3e3f5db1970f2a26c5317e6 Mon Sep 17 00:00:00 2001 From: "jake%acutex.net" <> Date: Tue, 14 Aug 2001 02:11:31 +0000 Subject: Fix for bug 95082 - Param('shutdownhtml') doesn't completely shut down bugzilla. r= justdave@syndicomm.com --- CGI.pl | 19 ++++++++++++++++--- doeditparams.cgi | 2 +- editparams.cgi | 2 +- globals.pl | 17 +++++++++++++++++ query.cgi | 3 +-- 5 files changed, 36 insertions(+), 7 deletions(-) diff --git a/CGI.pl b/CGI.pl index 5a86b7ad1..fb3d0178d 100644 --- a/CGI.pl +++ b/CGI.pl @@ -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 "
\n\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...
\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;
diff --git a/query.cgi b/query.cgi
index 067f76036..16c783864 100755
--- a/query.cgi
+++ b/query.cgi
@@ -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.
--
cgit v1.2.3-24-g4f1b