From 7b16c745ab0e7056e712109d7688281124c2b49b Mon Sep 17 00:00:00 2001 From: "endico%mozilla.org" <> Date: Mon, 12 Jun 2000 13:52:41 +0000 Subject: 'Bug' data was in a global var. different bugs were sharing this and overwritig each other. --- Bugzilla/Bug.pm | 92 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 46 insertions(+), 46 deletions(-) (limited to 'Bugzilla') diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm index 248857441..b6cf83c85 100755 --- a/Bugzilla/Bug.pm +++ b/Bugzilla/Bug.pm @@ -30,14 +30,13 @@ require "globals.pl"; require "CGI.pl"; package Bug; use CGI::Carp qw(fatalsToBrowser); -my %bug; my %ok_field; for my $key (qw (bug_id product version rep_platform op_sys bug_status resolution priority bug_severity component assigned_to reporter bug_file_loc short_desc target_milestone qa_contact status_whiteboard creation_ts groupset - delta_ts votes) ){ + delta_ts error votes) ){ $ok_field{$key}++; } @@ -45,6 +44,7 @@ for my $key (qw (bug_id product version rep_platform op_sys bug_status # sub new { my $type = shift(); + my %bug; # create a ref to an empty hash and bless it # @@ -119,45 +119,45 @@ sub initBug { "groupset", "delta_ts", "votes") { $fields{$field} = shift @row; if ($fields{$field}) { - $bug{$field} = $fields{$field}; + $self->{$field} = $fields{$field}; } $count++; } } else { &::SendSQL("select groupset from bugs where bug_id = $bug_id"); if (@row = &::FetchSQLData()) { - $bug{'bug_id'} = $bug_id; - $bug{'error'} = "NotPermitted"; + $self->{'bug_id'} = $bug_id; + $self->{'error'} = "NotPermitted"; return $self; } else { - $bug{'bug_id'} = $bug_id; - $bug{'error'} = "NotFound"; + $self->{'bug_id'} = $bug_id; + $self->{'error'} = "NotFound"; return $self; } } - if ($bug{'short_desc'}) { - $bug{'short_desc'} = QuoteXMLChars( $bug{'short_desc'} ); + if ($self->{'short_desc'}) { + $self->{'short_desc'} = QuoteXMLChars( $self->{'short_desc'} ); } - if (defined $bug{'status_whiteboard'}) { - $bug{'status_whiteboard'} = QuoteXMLChars($bug{'status_whiteboard'}); + if (defined $self->{'status_whiteboard'}) { + $self->{'status_whiteboard'} = QuoteXMLChars($self->{'status_whiteboard'}); } - $bug{'assigned_to'} = &::DBID_to_real_or_loginname($bug{'assigned_to'}); - $bug{'reporter'} = &::DBID_to_real_or_loginname($bug{'reporter'}); + $self->{'assigned_to'} = &::DBID_to_real_or_loginname($self->{'assigned_to'}); + $self->{'reporter'} = &::DBID_to_real_or_loginname($self->{'reporter'}); my $ccSet = new RelationSet; $ccSet->mergeFromDB("select who from cc where bug_id=$bug_id"); my @cc = $ccSet->toArrayOfStrings(); if (@cc) { - $bug{'cc'} = \@cc; + $self->{'cc'} = \@cc; } - if (&::Param("useqacontact") && (defined $bug{'qa_contact'}) ) { - my $name = $bug{'qa_contact'} > 0 ? &::DBID_to_name($bug{'qa_contact'}) :""; + if (&::Param("useqacontact") && (defined $self->{'qa_contact'}) ) { + my $name = $self->{'qa_contact'} > 0 ? &::DBID_to_name($self->{'qa_contact'}) :""; if ($name) { - $bug{'qa_contact'} = $name; + $self->{'qa_contact'} = $name; } } @@ -172,7 +172,7 @@ sub initBug { push(@list, &::FetchOneColumn()); } if (@list) { - $bug{'keywords'} = &::html_quote(join(', ', @list)); + $self->{'keywords'} = &::html_quote(join(', ', @list)); } } @@ -192,7 +192,7 @@ sub initBug { } } if (@attachments) { - $bug{'attachments'} = \@attachments; + $self->{'attachments'} = \@attachments; } &::SendSQL("select bug_id, who, bug_when, thetext @@ -208,17 +208,17 @@ sub initBug { push @longdescs, \%longdesc; } if (@longdescs) { - $bug{'longdescs'} = \@longdescs; + $self->{'longdescs'} = \@longdescs; } if (&::Param("usedependencies")) { my @depends = EmitDependList("blocked", "dependson", $bug_id); if ( @depends ) { - $bug{'dependson'} = \@depends; + $self->{'dependson'} = \@depends; } my @blocks = EmitDependList("dependson", "blocked", $bug_id); if ( @blocks ) { - $bug{'blocks'} = \@blocks; + $self->{'blocks'} = \@blocks; } } return $self; @@ -234,9 +234,9 @@ sub emitXML { my $xml; - if (exists $bug{'error'}) { - $xml .= "\n"; - $xml .= " $bug{'bug_id'}\n"; + if (exists $self->{'error'}) { + $xml .= "{'error'}\">\n"; + $xml .= " $self->{'bug_id'}\n"; $xml .= "\n"; return $xml; } @@ -248,41 +248,41 @@ sub emitXML { "component", "reporter", "target_milestone", "bug_severity", "creation_ts", "qa_contact", "op_sys", "resolution", "bug_file_loc", "short_desc", "keywords", "status_whiteboard") { - if ($bug{$field}) { - $xml .= " <$field>" . $bug{$field} . "\n"; + if ($self->{$field}) { + $xml .= " <$field>" . $self->{$field} . "\n"; } } foreach my $field ("dependson", "blocks", "cc") { - if (defined $bug{$field}) { - for (my $i=0 ; $i < @{$bug{$field}} ; $i++) { - $xml .= " <$field>" . $bug{$field}[$i] . "\n"; + if (defined $self->{$field}) { + for (my $i=0 ; $i < @{$self->{$field}} ; $i++) { + $xml .= " <$field>" . $self->{$field}[$i] . "\n"; } } } - if (defined $bug{'longdescs'}) { - for (my $i=0 ; $i < @{$bug{'longdescs'}} ; $i++) { + if (defined $self->{'longdescs'}) { + for (my $i=0 ; $i < @{$self->{'longdescs'}} ; $i++) { $xml .= " \n"; - $xml .= " " . &::DBID_to_name($bug{'longdescs'}[$i]->{'who'}) + $xml .= " " . &::DBID_to_name($self->{'longdescs'}[$i]->{'who'}) . "\n"; - $xml .= " " . $bug{'longdescs'}[$i]->{'bug_when'} + $xml .= " " . $self->{'longdescs'}[$i]->{'bug_when'} . "\n"; - $xml .= " " . QuoteXMLChars($bug{'longdescs'}[$i]->{'thetext'}) + $xml .= " " . QuoteXMLChars($self->{'longdescs'}[$i]->{'thetext'}) . "\n"; $xml .= " \n"; } } - if (defined $bug{'attachments'}) { - for (my $i=0 ; $i < @{$bug{'attachments'}} ; $i++) { + if (defined $self->{'attachments'}) { + for (my $i=0 ; $i < @{$self->{'attachments'}} ; $i++) { $xml .= " \n"; - $xml .= " " . $bug{'attachments'}[$i]->{'attachid'} + $xml .= " " . $self->{'attachments'}[$i]->{'attachid'} . "\n"; - $xml .= " " . $bug{'attachments'}[$i]->{'date'} . "\n"; - $xml .= " " . $bug{'attachments'}[$i]->{'desc'} . "\n"; - # $xml .= " " . $bug{'attachments'}[$i]->{'type'} . "\n"; - # $xml .= " " . $bug{'attachments'}[$i]->{'data'} . "\n"; + $xml .= " " . $self->{'attachments'}[$i]->{'date'} . "\n"; + $xml .= " " . $self->{'attachments'}[$i]->{'desc'} . "\n"; + # $xml .= " " . $self->{'attachments'}[$i]->{'type'} . "\n"; + # $xml .= " " . $self->{'attachments'}[$i]->{'data'} . "\n"; $xml .= " \n"; } } @@ -355,12 +355,12 @@ sub AUTOLOAD { $attr =~ s/.*:://; return unless $attr=~ /[^A-Z]/; if (@_) { - $bug{$attr} = shift; + $self->{$attr} = shift; return; } - confess "invalid bug attribute $attr" unless $ok_field{$attr}; - if (defined $bug{$attr}) { - return $bug{$attr}; + confess ("invalid bug attribute $attr") unless $ok_field{$attr}; + if (defined $self->{$attr}) { + return $self->{$attr}; } else { return ''; } -- cgit v1.2.3-24-g4f1b