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