From aceaeb99e5fa451fcfb2ac444443f17c09a4908c Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Wed, 7 Apr 2010 11:40:16 -0700 Subject: [PATCH 1/1] fixup_blocks.php: finds any stray subscriptions in violation of blocks, and removes them. --- scripts/fixup_blocks.php | 76 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100755 scripts/fixup_blocks.php diff --git a/scripts/fixup_blocks.php b/scripts/fixup_blocks.php new file mode 100755 index 0000000000..6b0255e720 --- /dev/null +++ b/scripts/fixup_blocks.php @@ -0,0 +1,76 @@ +#!/usr/bin/env php +. + */ + +define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); + +$longoptions = array('dry-run', 'start=', 'end='); + +$helptext = <<query($query); + return $subscription; +} + + +$dry = have_option('dry-run'); +$sub = get_blocked_subs(); +$count = $sub->N; +while ($sub->fetch()) { + $subber = Profile::staticGet('id', $sub->subscriber); + $subbed = Profile::staticGet('id', $sub->subscribed); + if (!$subber || !$subbed) { + print "Bogus entry! $sub->subscriber subbed to $sub->subscribed\n"; + continue; + } + print "$subber->nickname ($subber->id) blocked but subbed to $subbed->nickname ($subbed->id)"; + if ($dry) { + print ": skipping; dry run\n"; + } else { + Subscription::cancel($subber, $subbed); + print ": removed\n"; + } +} +print "\n"; + +if ($dry && $count > 0) { + print "Be sure to run without --dry-run to remove the bad entries!\n"; +} else { + print "done.\n"; +} -- 2.39.2