]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Clean up and clarify output on fix-shadow.php
authorBrion Vibber <brion@pobox.com>
Mon, 5 Apr 2010 18:20:35 +0000 (11:20 -0700)
committerBrion Vibber <brion@pobox.com>
Mon, 5 Apr 2010 18:20:35 +0000 (11:20 -0700)
plugins/OStatus/scripts/fixup-shadow.php

index ec014c7878b5acaceae36b0610a0259128aaa13e..6522ca240ab1be1057d70342828257dbd5864716 100644 (file)
@@ -50,20 +50,47 @@ $encGroup = str_replace($marker, '%', $encGroup);
 $sql = "SELECT * FROM ostatus_profile WHERE uri LIKE '%s' OR uri LIKE '%s'";
 $oprofile->query(sprintf($sql, $encProfile, $encGroup));
 
-echo "Found $oprofile->N bogus ostatus_profile entries for local users and groups:\n";
+$count = $oprofile->N;
+echo "Found $count bogus ostatus_profile entries shadowing local users and groups:\n";
 
 while ($oprofile->fetch()) {
-    echo "$oprofile->uri";
-
+    $uri = $oprofile->uri;
+    if (preg_match('!/group/(\d+)/id!', $oprofile->uri, $matches)) {
+        $id = intval($matches[1]);
+        $group = Local_group::staticGet('group_id', $id);
+        if ($group) {
+            $nick = $group->nickname;
+        } else {
+            $nick = '<deleted>';
+        }
+        echo "group $id ($nick) hidden by $uri";
+    } else if (preg_match('!/user/(\d+)!', $uri, $matches)) {
+        $id = intval($matches[1]);
+        $user = User::staticGet('id', $id);
+        if ($user) {
+            $nick = $user->nickname;
+        } else {
+            $nick = '<deleted>';
+        }
+        echo "user $id ($nick) hidden by $uri";
+    } else {
+        echo "$uri matched query, but we don't recognize it.\n";
+        continue;
+    }
+    
     if ($dry) {
-        echo " (unchanged)\n";
+        echo " - skipping\n";
     } else {
-        echo " removing bogus ostatus_profile entry...";
+        echo " removing bogus ostatus_profile entry...";
         $evil = clone($oprofile);
         $evil->delete();
         echo "  ok\n";
     }
 }
 
-echo "done.\n";
+if ($count && $dry) {
+    echo "NO CHANGES MADE -- To delete the bogus entries, run again without --dry-run option.\n";
+} else {
+    echo "done.\n";
+}