refactor for multi....

This commit is contained in:
Brion Vibber 2011-02-11 12:13:33 -08:00
parent f7b431d60b
commit f30744c7c5

View File

@ -31,21 +31,6 @@ END_OF_HELP;
require_once INSTALLDIR.'/scripts/commandline.inc'; require_once INSTALLDIR.'/scripts/commandline.inc';
if (empty($args[0]) || !Validate::uri($args[0])) {
print "$helptext";
exit(1);
}
$uri = $args[0];
$oprofile = Ostatus_profile::staticGet('uri', $uri);
if (!$oprofile) {
print "No OStatus remote profile known for URI $uri\n";
exit(1);
}
function showProfileInfo($oprofile) { function showProfileInfo($oprofile) {
if ($oprofile->isGroup()) { if ($oprofile->isGroup()) {
echo "group\n"; echo "group\n";
@ -58,32 +43,53 @@ function showProfileInfo($oprofile) {
echo "\n"; echo "\n";
} }
echo "Before:\n"; function fixProfile($uri) {
showProfileInfo($oprofile); $oprofile = Ostatus_profile::staticGet('uri', $uri);
$feedurl = $oprofile->feeduri; if (!$oprofile) {
$client = new HttpClient(); print "No OStatus remote profile known for URI $uri\n";
$response = $client->get($feedurl); return false;
if ($response->isOk()) { }
echo "Updating profile from feed: $feedurl\n";
$dom = new DOMDocument(); echo "Before:\n";
if ($dom->loadXML($response->getBody())) { showProfileInfo($oprofile);
$feed = $dom->documentElement;
$entries = $dom->getElementsByTagNameNS(Activity::ATOM, 'entry'); $feedurl = $oprofile->feeduri;
if ($entries->length) { $client = new HttpClient();
$entry = $entries->item(0); $response = $client->get($feedurl);
$activity = new Activity($entry, $feed); if ($response->isOk()) {
$oprofile->checkAuthorship($activity); echo "Updating profile from feed: $feedurl\n";
echo " (ok)\n"; $dom = new DOMDocument();
if ($dom->loadXML($response->getBody())) {
$feed = $dom->documentElement;
$entries = $dom->getElementsByTagNameNS(Activity::ATOM, 'entry');
if ($entries->length) {
$entry = $entries->item(0);
$activity = new Activity($entry, $feed);
$oprofile->checkAuthorship($activity);
echo " (ok)\n";
} else {
echo " (no entry; skipping)\n";
return false;
}
} else { } else {
echo " (no entry; skipping)\n"; echo " (bad feed; skipping)\n";
return false;
} }
} else { } else {
echo " (bad feed; skipping)\n"; echo "Failed feed fetch: {$response->getStatus()} for $feedurl\n";
return false;
} }
} else {
echo "Failed feed fetch: {$response->getStatus()} for $feedurl\n"; echo "After:\n";
showProfileInfo($oprofile);
return true;
} }
echo "After:\n"; if (empty($args[0]) || !Validate::uri($args[0])) {
showProfileInfo($oprofile); print "$helptext";
exit(1);
}
$uri = $args[0];
fixProfile($uri);