From 7c95655a860e263df00376c2c1b5658f53151654 Mon Sep 17 00:00:00 2001 From: "travis%sedsystems.ca" <> Date: Tue, 1 Feb 2005 00:32:56 +0000 Subject: Bug 279700 : Move GetComments from globals.pl into Bugzilla::Bug Patch by Max Kanat-Alexander r=vladd a=justdave --- Bugzilla/Bug.pm | 34 +++++++++++++++++++++++++++++++++- globals.pl | 29 ----------------------------- process_bug.cgi | 2 +- 3 files changed, 34 insertions(+), 31 deletions(-) diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm index 85f7ee030..ad48e763f 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 0c1ba852b..694d02f49 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 78423ab3d..2efc62d59 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; -- cgit v1.2.3-24-g4f1b