Fix for strip_geo's decaching; also added --all option to run over all notices by given profile to help in fixing up cache inconsistencies
This commit is contained in:
parent
4e3fad4f0d
commit
b47fc9c0bc
@ -21,7 +21,7 @@
|
|||||||
define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
|
define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
|
||||||
|
|
||||||
$shortoptions = 'i::n::y';
|
$shortoptions = 'i::n::y';
|
||||||
$longoptions = array('id=', 'nickname=', 'yes', 'dry-run');
|
$longoptions = array('id=', 'nickname=', 'yes', 'dry-run', 'all');
|
||||||
|
|
||||||
$helptext = <<<END_OF_HELP
|
$helptext = <<<END_OF_HELP
|
||||||
strip_geo.php [options]
|
strip_geo.php [options]
|
||||||
@ -31,6 +31,8 @@ Removes geolocation info from the given user's notices.
|
|||||||
-n --nickname nickname of the user
|
-n --nickname nickname of the user
|
||||||
-y --yes do not wait for confirmation
|
-y --yes do not wait for confirmation
|
||||||
--dry-run list affected notices without deleting
|
--dry-run list affected notices without deleting
|
||||||
|
--all run over and decache all messages, even if they don't
|
||||||
|
have geo data now (helps to fix cache bugs)
|
||||||
|
|
||||||
END_OF_HELP;
|
END_OF_HELP;
|
||||||
|
|
||||||
@ -67,10 +69,14 @@ if (!have_option('y', 'yes') && !have_option('--dry-run')) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// @fixme for a very prolific poster this could be too many.
|
// @fixme for a very prolific poster this could be too many.
|
||||||
print "Finding notices with geolocation data...";
|
|
||||||
$notice = new Notice();
|
$notice = new Notice();
|
||||||
$notice->profile_id = $profile->id;
|
$notice->profile_id = $profile->id;
|
||||||
$notice->whereAdd("lat != ''");
|
if (have_option('--all')) {
|
||||||
|
print "Finding all notices by $profile->nickname...";
|
||||||
|
} else {
|
||||||
|
print "Finding notices by $profile->nickname with geolocation data...";
|
||||||
|
$notice->whereAdd("lat != ''");
|
||||||
|
}
|
||||||
$notice->find();
|
$notice->find();
|
||||||
|
|
||||||
if ($notice->N) {
|
if ($notice->N) {
|
||||||
@ -101,10 +107,10 @@ if ($notice->N) {
|
|||||||
$ok = $update->query($query);
|
$ok = $update->query($query);
|
||||||
if ($ok) {
|
if ($ok) {
|
||||||
// And now we decache him manually, as query() doesn't know what we're doing...
|
// And now we decache him manually, as query() doesn't know what we're doing...
|
||||||
$orig->blow();
|
$orig->decache();
|
||||||
echo "(removed)";
|
echo "(removed)";
|
||||||
} else {
|
} else {
|
||||||
echo "(failed?)";
|
echo "(unchanged?)";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
print "\n";
|
print "\n";
|
||||||
|
Loading…
Reference in New Issue
Block a user