]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/OStatus/scripts/resub-feed.php
Merge commit 'refs/merge-requests/30' of https://gitorious.org/social/mainline into...
[quix0rs-gnu-social.git] / plugins / OStatus / scripts / resub-feed.php
index 8803c0118b89ff20d12d27aac6af9b6203dfb8d3..3d13724f7db1336979a951e6f5616c8bae1dba9a 100644 (file)
 
 define('INSTALLDIR', realpath(dirname(__FILE__) . '/../../..'));
 
+$longoptions = array('unsub');
+$shortoptions = 'u';
+
 $helptext = <<<END_OF_HELP
 resub-feed.php [options] http://example.com/atom-feed-url
 Reinitialize the PuSH subscription for the given feed. This may help get
 things restarted if we and the hub have gotten our states out of sync.
 
+Options:
+
+   -u --unsub  Unsubscribe instead of subscribing.
 
 END_OF_HELP;
 
@@ -38,7 +44,7 @@ if (empty($args[0]) || !Validate::uri($args[0])) {
 $feedurl = $args[0];
 
 
-$sub = FeedSub::staticGet('uri', $feedurl);
+$sub = FeedSub::getKV('uri', $feedurl);
 if (!$sub) {
     print "Feed $feedurl is not subscribed.\n";
     exit(1);
@@ -47,17 +53,21 @@ if (!$sub) {
 print "Old state:\n";
 showSub($sub);
 
-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";
+try {
+    echo "\n";
+    if (have_option('u') || have_option('--unsub')) {
+        echo "Pinging hub {$sub->huburi} with unsubscription for {$sub->uri}\n";
+        $sub->unsubscribe();
+    } else {
+        echo "Pinging hub {$sub->huburi} with new subscription for {$sub->uri}\n";
+        $sub->subscribe();
+    }
+    echo "ok\n";
+} catch (Exception $e) {
+    echo 'Could not confirm. '.get_class($e).': '.$e->getMessage()."\n";
 }
 
-$sub2 = FeedSub::staticGet('uri', $feedurl);
+$sub2 = FeedSub::getKV('uri', $feedurl);
 
 print "\n";
 print "New state:\n";