diff options
author | terry%mozilla.org <> | 1999-05-13 00:20:39 +0000 |
---|---|---|
committer | terry%mozilla.org <> | 1999-05-13 00:20:39 +0000 |
commit | b76a02502d1e3abf05d8aef379d14ac259619526 (patch) | |
tree | ded9fe568e1c16f142b1c1b9c0fbd5ef0f1d5ae1 /processmail | |
parent | 47e7a341fd69d3d26d48d4e33d09c6e8ecbbc6c2 (diff) | |
download | bugs-b76a02502d1e3abf05d8aef379d14ac259619526.tar bugs-b76a02502d1e3abf05d8aef379d14ac259619526.tar.gz bugs-b76a02502d1e3abf05d8aef379d14ac259619526.tar.bz2 bugs-b76a02502d1e3abf05d8aef379d14ac259619526.tar.xz bugs-b76a02502d1e3abf05d8aef379d14ac259619526.zip |
Added user preference controlling how much email they get.
Diffstat (limited to 'processmail')
-rwxr-xr-x | processmail | 32 |
1 files changed, 26 insertions, 6 deletions
diff --git a/processmail b/processmail index 48eba9193..b5852bbb8 100755 --- a/processmail +++ b/processmail @@ -178,13 +178,29 @@ $::bug{'long_desc'} } - +my $didexclude = 0; sub fixaddresses { - my ($list) = (@_); + my ($field, $list) = (@_); my @result; my %seen; foreach my $i (@$list) { - if ($i ne $nametoexclude && $i ne "" && !defined $::nomail{$i} && !defined $seen{$i}) { + if ($i eq "") { + next; + } + SendSQL("select emailnotification from profiles where login_name = " . + SqlQuote($i)); + my $emailnotification = FetchOneColumn(); + if ($emailnotification eq "CConly") { + if ($field ne "cc") { + next; + } + } + if ($emailnotification eq "ExcludeSelfChanges" && $i eq $nametoexclude) { + $didexclude = 1; + next; + } + + if (!defined $::nomail{$i} && !defined $seen{$i}) { push @result, $i; $seen{$i} = 1; } @@ -224,9 +240,10 @@ sub ProcessOneBug { close FID; if (Different($old, $new)) { system("diff -c -b $old $new > $diffs"); - my $tolist = fixaddresses([$::bug{'assigned_to'}, $::bug{'reporter'}, + my $tolist = fixaddresses("to", + [$::bug{'assigned_to'}, $::bug{'reporter'}, $::bug{'qa_contact'}]); - my $cclist = fixaddresses($::bug{'cclist'}); + my $cclist = fixaddresses("cc", $::bug{'cclist'}); my $logstr = "Bug $i $verb"; if ($tolist ne "" || $cclist ne "") { my %substs; @@ -251,7 +268,10 @@ sub ProcessOneBug { print SENDMAIL $msg; close SENDMAIL; $logstr = "$logstr; mail sent to $tolist, $cclist"; - print "<B>Email sent to:</B> $tolist $cclist <B>Excluding:</B> $nametoexclude\n"; + print "<B>Email sent to:</B> $tolist $cclist\n"; + if ($didexclude) { + print "<B>Excluding:</B> $nametoexclude (<a href=changepassword.cgi>change your preferences</a> if you wish not to be excluded)\n"; + } } } unlink($diffs); |