From: Brion Vibber Date: Wed, 7 Apr 2010 18:40:16 +0000 (-0700) Subject: fixup_blocks.php: finds any stray subscriptions in violation of blocks, and removes... X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=aceaeb99e5fa451fcfb2ac444443f17c09a4908c;p=quix0rs-gnu-social.git fixup_blocks.php: finds any stray subscriptions in violation of blocks, and removes them. --- 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"; +}