From c0df359943e8b746f02f5c43d25e5ffea99f8d19 Mon Sep 17 00:00:00 2001
From: "travis%sedsystems.ca" <>
Date: Wed, 9 Feb 2005 00:22:25 +0000
Subject: [PATCH] Bug 276838 : Eliminate use of $::unconfirmedstate Patch by
 Max Kanat-Alexander <mkanat@kerio.com>  r=wurblzap  a=justdave

---
 Bugzilla/Bug.pm     | 4 ++--
 Bugzilla/BugMail.pm | 2 +-
 CGI.pl              | 4 ++--
 buglist.cgi         | 3 +--
 editproducts.cgi    | 3 +--
 enter_bug.cgi       | 3 +--
 globals.pl          | 6 ++----
 post_bug.cgi        | 6 +++---
 process_bug.cgi     | 9 ++++-----
 sanitycheck.cgi     | 6 +-----
 10 files changed, 18 insertions(+), 28 deletions(-)

diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm
index 60083c887..e231f93b0 100755
--- a/Bugzilla/Bug.pm
+++ b/Bugzilla/Bug.pm
@@ -28,7 +28,7 @@ package Bugzilla::Bug;
 use strict;
 
 use Bugzilla::RelationSet;
-use vars qw($unconfirmedstate $legal_keywords @legal_platform
+use vars qw($legal_keywords @legal_platform
             @legal_priority @legal_severity @legal_opsys @legal_bugs_status
             @settable_resolution %components %versions %target_milestone
             @enterable_products %milestoneurl %prodmaxvotes);
@@ -258,7 +258,7 @@ sub initBug  {
 
   $self->{'milestoneurl'} = $::milestoneurl{$self->{product}};
 
-  $self->{'isunconfirmed'} = ($self->{bug_status} eq $::unconfirmedstate);
+  $self->{'isunconfirmed'} = ($self->{bug_status} eq 'UNCONFIRMED');
   $self->{'isopened'} = &::IsOpenedState($self->{bug_status});
   
   my @depends = EmitDependList("blocked", "dependson", $bug_id);
diff --git a/Bugzilla/BugMail.pm b/Bugzilla/BugMail.pm
index 258bc0ccb..77156b0e7 100644
--- a/Bugzilla/BugMail.pm
+++ b/Bugzilla/BugMail.pm
@@ -512,7 +512,7 @@ sub getEmailAttributes (\%\@$) {
     my (@flags,@uniqueFlags,%alreadySeen) = ();
     
     # Add a flag if the status of the bug is "unconfirmed".
-    if ($bug->{'bug_status'} eq $::unconfirmedstate) {
+    if ($bug->{'bug_status'} eq 'UNCONFIRMED') {
         push (@flags, 'Unconfirmed')
     };
     
diff --git a/CGI.pl b/CGI.pl
index 165e5216c..58075bacb 100644
--- a/CGI.pl
+++ b/CGI.pl
@@ -251,13 +251,13 @@ sub CheckIfVotedConfirmed {
             "WHERE bugs.bug_id = $id AND products.id = bugs.product_id");
     my ($votes, $status, $votestoconfirm, $everconfirmed) = (FetchSQLData());
     my $ret = 0;
-    if ($votes >= $votestoconfirm && $status eq $::unconfirmedstate) {
+    if ($votes >= $votestoconfirm && $status eq 'UNCONFIRMED') {
         SendSQL("UPDATE bugs SET bug_status = 'NEW', everconfirmed = 1 " .
                 "WHERE bug_id = $id");
         my $fieldid = GetFieldID("bug_status");
         SendSQL("INSERT INTO bugs_activity " .
                 "(bug_id,who,bug_when,fieldid,removed,added) VALUES " .
-                "($id,$who,now(),$fieldid,'$::unconfirmedstate','NEW')");
+                "($id,$who,now(),$fieldid,'UNCONFIRMED','NEW')");
         if (!$everconfirmed) {
             $fieldid = GetFieldID("everconfirmed");
             SendSQL("INSERT INTO bugs_activity " .
diff --git a/buglist.cgi b/buglist.cgi
index a0340cc29..d748b0757 100755
--- a/buglist.cgi
+++ b/buglist.cgi
@@ -52,7 +52,6 @@ use vars qw($db_name
             @legal_severity
             @settable_resolution
             @target_milestone
-            $unconfirmedstate
             $userid
             @versions);
 
@@ -947,7 +946,7 @@ if ($dotweak) {
     $vars->{'severities'} = \@::legal_severity;
     $vars->{'resolutions'} = \@::settable_resolution;
 
-    $vars->{'unconfirmedstate'} = $::unconfirmedstate;
+    $vars->{'unconfirmedstate'} = 'UNCONFIRMED';
 
     $vars->{'bugstatuses'} = [ keys %$bugstatuses ];
 
diff --git a/editproducts.cgi b/editproducts.cgi
index 8fe1a5ec5..d619909ae 100755
--- a/editproducts.cgi
+++ b/editproducts.cgi
@@ -44,7 +44,6 @@ use vars qw(@legal_bug_status @legal_resolution);
 sub sillyness {
     my $zz;
     $zz = %::MFORM;
-    $zz = $::unconfirmedstate;
 }
 
 my %ctl = ( 
@@ -1435,7 +1434,7 @@ if ($action eq 'update') {
         # 3. enough votes to confirm
         SendSQL("SELECT bug_id FROM bugs " .
                 "WHERE product_id = $product_id " .
-                "  AND bug_status = '$::unconfirmedstate' " .
+                "  AND bug_status = 'UNCONFIRMED' " .
                 "  AND votes >= $votestoconfirm");
         if (MoreSQLData()) {
             print "<br>Checking unconfirmed bugs in this product for any which now have sufficient votes.";
diff --git a/enter_bug.cgi b/enter_bug.cgi
index 46cac6f88..8be884768 100755
--- a/enter_bug.cgi
+++ b/enter_bug.cgi
@@ -43,7 +43,6 @@ use Bugzilla::Bug;
 require "CGI.pl";
 
 use vars qw(
-  $unconfirmedstate
   $template
   $vars
   @enterable_products
@@ -454,7 +453,7 @@ if (FetchOneColumn()) {
     if (UserInGroup("editbugs") || UserInGroup("canconfirm")) {
         push(@status, "NEW");
     }
-    push(@status, $unconfirmedstate);
+    push(@status, 'UNCONFIRMED');
 } else {
     push(@status, "NEW");
 }
diff --git a/globals.pl b/globals.pl
index 6957256a3..7a0ccebaa 100644
--- a/globals.pl
+++ b/globals.pl
@@ -95,8 +95,6 @@ $::ENV{'PATH'} = '';
 $::SIG{TERM} = 'IGNORE';
 $::SIG{PIPE} = 'IGNORE';
 
-$::unconfirmedstate = "UNCONFIRMED";
-
 # The following subroutine is for debugging purposes only.
 # Uncommenting this sub and the $::SIG{__DIE__} trap underneath it will
 # cause any fatal errors to result in a call stack trace to help track
@@ -959,7 +957,7 @@ sub GetBugLink {
             my ($pre, $title, $post) = ("", "", "");
 
             $title = $bug_state;
-            if ($bug_state eq $::unconfirmedstate) {
+            if ($bug_state eq 'UNCONFIRMED') {
                 $pre = "<i>";
                 $post = "</i>";
             }
@@ -1183,7 +1181,7 @@ sub IsOpenedState {
 # is considered an open bug.
 
 sub OpenStates {
-    return ('NEW', 'REOPENED', 'ASSIGNED', $::unconfirmedstate);
+    return ('NEW', 'REOPENED', 'ASSIGNED', 'UNCONFIRMED');
 }
 
 
diff --git a/post_bug.cgi b/post_bug.cgi
index 40111ff77..97f788dc6 100755
--- a/post_bug.cgi
+++ b/post_bug.cgi
@@ -158,7 +158,7 @@ if (UserInGroup("canedit") || UserInGroup("canconfirm")) {
     $::FORM{'bug_status'} ||= "NEW";
 } else {
     # Default to UNCONFIRMED if we are using it, NEW otherwise
-    $::FORM{'bug_status'} = $::unconfirmedstate;
+    $::FORM{'bug_status'} = 'UNCONFIRMED';
     SendSQL("SELECT votestoconfirm FROM products WHERE id = $product_id");
     if (!FetchOneColumn()) {
         $::FORM{'bug_status'} = "NEW";
@@ -182,7 +182,7 @@ CheckFormField(\%::FORM, 'rep_platform', \@::legal_platform);
 CheckFormField(\%::FORM, 'bug_severity', \@::legal_severity);
 CheckFormField(\%::FORM, 'priority',     \@::legal_priority);
 CheckFormField(\%::FORM, 'op_sys',       \@::legal_opsys);
-CheckFormField(\%::FORM, 'bug_status',   [$::unconfirmedstate, 'NEW']);
+CheckFormField(\%::FORM, 'bug_status',   ['UNCONFIRMED', 'NEW']);
 CheckFormField(\%::FORM, 'version',          $::versions{$product});
 CheckFormField(\%::FORM, 'component',        $::components{$product});
 CheckFormField(\%::FORM, 'target_milestone', $::target_milestone{$product});
@@ -198,7 +198,7 @@ foreach my $field (@bug_fields) {
 }
 
 if (exists $::FORM{'bug_status'} 
-    && $::FORM{'bug_status'} ne $::unconfirmedstate) 
+    && $::FORM{'bug_status'} ne 'UNCONFIRMED') 
 {
     push(@used_fields, "everconfirmed");
     $::FORM{'everconfirmed'} = 1;
diff --git a/process_bug.cgi b/process_bug.cgi
index c560e90ff..a04fe62b2 100755
--- a/process_bug.cgi
+++ b/process_bug.cgi
@@ -411,7 +411,7 @@ sub CheckCanChangeField {
     # *Only* users with "canconfirm" privs can confirm bugs.
     if ($field eq "canconfirm"
         || ($field eq "bug_status"
-            && $oldvalue eq $::unconfirmedstate
+            && $oldvalue eq 'UNCONFIRMED'
             && IsOpenedState($newvalue)))
     {
         $PrivilegesRequired = 3;
@@ -587,8 +587,7 @@ sub ChangeStatus {
             # When reopening, we need to check whether the bug was ever
             # confirmed or not
             $::query .= "bug_status = CASE WHEN everconfirmed = 1 THEN " .
-                         SqlQuote($str) . " ELSE " .
-                         SqlQuote($::unconfirmedstate) . " END";
+                         SqlQuote($str) . " ELSE 'UNCONFIRMED' END";
         } elsif (IsOpenedState($str)) {
             # Note that we cannot combine this with the above branch - here we
             # need to check if bugs.bug_status is open, (since we don't want to
@@ -620,7 +619,7 @@ sub ChangeStatus {
             $::query .= "bug_status = CASE WHEN bug_status IN($open_state) THEN " .
                                         "(CASE WHEN everconfirmed = 1 THEN " .
                                             SqlQuote($str) . " ELSE " .
-                                            SqlQuote($::unconfirmedstate) . " END) ELSE " .
+                                            " 'UNCONFIRMED' END) ELSE " .
                                         "bug_status END";
         } else {
             $::query .= "bug_status = " . SqlQuote($str);
@@ -1188,7 +1187,7 @@ foreach my $id (@idlist) {
         || $::FORM{'knob'} eq 'reassign')
     {
         $formhash{'assigned_to'} = $assignee;
-        if ($oldhash{'bug_status'} eq $::unconfirmedstate) {
+        if ($oldhash{'bug_status'} eq 'UNCONFIRMED') {
             $formhash{'bug_status'} = $oldhash{'bug_status'};
         }
     }
diff --git a/sanitycheck.cgi b/sanitycheck.cgi
index 4db4e0192..d9c6af221 100755
--- a/sanitycheck.cgi
+++ b/sanitycheck.cgi
@@ -28,8 +28,6 @@ use lib qw(.);
 require "CGI.pl";
 use Bugzilla::Constants;
 
-use vars qw($unconfirmedstate);
-
 ###########################################################################
 # General subs
 ###########################################################################
@@ -649,9 +647,7 @@ BugCheck("bugs WHERE bug_status NOT IN ($open_states) AND resolution = ''",
 
 Status("Checking statuses/everconfirmed");
 
-my $sqlunconfirmed = SqlQuote($unconfirmedstate);                            
-
-BugCheck("bugs WHERE bug_status = $sqlunconfirmed AND everconfirmed = 1",
+BugCheck("bugs WHERE bug_status = 'UNCONFIRMED' AND everconfirmed = 1",
          "Bugs that are UNCONFIRMED but have everconfirmed set");
 # The below list of resolutions is hardcoded because we don't know if future
 # resolutions will be confirmed, unconfirmed or maybeconfirmed.  I suspect
-- 
2.24.1