From dbaa93d1aa92561674a3071e6429b0f708a37cb4 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Mon, 5 Apr 2010 11:20:35 -0700 Subject: [PATCH] Clean up and clarify output on fix-shadow.php --- plugins/OStatus/scripts/fixup-shadow.php | 41 ++++++++++++++++++++---- 1 file changed, 34 insertions(+), 7 deletions(-) diff --git a/plugins/OStatus/scripts/fixup-shadow.php b/plugins/OStatus/scripts/fixup-shadow.php index ec014c7878..6522ca240a 100644 --- a/plugins/OStatus/scripts/fixup-shadow.php +++ b/plugins/OStatus/scripts/fixup-shadow.php @@ -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"; - - if ($dry) { - echo " (unchanged)\n"; + $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 = ''; + } + 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 = ''; + } + echo "user $id ($nick) hidden by $uri"; } else { - echo " removing bogus ostatus_profile entry..."; + echo "$uri matched query, but we don't recognize it.\n"; + continue; + } + + if ($dry) { + echo " - skipping\n"; + } else { + 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"; +}