From: Evan Prodromou Date: Wed, 7 Sep 2011 22:34:31 +0000 (-0400) Subject: Make sure reshare notices get the right object_type and verb X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=e06202852a33a49f55178136d1b28b15a64db258;p=quix0rs-gnu-social.git Make sure reshare notices get the right object_type and verb --- 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();