]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
initialize the local_group table
authorEvan Prodromou <evan@status.net>
Wed, 7 Sep 2011 22:27:20 +0000 (18:27 -0400)
committerEvan Prodromou <evan@status.net>
Wed, 7 Sep 2011 22:27:20 +0000 (18:27 -0400)
scripts/upgrade.php

index 3536eddb6322b69de57142401f35e3d789ebdd1b..759c2df58f2453408713dd7889976524b584fa2f 100644 (file)
@@ -41,8 +41,9 @@ function main()
     fixupNoticeRendered();
     fixupNoticeConversation();
     initConversation();
-    fixupGroupURI();
     initInbox();
+    fixupGroupURI();
+    initLocalGroup();
 }
 
 function tableDefs()
@@ -228,4 +229,33 @@ function initInbox()
     printfnq("DONE.\n");
 }
 
+function initLocalGroup()
+{
+    printfnq("Ensuring all local user groups have a local_group...");
+
+    $group = new User_group();
+    $group->whereAdd('NOT EXISTS (select group_id from local_group where group_id = user_group.id)');
+    $group->find();
+
+    while ($group->fetch()) {
+        try {
+            // Hack to check for local groups
+            if ($group->getUri() == common_local_url('groupbyid', array('id' => $group->id))) {
+                $lg = new Local_group();
+
+                $lg->group_id = $group->id;
+                $lg->nickname = $group->nickname;
+                $lg->created  = $group->created; // XXX: common_sql_now() ?
+                $lg->modified = $group->modified;
+
+                $lg->insert();
+            }
+        } catch (Exception $e) {
+            printfv("Error initializing local group for {$group->nickname}:" . $e->getMessage());
+        }
+    }
+
+    printfnq("DONE.\n");
+}
+
 main();