recommend HTML::Mason
[freeside.git] / FS / bin / freeside-expiration-alerter
index ee3c1fb..691fd3a 100755 (executable)
@@ -80,22 +80,24 @@ $alerter->compile() or die "can't compile template:  Text::Template::ERROR";
 # Now I can start looping
 foreach my $customer (@customers)
 {
+  my $paydate = $customer->getfield('paydate');
+  next if $paydate =~ /^\s*$/; #skip empty expiration dates
+
   my $custnum = $customer->getfield('custnum');
   my $first = $customer->getfield('first');
   my $last = $customer->getfield('last');
   my $company = $customer->getfield('company');
   my $payby = $customer->getfield('payby');
   my $payinfo = $customer->getfield('payinfo');
-  my $paydate = $customer->getfield('paydate');
   my $daytime = $customer->getfield('daytime');
   my $night = $customer->getfield('night');
-       
+
   my ($payyear,$paymonth,$payday) = split (/-/,$paydate);
 
   my $expire_time = timelocal(0,0,0,$payday,--$paymonth,$payyear);
 
   #credit cards expire at the end of the month/year of their exp date
-  if ($payby eq 'CARD') {
+  if ($payby eq 'CARD' || $payby eq 'DCRD') {
     ($paymonth < 11) ? $paymonth++ : ($paymonth=0, $payyear++);
     $expire_time = timelocal(0,0,0,$payday,$paymonth,$payyear);
     $expire_time--;
@@ -125,7 +127,7 @@ foreach my $customer (@customers)
         $FS::alerter::_template::first = $first;
         $FS::alerter::_template::last = $last;
         $FS::alerter::_template::company = $company;
-        if ($payby eq 'CARD') {
+        if ($payby eq 'CARD' || $payby eq 'DCRD') {
           $FS::alerter::_template::payby = "credit card (" .
             substr($payinfo, 0, 2) . "xxxxxxxxxx" .
             substr($payinfo, -4) . ")";
@@ -200,7 +202,7 @@ user: From the mapsecrets file - see config.html from the base documentation
 
 =head1 VERSION
 
-$Id: freeside-expiration-alerter,v 1.3 2002-04-16 09:38:19 ivan Exp $
+$Id: freeside-expiration-alerter,v 1.5 2003-04-21 20:53:57 ivan Exp $
 
 =head1 BUGS