|
Lines 348-365
if ($mail) {
Link Here
|
| 348 |
my $count = 0; |
348 |
my $count = 0; |
| 349 |
print "Mail queue purge triggered for $mail days.\n" if $verbose; |
349 |
print "Mail queue purge triggered for $mail days.\n" if $verbose; |
| 350 |
print "Not deleting emails of type $letter_codes.\n" if ($verbose && $letter_codes); |
350 |
print "Not deleting emails of type $letter_codes.\n" if ($verbose && $letter_codes); |
| 351 |
my $query = q{ |
351 |
my (@codes, $quoted_codes); |
| 352 |
DELETE FROM message_queue |
|
|
| 353 |
WHERE time_queued < date_sub(curdate(), INTERVAL ? DAY) |
| 354 |
AND letter_code NOT IN ( ? ) |
| 355 |
}; |
| 356 |
my $quoted_codes = ''; |
| 357 |
if ($letter_codes) { |
352 |
if ($letter_codes) { |
| 358 |
my @codes = map { "'$_'" } split(',', $letter_codes); |
353 |
$letter_codes =~ s/ //g; |
| 359 |
my $quoted_codes = join(',', @codes); |
354 |
@codes = map { "$_" } split(',', $letter_codes); |
|
|
355 |
$quoted_codes = join ",", ("?") x @codes; |
| 360 |
} |
356 |
} |
| 361 |
$sth = $dbh->prepare($query); |
357 |
|
| 362 |
$sth->execute($mail, $quoted_codes) or die $dbh->errstr; |
358 |
$sth = $dbh->prepare(" |
|
|
359 |
DELETE FROM message_queue |
| 360 |
WHERE time_queued < date_sub(curdate(), INTERVAL ? DAY) |
| 361 |
AND letter_code NOT IN ( $quoted_codes )"); |
| 362 |
$sth->execute($mail, @codes) or die $dbh->errstr; |
| 363 |
$count = $sth->rows; |
363 |
$count = $sth->rows; |
| 364 |
$sth->finish; |
364 |
$sth->finish; |
| 365 |
print "$count messages were deleted from the mail queue.\nDone with message_queue purge.\n" if $verbose; |
365 |
print "$count messages were deleted from the mail queue.\nDone with message_queue purge.\n" if $verbose; |
| 366 |
- |
|
|