X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=scripts%2Fupgrade.php;h=ec859e8f43e4c4eb033e305763ebff3c181e7b8b;hb=1111187d845ecd34eba1c03473f6adbc08f6ca15;hp=c6f4ade6b66ef661c289d85591a8440ec88045c4;hpb=fb4b004435403dd0d4126a0c11c9fa5c557e9dba;p=quix0rs-gnu-social.git diff --git a/scripts/upgrade.php b/scripts/upgrade.php index c6f4ade6b6..ec859e8f43 100644 --- a/scripts/upgrade.php +++ b/scripts/upgrade.php @@ -34,6 +34,8 @@ require_once INSTALLDIR.'/scripts/commandline.inc.php'; function main() { if (Event::handle('StartUpgrade')) { + fixupConversationURIs(); + updateSchemaCore(); updateSchemaPlugins(); @@ -199,6 +201,29 @@ function initConversation() printfnq("DONE.\n"); } +function fixupConversationURIs() +{ + printfnq("Ensuring all conversations have a URI..."); + + $conv = new Conversation(); + $conv->whereAdd('uri IS NULL'); + + if ($conv->find()) { + $rounds = 0; + while ($conv->fetch()) { + $uri = common_local_url('conversation', array('id' => $conv->id)); + $sql = sprintf('UPDATE conversation SET uri="%1$s" WHERE id="%2$d";', + $conv->escape($uri), $conv->id); + $conv->query($sql); + if (($conv->N-++$rounds) % 500 == 0) { + printfnq(sprintf(' %d items left...', $conv->N-$rounds)); + } + } + } + + printfnq("DONE.\n"); +} + function initGroupProfileId() { printfnq("Ensuring all User_group entries have a Profile and profile_id...");