From: travis%sedsystems.ca <> Date: Tue, 1 Feb 2005 00:32:56 +0000 (+0000) Subject: Bug 279700 : Move GetComments from globals.pl into Bugzilla::Bug X-Git-Tag: bugzilla-2.19.3~361 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7c95655a860e263df00376c2c1b5658f53151654;p=thirdparty%2Fbugzilla.git Bug 279700 : Move GetComments from globals.pl into Bugzilla::Bug Patch by Max Kanat-Alexander r=vladd a=justdave --- diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm index 85f7ee030e..ad48e763f1 100755 --- a/Bugzilla/Bug.pm +++ b/Bugzilla/Bug.pm @@ -308,7 +308,7 @@ sub longdescs { return $self->{'longdescs'} if exists $self->{'longdescs'}; - $self->{'longdescs'} = &::GetComments($self->{bug_id}); + $self->{'longdescs'} = GetComments($self->{bug_id}); return $self->{'longdescs'}; } @@ -504,6 +504,38 @@ sub ValidateTime { } } +sub GetComments { + my ($id) = (@_); + my $dbh = Bugzilla->dbh; + my @comments; + my $sth = $dbh->prepare( + "SELECT profiles.realname AS name, profiles.login_name AS email, + date_format(longdescs.bug_when,'%Y.%m.%d %H:%i') AS time, + longdescs.thetext AS body, longdescs.work_time, + isprivate, + date_format(longdescs.bug_when,'%Y%m%d%H%i%s') + FROM longdescs, profiles + WHERE profiles.userid = longdescs.who + AND longdescs.bug_id = ? + ORDER BY longdescs.bug_when"); + $sth->execute($id); + + while (my $comment_ref = $sth->fetchrow_hashref()) { + my %comment = %$comment_ref; + + # Can't use "when" as a field name in MySQL + $comment{'when'} = $comment{'bug_when'}; + delete($comment{'bug_when'}); + + $comment{'email'} .= Param('emailsuffix'); + $comment{'name'} = $comment{'name'} || $comment{'email'}; + + push (@comments, \%comment); + } + + return \@comments; +} + sub AUTOLOAD { use vars qw($AUTOLOAD); my $attr = $AUTOLOAD; diff --git a/globals.pl b/globals.pl index 0c1ba852bb..694d02f494 100644 --- a/globals.pl +++ b/globals.pl @@ -1147,35 +1147,6 @@ sub GetLongDescriptionAsText { return ($result, $anyprivate); } -sub GetComments { - my ($id) = (@_); - my @comments; - SendSQL("SELECT profiles.realname, profiles.login_name, - date_format(longdescs.bug_when,'%Y.%m.%d %H:%i'), - longdescs.thetext, longdescs.work_time, - isprivate, - date_format(longdescs.bug_when,'%Y%m%d%H%i%s') - FROM longdescs, profiles - WHERE profiles.userid = longdescs.who - AND longdescs.bug_id = $id - ORDER BY longdescs.bug_when"); - - while (MoreSQLData()) { - my %comment; - ($comment{'name'}, $comment{'email'}, $comment{'time'}, - $comment{'body'}, $comment{'work_time'}, - $comment{'isprivate'}, $comment{'when'}) = FetchSQLData(); - - $comment{'email'} .= Param('emailsuffix'); - $comment{'name'} = $comment{'name'} || $comment{'email'}; - - push (@comments, \%comment); - } - - return \@comments; -} - - # Fills in a hashtable with info about the columns for the given table in the # database. The hashtable has the following entries: # -list- the list of column names diff --git a/process_bug.cgi b/process_bug.cgi index 78423ab3de..2efc62d593 100755 --- a/process_bug.cgi +++ b/process_bug.cgi @@ -1263,7 +1263,7 @@ foreach my $id (@idlist) { ($vars->{'operations'}) = GetBugActivity($::FORM{'id'}, $::FORM{'delta_ts'}); $vars->{'start_at'} = $::FORM{'longdesclength'}; - $vars->{'comments'} = GetComments($id); + $vars->{'comments'} = Bugzilla::Bug::GetComments($id); $::FORM{'delta_ts'} = $delta_ts; $vars->{'form'} = \%::FORM;