#!/usr/bin/env php . */ define('INSTALLDIR', realpath(dirname(__FILE__) . '/../../..')); $helptext = <<uri\n"; showProfile($oprofile); print "\n"; print "Re-running feed discovery for profile URL $oprofile->uri\n"; // @fixme will bork where the URI isn't the profile URL for now $discover = new FeedDiscovery(); $feedurl = $discover->discoverFromURL($oprofile->uri); $huburi = $discover->getHubLink(); $salmonuri = $discover->getAtomLink(Salmon::NS_REPLIES); print " Feed URL: $feedurl\n"; print " Hub URL: $huburi\n"; print " Salmon URL: $salmonuri\n"; if ($feedurl != $oprofile->feeduri || $salmonuri != $oprofile->salmonuri) { print "\n"; print "Updating...\n"; // @fixme update keys :P #$orig = clone($oprofile); #$oprofile->feeduri = $feedurl; #$oprofile->salmonuri = $salmonuri; #$ok = $oprofile->update($orig); $ok = $oprofile->query('UPDATE ostatus_profile SET ' . 'feeduri=\'' . $oprofile->escape($feedurl) . '\',' . 'salmonuri=\'' . $oprofile->escape($salmonuri) . '\' ' . 'WHERE uri=\'' . $oprofile->escape($uri) . '\''); if (!$ok) { print "Failed to update profile record...\n"; exit(1); } $oprofile->decache(); } else { print "\n"; print "Ok, ostatus_profile record unchanged.\n\n"; } $sub = FeedSub::ensureFeed($feedurl); if ($huburi != $sub->huburi) { print "\n"; print "Updating hub record for feed; was $sub->huburi\n"; $orig = clone($sub); $sub->huburi = $huburi; $ok = $sub->update($orig); if (!$ok) { print "Failed to update sub record...\n"; exit(1); } } else { print "\n"; print "Feed record ok, not changing.\n\n"; } print "\n"; print "Pinging hub $sub->huburi with new subscription for $sub->uri\n"; $ok = $sub->subscribe(); if ($ok) { print "ok\n"; } else { print "Could not confirm.\n"; } $o2 = Ostatus_profile::staticGet('uri', $uri); print "\n"; print "New profile state:\n"; showProfile($o2); print "\n"; print "New feed state:\n"; $sub2 = FeedSub::ensureFeed($feedurl); showSub($sub2); function showProfile($oprofile) { print " Feed URL: $oprofile->feeduri\n"; print " Salmon URL: $oprofile->salmonuri\n"; print " Avatar URL: $oprofile->avatar\n"; print " Profile ID: $oprofile->profile_id\n"; print " Group ID: $oprofile->group_id\n"; print " Record created: $oprofile->created\n"; print " Record modified: $oprofile->modified\n"; } function showSub($sub) { print " Subscription state: $sub->sub_state\n"; print " Verify token: $sub->verify_token\n"; print " Signature secret: $sub->secret\n"; print " Sub start date: $sub->sub_start\n"; print " Record created: $sub->created\n"; print " Record modified: $sub->modified\n"; }