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

View File

@ -44,6 +44,7 @@ function main()
initInbox(); initInbox();
fixupGroupURI(); fixupGroupURI();
initLocalGroup(); initLocalGroup();
initNoticeReshare();
} }
function tableDefs() function tableDefs()
@ -258,4 +259,28 @@ function initLocalGroup()
printfnq("DONE.\n"); 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(); main();