From e06202852a33a49f55178136d1b28b15a64db258 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Wed, 7 Sep 2011 18:34:31 -0400 Subject: [PATCH] Make sure reshare notices get the right object_type and verb --- scripts/upgrade.php | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/scripts/upgrade.php b/scripts/upgrade.php index 759c2df58f..af89760f70 100644 --- a/scripts/upgrade.php +++ b/scripts/upgrade.php @@ -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();