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

(-)a/misc/cronjobs/cleanup_database.pl (-19 / +37 lines)
Lines 78-84 Usage: $0 [-h|--help] [--sessions] [--sessdays DAYS] [-v|--verbose] [--zebraqueu Link Here
78
                         Defaults to 30 days if no days specified.
78
                         Defaults to 30 days if no days specified.
79
    --all-restrictions   purge all expired patrons restrictions.
79
    --all-restrictions   purge all expired patrons restrictions.
80
   --del-exp-selfreg  Delete expired self registration accounts
80
   --del-exp-selfreg  Delete expired self registration accounts
81
   --del-unv-selfreg DAYS  Delete unverified self registrations older than DAYS
81
   --del-unv-selfreg  DAYS  Delete unverified self registrations older than DAYS
82
   --unique-holidays DAYS  Delete all unique holidays older than DAYS
82
USAGE
83
USAGE
83
    exit $_[0];
84
    exit $_[0];
84
}
85
}
Lines 100-124 my $allDebarments; Link Here
100
my $pExpSelfReg;
101
my $pExpSelfReg;
101
my $pUnvSelfReg;
102
my $pUnvSelfReg;
102
my $fees_days;
103
my $fees_days;
104
my $special_holidays_days;
103
105
104
GetOptions(
106
GetOptions(
105
    'h|help'          => \$help,
107
    'h|help'            => \$help,
106
    'sessions'        => \$sessions,
108
    'sessions'          => \$sessions,
107
    'sessdays:i'      => \$sess_days,
109
    'sessdays:i'        => \$sess_days,
108
    'v|verbose'       => \$verbose,
110
    'v|verbose'         => \$verbose,
109
    'm|mail:i'        => \$mail,
111
    'm|mail:i'          => \$mail,
110
    'zebraqueue:i'    => \$zebraqueue_days,
112
    'zebraqueue:i'      => \$zebraqueue_days,
111
    'merged'          => \$purge_merged,
113
    'merged'            => \$purge_merged,
112
    'import:i'        => \$pImport,
114
    'import:i'          => \$pImport,
113
    'z3950'           => \$pZ3950,
115
    'z3950'             => \$pZ3950,
114
    'logs:i'          => \$pLogs,
116
    'logs:i'            => \$pLogs,
115
    'fees:i'          => \$fees_days,
117
    'fees:i'            => \$fees_days,
116
    'searchhistory:i' => \$pSearchhistory,
118
    'searchhistory:i'   => \$pSearchhistory,
117
    'list-invites:i'  => \$pListShareInvites,
119
    'list-invites:i'    => \$pListShareInvites,
118
    'restrictions:i'  => \$pDebarments,
120
    'restrictions:i'    => \$pDebarments,
119
    'all-restrictions' => \$allDebarments,
121
    'all-restrictions'  => \$allDebarments,
120
    'del-exp-selfreg' => \$pExpSelfReg,
122
    'del-exp-selfreg'   => \$pExpSelfReg,
121
    'del-unv-selfreg' => \$pUnvSelfReg,
123
    'del-unv-selfreg'   => \$pUnvSelfReg,
124
    'unique-holidays:i' => \$special_holidays_days,
122
) || usage(1);
125
) || usage(1);
123
126
124
# Use default values
127
# Use default values
Lines 149-154 unless ( $sessions Link Here
149
    || $allDebarments
152
    || $allDebarments
150
    || $pExpSelfReg
153
    || $pExpSelfReg
151
    || $pUnvSelfReg
154
    || $pUnvSelfReg
155
    || $special_holidays_days
152
) {
156
) {
153
    print "You did not specify any cleanup work for the script to do.\n\n";
157
    print "You did not specify any cleanup work for the script to do.\n\n";
154
    usage(1);
158
    usage(1);
Lines 294-299 if( $pUnvSelfReg ) { Link Here
294
    DeleteUnverifiedSelfRegs( $pUnvSelfReg );
298
    DeleteUnverifiedSelfRegs( $pUnvSelfReg );
295
}
299
}
296
300
301
if ($special_holidays_days) {
302
    DeleteSpecialHolidays($special_holidays_days);
303
}
304
297
exit(0);
305
exit(0);
298
306
299
sub RemoveOldSessions {
307
sub RemoveOldSessions {
Lines 391-393 sub DeleteUnverifiedSelfRegs { Link Here
391
    my $cnt= C4::Members::DeleteUnverifiedOpacRegistrations( $_[0] );
399
    my $cnt= C4::Members::DeleteUnverifiedOpacRegistrations( $_[0] );
392
    print "Removed $cnt unverified self-registrations\n" if $verbose;
400
    print "Removed $cnt unverified self-registrations\n" if $verbose;
393
}
401
}
394
- 
402
403
sub DeleteSpecialHolidays {
404
    my ( $days ) = @_;
405
406
    my $sth = $dbh->prepare(q{
407
        DELETE FROM special_holidays
408
        WHERE DATE( CONCAT( year, '-', month, '-', day ) ) < DATE_SUB( CAST(NOW() AS DATE), INTERVAL ? DAY );
409
    });
410
    my $count = $sth->execute( $days ) + 0;
411
    print "Removed $count unqiue holidays\n" if $verbose;
412
}

Return to bug 16672