|
Lines 26-31
use constant DEFAULT_LOGS_PURGEDAYS => 180;
Link Here
|
| 26 |
use constant DEFAULT_SEARCHHISTORY_PURGEDAYS => 30; |
26 |
use constant DEFAULT_SEARCHHISTORY_PURGEDAYS => 30; |
| 27 |
use constant DEFAULT_SHARE_INVITATION_EXPIRY_DAYS => 14; |
27 |
use constant DEFAULT_SHARE_INVITATION_EXPIRY_DAYS => 14; |
| 28 |
use constant DEFAULT_DEBARMENTS_PURGEDAYS => 30; |
28 |
use constant DEFAULT_DEBARMENTS_PURGEDAYS => 30; |
|
|
29 |
use constant DEFAULT_HOLIDAYS_PURGEDAYS => 30; |
| 29 |
|
30 |
|
| 30 |
BEGIN { |
31 |
BEGIN { |
| 31 |
# find Koha's Perl modules |
32 |
# find Koha's Perl modules |
|
Lines 69-82
Usage: $0 [-h|--help] [--sessions] [--sessdays DAYS] [-v|--verbose] [--zebraqueu
Link Here
|
| 69 |
days. Defaults to 14 days if no days specified. |
70 |
days. Defaults to 14 days if no days specified. |
| 70 |
--restrictions DAYS purge patrons restrictions expired since more than DAYS days. |
71 |
--restrictions DAYS purge patrons restrictions expired since more than DAYS days. |
| 71 |
Defaults to 30 days if no days specified. |
72 |
Defaults to 30 days if no days specified. |
|
|
73 |
--holidays=DAYS purge special holidays that passed more then DAYS days ago. |
| 74 |
Defaults to 30 days of no days specified. |
| 72 |
USAGE |
75 |
USAGE |
| 73 |
exit $_[0]; |
76 |
exit $_[0]; |
| 74 |
} |
77 |
} |
| 75 |
|
78 |
|
| 76 |
my ( |
79 |
my ( |
| 77 |
$help, $sessions, $sess_days, $verbose, $zebraqueue_days, |
80 |
$help, $sessions, $sess_days, $verbose, $zebraqueue_days, |
| 78 |
$mail, $purge_merged, $pImport, $pLogs, $pSearchhistory, |
81 |
$mail, $purge_merged, $pImport, $pLogs, $pSearchhistory, |
| 79 |
$pZ3950, $pListShareInvites, $pDebarments, |
82 |
$pZ3950, $pListShareInvites, $pDebarments, $pHolidays, |
| 80 |
); |
83 |
); |
| 81 |
|
84 |
|
| 82 |
GetOptions( |
85 |
GetOptions( |
|
Lines 93-98
GetOptions(
Link Here
|
| 93 |
'searchhistory:i' => \$pSearchhistory, |
96 |
'searchhistory:i' => \$pSearchhistory, |
| 94 |
'list-invites:i' => \$pListShareInvites, |
97 |
'list-invites:i' => \$pListShareInvites, |
| 95 |
'restrictions:i' => \$pDebarments, |
98 |
'restrictions:i' => \$pDebarments, |
|
|
99 |
'holidays:i' => \$pHolidays |
| 96 |
) || usage(1); |
100 |
) || usage(1); |
| 97 |
|
101 |
|
| 98 |
# Use default values |
102 |
# Use default values |
|
Lines 104-109
$mail = DEFAULT_MAIL_PURGEDAYS if defined($mail)
Link Here
|
| 104 |
$pSearchhistory = DEFAULT_SEARCHHISTORY_PURGEDAYS if defined($pSearchhistory) && $pSearchhistory == 0; |
108 |
$pSearchhistory = DEFAULT_SEARCHHISTORY_PURGEDAYS if defined($pSearchhistory) && $pSearchhistory == 0; |
| 105 |
$pListShareInvites = DEFAULT_SHARE_INVITATION_EXPIRY_DAYS if defined($pListShareInvites) && $pListShareInvites == 0; |
109 |
$pListShareInvites = DEFAULT_SHARE_INVITATION_EXPIRY_DAYS if defined($pListShareInvites) && $pListShareInvites == 0; |
| 106 |
$pDebarments = DEFAULT_DEBARMENTS_PURGEDAYS if defined($pDebarments) && $pDebarments == 0; |
110 |
$pDebarments = DEFAULT_DEBARMENTS_PURGEDAYS if defined($pDebarments) && $pDebarments == 0; |
|
|
111 |
$pHolidays = DEFAULT_HOLIDAYS_PURGEDAYS if defined($pHolidays) && $pHolidays == 0; |
| 107 |
|
112 |
|
| 108 |
if ($help) { |
113 |
if ($help) { |
| 109 |
usage(0); |
114 |
usage(0); |
|
Lines 118-124
unless ( $sessions
Link Here
|
| 118 |
|| $pSearchhistory |
123 |
|| $pSearchhistory |
| 119 |
|| $pZ3950 |
124 |
|| $pZ3950 |
| 120 |
|| $pListShareInvites |
125 |
|| $pListShareInvites |
| 121 |
|| $pDebarments ) |
126 |
|| $pDebarments |
|
|
127 |
|| $pHolidays ) |
| 122 |
{ |
128 |
{ |
| 123 |
print "You did not specify any cleanup work for the script to do.\n\n"; |
129 |
print "You did not specify any cleanup work for the script to do.\n\n"; |
| 124 |
usage(1); |
130 |
usage(1); |
|
Lines 238-243
if ($pDebarments) {
Link Here
|
| 238 |
print "$count restrictions were deleted.\nDone with restrictions purge.\n" if $verbose; |
244 |
print "$count restrictions were deleted.\nDone with restrictions purge.\n" if $verbose; |
| 239 |
} |
245 |
} |
| 240 |
|
246 |
|
|
|
247 |
if ($pHolidays) { |
| 248 |
print "Passed special holidays purge triggered for $pHolidays days.\n" if $verbose; |
| 249 |
PurgeHolidays(); |
| 250 |
print "Done with holidays purge.\n" if $verbose; |
| 251 |
} |
| 252 |
|
| 241 |
exit(0); |
253 |
exit(0); |
| 242 |
|
254 |
|
| 243 |
sub RemoveOldSessions { |
255 |
sub RemoveOldSessions { |
|
Lines 324-326
sub PurgeDebarments {
Link Here
|
| 324 |
} |
336 |
} |
| 325 |
return $count; |
337 |
return $count; |
| 326 |
} |
338 |
} |
| 327 |
- |
339 |
|
|
|
340 |
sub PurgeHolidays { |
| 341 |
$sth = $dbh->prepare( |
| 342 |
q{ |
| 343 |
DELETE FROM special_holidays |
| 344 |
WHERE DATE( CONCAT( year, '-', month, '-', day ) ) < DATE_SUB( CURDATE(), INTERVAL ? DAY ) |
| 345 |
} |
| 346 |
); |
| 347 |
$sth->execute( $pHolidays ) or die $dbh->errstr; |
| 348 |
} |