]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Fix for bug 95082 - Param('shutdownhtml') doesn't completely shut down bugzilla.
authorjake%acutex.net <>
Tue, 14 Aug 2001 02:11:31 +0000 (02:11 +0000)
committerjake%acutex.net <>
Tue, 14 Aug 2001 02:11:31 +0000 (02:11 +0000)
r= justdave@syndicomm.com

CGI.pl
doeditparams.cgi
editparams.cgi
globals.pl
query.cgi

diff --git a/CGI.pl b/CGI.pl
index 5a86b7ad179b4b4862da425b80b5ccc43658e5d7..fb3d0178d8c2a591d9993998e89a46d7c3f0659f 100644 (file)
--- 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 "<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;
         }
index 06019b8171c85e928a6a98db39fc4cf23f0c5fe5..0ecd4be7603ea2a36ea828487bc68134ced4c8f0 100755 (executable)
@@ -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";
index 91ddca7f939a7ede7b1bbc72c306aef9b474633d..e416184f6f36c9002fe710122c4d22b11c4f3069 100755 (executable)
@@ -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";
index a3412d63474c13bbf2820262bb78763d869983d4..f413974517de959ac402d155c1ba0fe86ac7b715 100644 (file)
@@ -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;
index 067f760369f057e17b82c940f868c6115541d387..16c78386449c8007351e3de1d387809f36e967e8 100755 (executable)
--- 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.