Allow delete-inactive for gcfeeds
Garbage collecting should also allow to clean up leftover database entries.
This commit is contained in:
parent
f0a707cfc6
commit
f141565104
@ -20,20 +20,33 @@
|
||||
|
||||
define('INSTALLDIR', realpath(dirname(__FILE__) . '/../../..'));
|
||||
|
||||
$longoptions = array('delete-inactive');
|
||||
$shortoptions = 'd';
|
||||
|
||||
$helptext = <<<END_OF_HELP
|
||||
gcfeeds.php [options]
|
||||
Clean up feeds that no longer have subscribers.
|
||||
|
||||
-d --delete-inactive Delete inactive feeds from feedsub table.
|
||||
|
||||
END_OF_HELP;
|
||||
|
||||
require_once INSTALLDIR.'/scripts/commandline.inc';
|
||||
|
||||
$delete_inactive = have_option('d', 'delete-inactive');
|
||||
$delcount = 0;
|
||||
|
||||
$feedsub = new FeedSub();
|
||||
$feedsub->find();
|
||||
while ($feedsub->fetch()) {
|
||||
try {
|
||||
echo $feedsub->getUri() . " ({$feedsub->sub_state})";
|
||||
if ($feedsub->garbageCollect()) {
|
||||
if ($delete_inactive) {
|
||||
$delcount++;
|
||||
$feedsub->delete();
|
||||
echo " DELETED";
|
||||
}
|
||||
echo " INACTIVE\n";
|
||||
} else {
|
||||
echo " ACTIVE\n";
|
||||
@ -51,3 +64,5 @@ while ($feedsub->fetch()) {
|
||||
echo " ERROR: {$e->getMessage()}\n";
|
||||
}
|
||||
}
|
||||
|
||||
if ($delete_inactive) echo "\nDeleted $delcount inactive feeds.\n";
|
||||
|
Loading…
Reference in New Issue
Block a user