diff options
author | terry%netscape.com <> | 1998-09-16 04:49:23 +0000 |
---|---|---|
committer | terry%netscape.com <> | 1998-09-16 04:49:23 +0000 |
commit | 4727e6c09f88e63f02e6c8f359862d0c0942ed36 (patch) | |
tree | 3dec365d9db2c17d4c4ab9eb5297650d09ab24ec /whineatnews.pl | |
parent | Added new "Layout" component to NGLayout. (diff) | |
download | bugzilla-4727e6c09f88e63f02e6c8f359862d0c0942ed36.tar.gz bugzilla-4727e6c09f88e63f02e6c8f359862d0c0942ed36.tar.bz2 bugzilla-4727e6c09f88e63f02e6c8f359862d0c0942ed36.zip |
Everything has been ported to now run under Perl.
Diffstat (limited to 'whineatnews.pl')
-rwxr-xr-x | whineatnews.pl | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/whineatnews.pl b/whineatnews.pl new file mode 100755 index 000000000..1f3d19cf6 --- /dev/null +++ b/whineatnews.pl @@ -0,0 +1,66 @@ +#!/usr/bonsaitools/bin/perl -w +# -*- Mode: perl; indent-tabs-mode: nil -*- +# +# The contents of this file are subject to the Mozilla Public License +# Version 1.0 (the "License"); you may not use this file except in +# compliance with the License. You may obtain a copy of the License at +# http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" +# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +# License for the specific language governing rights and limitations +# under the License. +# +# The Original Code is the Bugzilla Bug Tracking System. +# +# The Initial Developer of the Original Code is Netscape Communications +# Corporation. Portions created by Netscape are Copyright (C) 1998 +# Netscape Communications Corporation. All Rights Reserved. +# +# Contributor(s): Terry Weissman <terry@mozilla.org> + + +# 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 NEW that has not been touched for +# more than 7 days. + +use diagnostics; +use strict; + +require "globals.pl"; + +ConnectToDatabase(); + +SendSQL("select bug_id,login_name from bugs,profiles where " . + "bug_status = 'NEW' and to_days(now()) - to_days(delta_ts) > " . + Param('whinedays') . " and userid=assigned_to order by bug_id"); + +my %bugs; +my @row; + +while (@row = FetchSQLData()) { + my ($id, $email) = (@row); + if (!defined $bugs{$email}) { + $bugs{$email} = []; + } + push @{$bugs{$email}}, $id; +} + + +my $template = Param('whinemail'); +my $urlbase = Param('urlbase'); + +foreach my $email (sort (keys %bugs)) { + my %substs; + $substs{'email'} = $email; + my $msg = PerformSubsts($template, \%substs); + + foreach my $i (@{$bugs{$email}}) { + $msg .= " ${urlbase}show_bug.cgi?id=$i\n" + } + open(SENDMAIL, "|/usr/lib/sendmail -t") || die "Can't open sendmail"; + print SENDMAIL $msg; + close SENDMAIL; + print "$email " . join(" ", @{$bugs{$email}}) . "\n"; +} |