]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Fix for bug 154008: some basic (but incomplete) maintenance on bug_email.pl, also...
authorjustdave%syndicomm.com <>
Thu, 25 Jul 2002 08:47:50 +0000 (08:47 +0000)
committerjustdave%syndicomm.com <>
Thu, 25 Jul 2002 08:47:50 +0000 (08:47 +0000)
of a system() call.
Patches by Erik Anderson <erikba@teamworkgroup.com> and Brad Baetz <bbaetz@student.usyd.edu.au>
r= myk, justdave

contrib/bug_email.pl
contrib/bugzilla_email_append.pl

index da0f11308fb485cff60d13d3a8202da5070d2142..27b6098d0de77f800dc2ff1b875af480273e47ba 100755 (executable)
@@ -37,7 +37,7 @@
 #
 # You need to work with bug_email.pl the MIME::Parser installed.
 # 
-# $Id: bug_email.pl,v 1.9 2001/05/25 12:48:47 jake%acutex.net Exp $
+# $Id: bug_email.pl,v 1.9.10.1 2002/07/25 01:47:50 justdave%syndicomm.com Exp $
 ###############################################################
 
 # 02/12/2000 (SML)
@@ -70,7 +70,9 @@ use diagnostics;
 use strict;
 use MIME::Parser;
 
-push @INC, "../."; # this script now lives in contrib
+chdir '..';        # this script lives in contrib
+push @INC, "contrib/.";
+push @INC, ".";
 
 require "globals.pl";
 require "BugzillaEmail.pm";
@@ -736,10 +738,10 @@ my $parser = new MIME::Parser;
 
 # Create and set the output directory:
 # FIXME: There should be a $BUGZILLA_HOME variable (SML)
-(-d "../data/mimedump-tmp") or mkdir "../data/mimedump-tmp",0755 or die "mkdir: $!";
-(-w "../data/mimedump-tmp") or die "can't write to directory";
+(-d "data/mimedump-tmp") or mkdir "data/mimedump-tmp",0755 or die "mkdir: $!";
+(-w "data/mimedump-tmp") or die "can't write to directory";
 
-$parser->output_dir("../data/mimedump-tmp");
+$parser->output_dir("data/mimedump-tmp");
     
 # Read the MIME message:
 my $entity = $parser->read(\*STDIN) or die "couldn't parse MIME stream";
@@ -1230,11 +1232,17 @@ END
        SendSQL("select LAST_INSERT_ID()");
        $id = FetchOneColumn();
 
-       my $long_desc_query = "INSERT INTO longdescs SET bug_id=$id, who=$userid, bug_when=\'$bug_when\', thetext=" . SqlQuote($comment);
-       SendSQL($long_desc_query);
-
-       # Cool, the mail was successfull
-       system("cd .. ; ./processmail $id '$Sender'");
+        my $long_desc_query = "INSERT INTO longdescs SET bug_id=$id, who=$userid, bug_when=\'$bug_when\', thetext=" . SqlQuote($comment);
+        SendSQL($long_desc_query);
+
+        # Cool, the mail was successful
+        # chdir back to the main directory which has the processmail script
+        # Oh, for a processmail module....
+        use Cwd;
+        my $old_cwd = getcwd();
+        chdir("..");
+        system("./processmail", $id, $SenderShort);
+        chdir($old_cwd);
     } else {
        $id = 0xFFFF;  # TEST !
        print "\n-------------------------------------------------------------------------\n";
index b10d8e0308712efaca4f0c5e2fe966764984cec7..826b49198f2f3f68188a7c02e643ce1bc2f7e561 100755 (executable)
@@ -32,7 +32,9 @@ use diagnostics;
 use strict;
 use MIME::Parser;
 
-push @INC, "../."; # this script lives in contrib
+chdir "..";        # this script lives in contrib, change to main
+push @INC, "contrib";
+push @INC, "."; # this script lives in contrib
 require "globals.pl";
 require "BugzillaEmail.pm";
 
@@ -43,10 +45,10 @@ my $Comment = "";
 
 # Create and set the output directory:
 # FIXME: There should be a $BUGZILLA_HOME variable (SML)
-(-d "../data/mimedump-tmp") or mkdir "../data/mimedump-tmp",0755 or die "mkdir: $!";
-(-w "../data/mimedump-tmp") or die "can't write to directory";
+(-d "data/mimedump-tmp") or mkdir "data/mimedump-tmp",0755 or die "mkdir: $!";
+(-w "data/mimedump-tmp") or die "can't write to directory";
 
-$parser->output_dir("../data/mimedump-tmp");
+$parser->output_dir("data/mimedump-tmp");
     
 # Read the MIME message:
 my $entity = $parser->read(\*STDIN) or die "couldn't parse MIME stream";
@@ -120,6 +122,7 @@ system("cd .. ; ./processmail $found_id '$SenderShort'");
 sub DealWithError {
   my ($reason) = @_;
   print $reason . "\n";
+  exit 100;
 }
 
 # Yanking this wholesale from bug_email, 'cause I know this works.  I'll