]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/OStatus/scripts/resub-feed.php
Merge remote-tracking branch 'upstream/master' into social-master
[quix0rs-gnu-social.git] / plugins / OStatus / scripts / resub-feed.php
old mode 100644 (file)
new mode 100755 (executable)
index 121d121..efad67d
 
 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;
 
-require_once INSTALLDIR.'/scripts/commandline.inc';
+require_once INSTALLDIR.'/scripts/commandline.inc.php';
+
+$validate = new Validate();
 
-if (empty($args[0]) || !Validate::uri($args[0])) {
+if (empty($args[0]) || !$validate->uri($args[0])) {
     print "$helptext";
     exit(1);
 }
@@ -38,7 +46,7 @@ if (empty($args[0]) || !Validate::uri($args[0])) {
 $feedurl = $args[0];
 
 
-$sub = FeedSub::staticGet('topic', $feedurl);
+$sub = FeedSub::getKV('uri', $feedurl);
 if (!$sub) {
     print "Feed $feedurl is not subscribed.\n";
     exit(1);
@@ -47,17 +55,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('topic', $feedurl);
+$sub2 = FeedSub::getKV('uri', $feedurl);
 
 print "\n";
 print "New state:\n";