View | Details | Raw Unified | Return to bug 21214
Collapse All | Expand All

(-)a/misc/cronjobs/cleanup_database.pl (-19 / +18 lines)
Lines 289-299 say "Confirm flag not passed, running in dry-run mode..." unless $confirm; Link Here
289
289
290
cronlogaction({ info => $command_line_options });
290
cronlogaction({ info => $command_line_options });
291
291
292
if (!$mail && $letter_codes) {
293
    print "You should not specify --keep-lc if you're not cleaning emails.\n\n";
294
    usage(1);
295
}
296
297
my $dbh = C4::Context->dbh();
292
my $dbh = C4::Context->dbh();
298
my $sth;
293
my $sth;
299
my $sth2;
294
my $sth2;
Lines 348-368 if ($mail) { Link Here
348
    my $count = 0;
343
    my $count = 0;
349
    print "Mail queue purge triggered for $mail days.\n" if $verbose;
344
    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);
345
    print "Not deleting emails of type $letter_codes.\n" if ($verbose && $letter_codes);
351
    my (@codes, $quoted_codes);
346
    my $query = q{
347
                    DELETE FROM message_queue
348
                    WHERE time_queued < date_sub(curdate(), INTERVAL ? DAY)
349
                };
350
    my @bind_params = ($mail);
352
    if ($letter_codes) {
351
    if ($letter_codes) {
353
        $letter_codes =~ s/ //g;
352
        $letter_codes =~ s/ //g;
354
        @codes = map { "$_" } split(',', $letter_codes);
353
        my @codes = map { "$_" } split(',', $letter_codes);
355
        $quoted_codes = join ",", ("?") x @codes;
354
        $query .= " AND letter_code NOT IN ( ".(join ",", ("?") x @codes)." )";
356
    }
355
        push @bind_params, @codes;
357
356
    }
358
    $sth = $dbh->prepare("
357
    $sth = $dbh->prepare($query);
359
        DELETE FROM message_queue
358
    if ( $confirm ) {
360
        WHERE time_queued < date_sub(curdate(), INTERVAL ? DAY)
359
        $sth->execute(@bind_params) or die $dbh->errstr;
361
          AND letter_code NOT IN ( $quoted_codes )");
360
        $count = $sth->rows;
362
    $sth->execute($mail, @codes) or die $dbh->errstr;
361
    }
363
    $count = $sth->rows;
362
    if ( $verbose ) {
364
    $sth->finish;
363
        say $confirm ? "$count messages were deleted from the mail queue." : "Message from message_queue would have been deleted";
365
    print "$count messages were deleted from the mail queue.\nDone with message_queue purge.\n" if $verbose;
364
        say "Done with message_queue purge.";
365
    }
366
}
366
}
367
367
368
if ($purge_merged) {
368
if ($purge_merged) {
369
- 

Return to bug 21214