Allow delete-inactive for gcfeeds

Garbage collecting should also allow to clean up leftover database entries.
This commit is contained in:
Mikael Nordfeldth 2015-02-04 16:48:12 +01:00
parent f0a707cfc6
commit f141565104
1 changed files with 15 additions and 0 deletions

View File

@ -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";