Make sure reshare notices get the right object_type and verb

This commit is contained in:
Evan Prodromou 2011-09-07 18:34:31 -04:00
parent f77c850b80
commit e06202852a
1 changed files with 25 additions and 0 deletions

View File

@ -44,6 +44,7 @@ function main()
initInbox();
fixupGroupURI();
initLocalGroup();
initNoticeReshare();
}
function tableDefs()
@ -258,4 +259,28 @@ function initLocalGroup()
printfnq("DONE.\n");
}
function initNoticeReshare()
{
printfnq("Ensuring all reshares have the correct verb and object-type...");
$notice = new Notice();
$notice->whereAdd('repeat_of is not null');
$notice->whereAdd('(verb != "'.ActivityVerb::SHARE.'" OR object_type != "'.ActivityObject::ACTIVITY.'")');
if ($notice->find()) {
while ($notice->fetch()) {
try {
$orig = Notice::staticGet('id', $notice->id);
$notice->verb = ActivityVerb::SHARE;
$notice->object_type = ActivityObject::ACTIVITY;
$notice->update($orig);
} catch (Exception $e) {
printfv("Error updating verb and object_type for {$notice->id}:" . $e->getMessage());
}
}
}
printfnq("DONE.\n");
}
main();