diff options
Diffstat (limited to 'whineatnews.pl')
-rwxr-xr-x | whineatnews.pl | 71 |
1 files changed, 36 insertions, 35 deletions
diff --git a/whineatnews.pl b/whineatnews.pl index 4812b4cfe..07a74a387 100755 --- a/whineatnews.pl +++ b/whineatnews.pl @@ -7,8 +7,8 @@ # defined by the Mozilla Public License, v. 2.0. -# This is a script suitable for running once a day from a cron job. It -# looks at all the bugs, and sends whiny mail to anyone who has a bug +# This is a script suitable for running once a day from a cron job. It +# looks at all the bugs, and sends whiny mail to anyone who has a bug # assigned to them that has status CONFIRMED, NEW, or REOPENED that has not # been touched for more than the number of days specified in the whinedays # param. (We have NEW and REOPENED in there to keep compatibility with old @@ -28,58 +28,59 @@ use Bugzilla::User; # Whining is disabled if whinedays is zero exit unless Bugzilla->params->{'whinedays'} >= 1; -my $dbh = Bugzilla->dbh; +my $dbh = Bugzilla->dbh; my $query = q{SELECT bug_id, short_desc, login_name FROM bugs INNER JOIN profiles ON userid = assigned_to WHERE bug_status IN (?,?,?) AND disable_mail = 0 - AND } . $dbh->sql_to_days('NOW()') . " - " . - $dbh->sql_to_days('delta_ts') . " > " . - Bugzilla->params->{'whinedays'} . - " ORDER BY bug_id"; + AND } + . $dbh->sql_to_days('NOW()') . " - " + . $dbh->sql_to_days('delta_ts') . " > " + . Bugzilla->params->{'whinedays'} + . " ORDER BY bug_id"; my %bugs; my %desc; -my $slt_bugs = $dbh->selectall_arrayref($query, undef, 'CONFIRMED', 'NEW', - 'REOPENED'); +my $slt_bugs + = $dbh->selectall_arrayref($query, undef, 'CONFIRMED', 'NEW', 'REOPENED'); foreach my $bug (@$slt_bugs) { - my ($id, $desc, $email) = @$bug; - if (!defined $bugs{$email}) { - $bugs{$email} = []; - } - if (!defined $desc{$email}) { - $desc{$email} = []; - } - push @{$bugs{$email}}, $id; - push @{$desc{$email}}, $desc; + my ($id, $desc, $email) = @$bug; + if (!defined $bugs{$email}) { + $bugs{$email} = []; + } + if (!defined $desc{$email}) { + $desc{$email} = []; + } + push @{$bugs{$email}}, $id; + push @{$desc{$email}}, $desc; } foreach my $email (sort (keys %bugs)) { - my $user = new Bugzilla::User({name => $email}); - next if $user->email_disabled; + my $user = new Bugzilla::User({name => $email}); + next if $user->email_disabled; - my $vars = {'email' => $email}; + my $vars = {'email' => $email}; - my @bugs = (); - foreach my $i (@{$bugs{$email}}) { - my $bug = {}; - $bug->{'summary'} = shift(@{$desc{$email}}); - $bug->{'id'} = $i; - push @bugs, $bug; - } - $vars->{'bugs'} = \@bugs; + my @bugs = (); + foreach my $i (@{$bugs{$email}}) { + my $bug = {}; + $bug->{'summary'} = shift(@{$desc{$email}}); + $bug->{'id'} = $i; + push @bugs, $bug; + } + $vars->{'bugs'} = \@bugs; - my $msg; - my $template = Bugzilla->template_inner($user->setting('lang')); - $template->process("email/whine.txt.tmpl", $vars, \$msg) - or die($template->error()); + my $msg; + my $template = Bugzilla->template_inner($user->setting('lang')); + $template->process("email/whine.txt.tmpl", $vars, \$msg) + or die($template->error()); - MessageToMTA($msg); + MessageToMTA($msg); - say "$email " . join(" ", @{$bugs{$email}}); + say "$email " . join(" ", @{$bugs{$email}}); } |