]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 283561: Move AppendComment out of globals.pl
authormkanat%kerio.com <>
Thu, 10 Mar 2005 16:20:41 +0000 (16:20 +0000)
committermkanat%kerio.com <>
Thu, 10 Mar 2005 16:20:41 +0000 (16:20 +0000)
Patch By Max Kanat-Alexander <mkanat@kerio.com> r=vladd, a=justdave

Bugzilla/Bug.pm
globals.pl

index 2a4375081dabbc5dc40d23a88abdc781b0e74499..4e494b8a6fddff9a56564edece82bd08f4e34463 100755 (executable)
@@ -47,6 +47,7 @@ use Bugzilla::Error;
 
 use base qw(Exporter);
 @Bugzilla::Bug::EXPORT = qw(
+    AppendComment
     bug_alias_to_id
     ValidateComment
 );
@@ -603,6 +604,38 @@ sub bug_alias_to_id ($) {
 # Subroutines
 #####################################################################
 
+sub AppendComment ($$$;$$$) {
+    my ($bugid, $who, $comment, $isprivate, $timestamp, $work_time) = @_;
+    $work_time ||= 0;
+    my $dbh = Bugzilla->dbh;
+
+    ValidateTime($work_time, "work_time") if $work_time;
+    trick_taint($work_time);
+
+    # Use the date/time we were given if possible (allowing calling code
+    # to synchronize the comment's timestamp with those of other records).
+    $timestamp =  "NOW()" unless $timestamp;
+
+    $comment =~ s/\r\n/\n/g;     # Handle Windows-style line endings.
+    $comment =~ s/\r/\n/g;       # Handle Mac-style line endings.
+
+    if ($comment =~ /^\s*$/) {  # Nothin' but whitespace
+        return;
+    }
+
+    # Comments are always safe, because we always display their raw contents,
+    # and we use them in a placeholder below.
+    trick_taint($comment); 
+    my $whoid = &::DBNameToIdAndCheck($who);
+    my $privacyval = $isprivate ? 1 : 0 ;
+    $dbh->do(q{INSERT INTO longdescs
+                      (bug_id, who, bug_when, thetext, isprivate, work_time)
+               VALUES (?,?,?,?,?,?)}, undef,
+             ($bugid, $whoid, $timestamp, $comment, $privacyval, $work_time));
+    $dbh->do("UPDATE bugs SET delta_ts = ? WHERE bug_id = ?",
+             undef, $timestamp, $bugid);
+}
+
 sub EmitDependList {
     my ($myfield, $targetfield, $bug_id) = (@_);
     my $dbh = Bugzilla->dbh;
index 13542dcac514598d225cb36daa4769a5be500f20..b0a8feca80c5edda1f09a8b93407c02e8f9f620b 100644 (file)
@@ -109,35 +109,6 @@ $::SIG{PIPE} = 'IGNORE';
 #}
 #$::SIG{__DIE__} = \&die_with_dignity;
 
-sub AppendComment {
-    my ($bugid, $who, $comment, $isprivate, $timestamp, $work_time) = @_;
-    $work_time ||= 0;
-
-    if ($work_time) {
-        require Bugzilla::Bug;
-        Bugzilla::Bug::ValidateTime($work_time, "work_time");
-    }
-
-    # Use the date/time we were given if possible (allowing calling code
-    # to synchronize the comment's timestamp with those of other records).
-    $timestamp = ($timestamp ? SqlQuote($timestamp) : "NOW()");
-
-    $comment =~ s/\r\n/\n/g;     # Get rid of windows-style line endings.
-    $comment =~ s/\r/\n/g;       # Get rid of mac-style line endings.
-
-    if ($comment =~ /^\s*$/) {  # Nothin' but whitespace
-        return;
-    }
-
-    my $whoid = DBNameToIdAndCheck($who);
-    my $privacyval = $isprivate ? 1 : 0 ;
-    SendSQL("INSERT INTO longdescs (bug_id, who, bug_when, thetext, isprivate, work_time) " .
-        "VALUES($bugid, $whoid, $timestamp, " . SqlQuote($comment) . ", " . 
-        $privacyval . ", " . SqlQuote($work_time) . ")");
-
-    SendSQL("UPDATE bugs SET delta_ts = $timestamp WHERE bug_id = $bugid");
-}
-
 sub GetFieldID {
     my ($f) = (@_);
     SendSQL("SELECT fieldid FROM fielddefs WHERE name = " . SqlQuote($f));