4 use FS::UID qw( adminsuidsetup );
5 use FS::Record qw( qsearch dbh );
8 or die "Usage: cust_main.restore-paymask freeside_username\n";
10 foreach my $cust_main (
11 qsearch({ 'table' => 'cust_main',
12 'extra_sql' => q[WHERE payby IN ('CARD','DCRD') AND paymask IS NULL OR paymask = 'N/A (tokenized)'],
16 my $custnum = $cust_main->custnum;
18 my $paydate = $cust_main->paydate;
20 my $paymask = FS::Record->scalar_sql(qq[
21 SELECT paymask FROM h_cust_main WHERE custnum = $custnum AND history_action = 'replace_old' AND paymask IS NOT NULL AND paymask != 'N/A (tokenized)' AND paydate = '$paydate' ORDER BY historynum desc LIMIT 1
24 next unless length($paymask);
28 qq[UPDATE cust_main SET paymask = '$paymask' WHERE custnum = $custnum;]
32 #print "$custnum: $paymask\n";